@@ -1,4 +1,4 @@
# scrcpy (v1.4 )
# scrcpy (v1.5 )
This application provides display and control of Android devices connected on
USB (or [over TCP/IP][article-tcpip]). It does not require any _root_ access.
@@ -42,13 +42,13 @@ For Gentoo, an [Ebuild] is available: [`scrcpy/`][ebuild-link].
For Windows, for simplicity, prebuilt archives with all the dependencies
(including `adb` ) are available:
- [`scrcpy-win32-v1.4 .zip` ][direct-win32]
_(SHA-256: 1f72fa520980727e8943b7214b64c66b00b9b5267f7cffefb64fa37c3ca803c f)_
- [`scrcpy-win64-v1.4 .zip` ][direct-win64]
_(SHA-256: 382f02bd8ed3db2cc7ab15aabdb83674744993b936d602b01e6959a150584a79 )_
- [`scrcpy-win32-v1.5 .zip` ][direct-win32]
_(SHA-256: 9118d74655a3e2daf9c1db37caf578f0b5239ccb078dbcbdb451e8a0becfe19 f)_
- [`scrcpy-win64-v1.5 .zip` ][direct-win64]
_(SHA-256: fcaf7d596e8829cbcc119d67ec055eef2ee14ee204f28b33b7794f225ce16463 )_
[direct-win32]: https://github.com/Genymobile/scrcpy/releases/download/v1.4 /scrcpy-win32-v1.4 .zip
[direct-win64]: https://github.com/Genymobile/scrcpy/releases/download/v1.4 /scrcpy-win64-v1.4 .zip
[direct-win32]: https://github.com/Genymobile/scrcpy/releases/download/v1.5 /scrcpy-win32-v1.5 .zip
[direct-win64]: https://github.com/Genymobile/scrcpy/releases/download/v1.5 /scrcpy-win64-v1.5 .zip
You can also [build the app manually][BUILD].
@@ -86,43 +86,141 @@ It accepts command-line arguments, listed by:
scrcpy --help
```
For example, to decrease video bitrate to 2Mbps (default is 8Mbps):
## Features
### Reduce size
Sometimes, it is useful to mirror an Android device at a lower definition to
increase performances.
To limit both width and height to some value (e.g. 1024):
```bash
scrcpy -b 2M
scrcpy --max-size 1024
scrcpy -m 1024 # short version
```
To limit the video dimensions (e.g. if the device is 2540× 1440, but the host
screen is smaller, or cannot decode such a high definition):
The other dimension is computed to that the device aspect-ratio is preserved.
That way, a device in 1920× 1080 will be mirrored at 1024× 576.
### Change bit-rate
The default bit-rate is 8Mbps. To change the video bitrate (e.g. to 2Mbps):
```bash
scrcpy -m 1024
scrcpy --bit-rate 2M
scrcpy -b 2M # short version
```
The device screen may be cropped to mirror only part of the screen:
### Crop
The device screen may be cropped to mirror only part of the screen.
This is useful for example to mirror only 1 eye of the Oculus Go:
```bash
scrcpy -c 1224:1440:0:0 # 1224x1440 at offset (0,0)
scrcpy --crop 1224:1440:0:0 # 1224x1440 at offset (0,0)
scrcpy -c 1224:1440:0:0 # short version
```
If `--max-size` is also specified, resizing is applied after cropping.
### Wireless
_Scrcpy_ uses `adb` to communicate with the device, and `adb` can [connect] to a
device over TCP/IP:
1. Connect the device to the same Wi-Fi as your computer.
2. Get your device IP address (in Settings → About phone → Status).
3. Enable adb over TCP/IP on your device: `adb tcpip 5555` .
4. Unplug your device.
5. Connect to your device: `adb connect DEVICE_IP:5555` _(replace `DEVICE_IP` )_.
6. Run `scrcpy` as usual.
It may be useful to decrease the bit-rate and the definition:
```bash
scrcpy --bit-rate 2M --max-size 800
scrcpy -b2M -m800 # short version
```
[connect]: https://developer.android.com/studio/command-line/adb.html#wireless
### Record screen
It is possible to record the screen while mirroring:
```bash
scrcpy --record file.mp4
scrcpy -r file.mp4
```
"Skipped frames" are recorded, even if they are not displayed in real time (for
performance reasons). Frames are _timestamped_ on the device, so [packet delay
variation] does not impact the recorded file.
[packet delay variation]: https://en.wikipedia.org/wiki/Packet_delay_variation
### Multi-devices
If several devices are listed in `adb devices` , you must specify the _serial_ :
```bash
scrcpy -s 0123456789abcdef
scrcpy --serial 0123456789abcdef
scrcpy -s 0123456789abcdef # short version
```
To show physical touches while scrcpy is running:
You can start several instances of _scrcpy_ for several devices.
```bash
scrcpy -t
```
### Fullscreen
The app may be started directly in fullscreen:
```bash
scrcpy --fullscreen
scrcpy -f # short version
```
scrcpy -f
Fullscreen can then be toggled dynamically with `Ctrl` +`f` .
### Show touches
For presentations, it may be useful to show physical touches (on the physical
device).
Android provides this feature in _Developers options_ .
_Scrcpy_ provides an option to enable this feature on start and disable on exit:
```bash
scrcpy --show-touches
scrcpy -t
```
Note that it only shows _physical_ touches (with the finger on the device).
### Forward audio
Audio is not forwarded by _scrcpy_ .
There is a limited solution using [AOA], implemented in the [`audio` ] branch. If
you are interested, see [issue 14].
[AOA]: https://source.android.com/devices/accessories/aoa2
[`audio` ]: https://github.com/Genymobile/scrcpy/commits/audio
[issue 14]: https://github.com/Genymobile/scrcpy/issues/14
## Shortcuts
| Action | Shortcut |