# scrcpy — Display and Control Android Devices from Your Desktop > scrcpy mirrors Android device screens on your computer over USB or Wi-Fi with minimal latency and no root required. It supports audio forwarding, recording, copy-paste, and camera mirroring. ## Install Save as a script file and run: # scrcpy — Display and Control Android Devices from Your Desktop ## Quick Use ```bash # Install on Linux apt install scrcpy # Install on macOS brew install scrcpy # Mirror your device (USB connected, USB debugging enabled) scrcpy # Mirror over Wi-Fi (after initial USB setup) adb tcpip 5555 adb connect DEVICE_IP:5555 scrcpy ``` ## Introduction scrcpy (short for "screen copy") lets you display and control Android devices connected via USB or over TCP/IP from a desktop computer. It works on Linux, Windows, and macOS without requiring root access on the device, making it a go-to tool for Android developers testing apps or anyone who wants to operate their phone from a larger screen. ## What scrcpy Does - Mirrors the Android device screen in real time with low latency (typically 35-70 ms) - Supports mouse and keyboard input to control the device remotely - Forwards audio from the device to the computer (Android 11+) - Records the device screen to MP4 or MKV files - Mirrors the device camera as a webcam feed on the desktop ## Architecture Overview scrcpy consists of a lightweight server component (a Java application pushed to the device via adb at runtime) and a native client built on SDL2 and FFmpeg. The server captures the device screen using the Android MediaCodec API, encodes it to H.264 or H.265, and streams the frames over a socket connection. The client decodes and renders the video with minimal buffering. Control events (touch, keyboard, clipboard) are sent back over a separate socket. No installation or configuration is needed on the Android side beyond enabling USB debugging. ## Self-Hosting & Configuration - Enable USB debugging in Android Developer Options before first use - Install via package managers: apt, brew, choco, or scoop depending on OS - Configure resolution with `--max-size 1024` to reduce bandwidth on slower connections - Set bit rate with `--video-bit-rate 2M` for constrained networks - Use `--no-audio` to disable audio forwarding when only the display is needed ## Key Features - Zero installation on the device — the server binary is pushed and cleaned up automatically - Works over USB and Wi-Fi with the same command-line interface - Copy-paste synchronization between computer and device clipboards - OTG mode for physical keyboard/mouse passthrough without mirroring - Supports multiple devices simultaneously with `--serial` selection ## Comparison with Similar Tools - **Vysor** — freemium Chrome-based mirroring with lower quality on the free tier; scrcpy is fully open source with no watermarks - **AirDroid** — cloud-dependent with account registration; scrcpy works locally with no internet required - **Samsung DeX** — limited to Samsung devices and requires a compatible monitor; scrcpy supports any Android device - **QtScrcpy** — GUI wrapper around scrcpy with added features like key mapping for gaming ## FAQ **Q: Does scrcpy require root access on the Android device?** A: No. It only requires USB debugging to be enabled in Developer Options. **Q: Can I use scrcpy wirelessly without ever connecting a USB cable?** A: You need an initial USB connection to configure `adb tcpip`, or you can pair wirelessly on Android 11+ using `adb pair`. **Q: Does scrcpy work with iOS devices?** A: No. scrcpy is designed exclusively for Android devices using the ADB protocol. **Q: What is the typical latency?** A: Over USB, latency is around 35-70 ms depending on device and encoding settings. Wi-Fi adds some overhead depending on network quality. ## Sources - https://github.com/Genymobile/scrcpy - https://github.com/Genymobile/scrcpy/blob/master/doc/video.md --- Source: https://tokrepo.com/en/workflows/asset-b4a1a332 Author: Script Depot