scrcpy: A Lightweight Open-Source Android Screen Mirroring Tool
Screen mirroring an Android device to a computer is a common need, but seamless integration is often limited to same-brand ecosystems (e.g., Huawei, Honor, Apple). For cross-brand setups, many third-party tools are either paid or bloated—until you discover scrcpy.
scrcpy Overview
GitHub Repository: https://github.com/Genymobile/scrcpy
Derived from "screen copy", scrcpy is a portmanteau that encapsulates its core functionality. It enables mirroring Android devices via USB or TCP/IP, supports video and audio transmission, and lets you control the device using your computer’s keyboard and mouse. No root access is required, and it works seamlessly across Linux, Windows, and macOS operating systems.
Key Features
- Lightweight: Runs locally, with no extra frills beyond displaying the device screen.
- High Performance: 30–120 frames per second, depending on the device’s hardware capabilities.
- Superior Quality: Supports resolutions up to 1920×1080 or higher.
- Low Latency: Just 35–70 milliseconds for near real-time interaction.
- Blazing Fast Startup: Renders the first frame in approximately 1 second.
- Non-Intrusive: Leaves no residual installations or files on the Android device.
- User-Centric: No account registration, ads, or internet connection required.
- Free and Open Source: Released under an open-source license for full transparency and customization.
Using scrcpy
Download the latest version from the project’s GitHub releases page. The Windows build is a mere 5.6MB, making it extreme lightweight.
Wired Screen Mirroring
- Connect your Android device to your computer using a USB cable. Verify the connection with the
adbtool (included in the scrcpy package):
Sample output:adb devices -lList of devices attached XYZ123456789 device product:XYZ-ABC model:XYZ_ABC device:XYZ transport_id:2 - Launch the mirroring sesssion by running:
Sample output:scrcpyscrcpy 2.4 <https://github.com/Genymobile/scrcpy> INFO: ADB device found: ...
scrcpy supports advanced command-line parameters for customized workflows:
- Record your device’s camera feed (with audio) in H.265 codec at 1920×1080 resolution to an MP4 file:
scrcpy --video-source=camera --video-codec=h265 --camera-size=1920x1080 --record=cam_recording.mp4 - Control your Android device using your computer’s keyboard and mouse without screen mirroring (no USB debugging required):
scrcpy --otg
Wireless Screen Mirroring
For cable-free mirroring, use TCP/IP to connect your devicee:
- Keep your Android device connected via USB initially.
- Retrieve your device’s IP address using:
Sample output (look for theadb shell ifconfig wlan0inet addrfield):wlan0 Link encap:UNSPEC inet addr:192.168.1.105 <- Device IP Address - Switch your device to TCP/IP mode with port 5555:
Successful output:adb tcpip 5555restarting in TCP mode port: 5555 - Unplug the USB cable from your device.
- Establish a wireless connection to your device:
Sample confirmation:adb connect 192.168.1.105:5555connected to 192.168.1.105:5555 - Start the wireless mirroring session with:
Sample output indicating wireless connection:scrcpyscrcpy 2.4 <https://github.com/Genymobile/scrcpy> INFO: ADB device found: INFO: --> (tcpip) 192.168.1.105:5555 <-- Wireless Mirroring Active