scrcpy Guide: Wireless Setup, Reconnection & Audio
Mirror your Android screen or play only your phone’s audio on your laptop over Wi-Fi.
Click a section below to expand its steps.
Before starting: Install scrcpy and ADB, connect both devices to the same Wi-Fi, and open a terminal in the scrcpy folder. On Windows, use Command Prompt; in PowerShell, prefix local commands with ./.
Replace PHONE_IP, CONNECTION_PORT, and PAIRING_PORT with your phone’s current values. Settings names can vary by phone.
1. Method 1: No USB Cable (Android 11+)
-
Open Settings → About Phone and tap Build Number 7 times to enable Developer Options.
-
Open Developer Options → Wireless Debugging and turn it on.
-
Select Pair device with pairing code.
-
Run this using the IP and pairing port shown, then enter the pairing code:
adb pair PHONE_IP:PAIRING_PORT -
Return to the main Wireless Debugging screen. Use its connection port, which is different from the pairing port:
adb connect PHONE_IP:CONNECTION_PORT scrcpy -s PHONE_IP:CONNECTION_PORT
2. Method 2: Start with USB
For phones supported by scrcpy, including older Android versions:
-
Enable USB Debugging in Developer Options.
-
Connect your phone by USB and accept the debugging permission on your phone.
-
Run:
scrcpy --tcpip -
Once mirroring starts over Wi-Fi, unplug the USB cable.
3. Reconnect After a Disconnection
First, connect your phone and PC to the same Wi-Fi again.
If You Used Wireless Debugging (Android 11+)
-
Open Developer Options → Wireless Debugging and make sure it is on.
-
Check the current IP address and connection port on its main screen.
-
Run:
adb connect PHONE_IP:CONNECTION_PORT scrcpy -s PHONE_IP:CONNECTION_PORT
You usually do not need to pair again. If your PC is no longer paired, repeat Method 1. The connection port may change; do not use the pairing port.
If You Started with USB
While network debugging is still active, run:
scrcpy --tcpip=PHONE_IP
If your phone restarted or network debugging stopped, reconnect the USB cable and run:
scrcpy --tcpip
Once wireless mirroring starts, unplug the cable. Check the phone's current IP if reconnecting fails.
4. Fix: Multiple ADB Devices
If scrcpy reports Multiple ADB devices, it sees more than one connection and needs you to select one. The same phone can appear multiple times.
In your error message, ADB listed these three connections:
| Connection | Status |
|---|---|
192.168.18.243:45229 | Old connection — offline |
192.168.18.243:45877 | Active connection |
adb-..._adb-tls-connect._tcp | Active, automatically discovered connection |
Select the Active Connection
For the active IP connection in this example, run:
scrcpy -s 192.168.18.243:45877
The -s option tells scrcpy exactly which connection to use.
Remove the Old Connection
adb disconnect 192.168.18.243:45229
Removing the offline entry may still leave two active entries. Keep using -s to select the connection you want.
Why it happens: Wireless Debugging may use a new port after reconnecting while ADB still remembers an old connection. Automatic discovery can also list the same phone under another address.
For Future Reconnects
Use the current IP and connection port from the main Wireless Debugging screen:
adb connect PHONE_IP:CONNECTION_PORT
scrcpy -s PHONE_IP:CONNECTION_PORT
To check the connections ADB currently lists:
adb devices
The IP addresses and ports above are from your earlier error. They may change.
5. Reduce Lag
scrcpy -s PHONE_IP:CONNECTION_PORT --video-bit-rate=4M --max-size=1024
This sets the video bitrate to 4 Mbps and limits the longest screen dimension to 1024 pixels. It may reduce lag; smoothness depends on your network. Use a strong 5 GHz Wi-Fi connection when available.
6. Audio Only: Normal Connection
Requires Android 11 or newer. Connect your phone using one of the methods above, then run:
scrcpy -s PHONE_IP:CONNECTION_PORT --no-video --no-control
--no-videodisables screen streaming.--no-controldisables controlling your phone from the laptop.- Sound plays through your laptop. By default, playback on the phone is disabled.
- On Android 11, unlock your phone before starting.
- Press Ctrl + C in the terminal to stop.
7. Audio Only: Weak Wi-Fi Connection
Lower the bitrate to reduce bandwidth use. Increase the buffer to help with brief interruptions.
Try this first:
scrcpy -s PHONE_IP:CONNECTION_PORT --no-video --no-control --audio-codec=opus --audio-bit-rate=64K --audio-buffer=200
| Setting | Meaning |
|---|---|
--audio-codec=opus | Uses the Opus audio codec. |
--audio-bit-rate=64K | Uses 64 kbps instead of the default 128 kbps, with some quality loss. |
--audio-buffer=200 | Targets a 200 ms buffer to smooth interruptions, but adds delay. |
If audio still breaks up, try:
scrcpy -s PHONE_IP:CONNECTION_PORT --no-video --no-control --audio-codec=opus --audio-bit-rate=32K --audio-buffer=300
Trade-off: Lower bitrate reduces sound quality. A larger buffer adds delay. It cannot fix a disconnected or consistently unusable Wi-Fi connection.
Reference: Official scrcpy audio documentation