...

SCRCPY

Android emulation on any device – fast, easy, reliable.

About SCRCPY

With the robust, open-source SCRCPY application, you can mirror and manage Android devices on your PC. SCRCPY simplifies connecting your Android device over a network (TCP/IP) or USB when using Windows, macOS, or Linux. It offers a smooth experience without requiring root access.

Key Features:

  1. Mirroring and Control: Use the keyboard and mouse on your computer to view and manage your Android device in real time.
  2. Outstanding Performance: Provides low-latency, high-resolution display mirroring to guarantee seamless interaction.
  3. Screen Recording: Easily record your Android device’s screen from your computer.
  4. Audio Support: Send sound alongside video for a fully immersive experience.
  5. Clipboard Sharing: Transfer text between your Android device and PC using the shared clipboard.

Extra Features:

  1. No Root Required: Works natively without requiring any modifications to your Android device.
  2. Cross-Platform: Compatible with Linux, macOS, and Windows.
  3. OTG Support: Advanced users can enable OTG mode to simulate physical keyboard and mouse inputs.
  4. Use as Webcam: On Linux, your Android device can be used as a webcam.

Install SCRCPY

Installation Guide for SCRCPY on Windows.

Download SCRCPY:

  1. Download the file scrcpy-win64-vX.X.zip (X.X represents the version number).

Extract the archive:

  1. Once the download is complete, open the zip file.
  2. Extract the contents to a convenient location on your computer.

Launch the executable file:

  1. Navigate to the folder where you extracted the files.
  2. Find scrcpy.exe and double-click it to launch the application.

Connect your Android device:

  1. Use a USB cable to connect your Android device to your PC.
  2. Ensure that USB debugging is enabled on your device (Developer Options > USB Debugging).

Launch SCRCPY:

  1. Once connected, scrcpy.exe will launch and automatically mirror your Android screen on your PC.
  2. You can control your Android device using the keyboard and mouse.

Installation Guide for SCRCPY on Linux

  1. Install dependencies:

    • Open a terminal and install the necessary dependencies by running:
      sudo apt install scrcpy
    • For other Linux distributions, refer to the official installation instructions on the GitHub page.
  2. Launch SCRCPY:

    • After the installation is complete, launch SCRCPY by simply typing scrcpy in the terminal.
  3. Connect your Android device:

    • Connect your Android device to your computer using a USB cable.
    • Ensure that USB debugging is enabled (Developer Options > USB Debugging).
  4. Start using SCRCPY:

    • SCRCPY will automatically mirror your Android screen and allow you to control the device via the terminal.

Installation Guide for SCRCPY on macOS

  1. Install via Homebrew:

    • If you use Homebrew, open the terminal and install SCRCPY by running:
      brew install scrcpy
  2. Launch SCRCPY:

    • After installation, type scrcpy in the terminal to launch the application.
  3. Connect your Android device:

    • Use a USB cable to connect your Android device to your Mac.
    • Ensure that USB debugging is enabled (Developer Options > USB Debugging).
  4. Start using SCRCPY:

    • Once you run SCRCPY, it will automatically display your Android screen on your Mac, and you can control it with the keyboard and mouse.

Additional Features SCRCPY

  1. Wireless Connection:

    • You can connect your Android device to SCRCPY wirelessly via TCP/IP. Follow these steps:
      1. Connect your Android device and PC to the same Wi-Fi network.
      2. Enable ADB over Wi-Fi using the following command in the terminal (replace DEVICE_IP with your Android device’s IP address):
        adb tcpip 5555
        adb connect DEVICE_IP:5555
        scrcpy
    • This allows you to control your Android device without a USB cable.
  2. Screen Recording:

    • SCRCPY allows you to record your Android device’s screen. To do this, use the following command:
      scrcpy --record file.mp4
    • The recorded video will be saved in the current directory.
  3. Adjust Resolution and Bitrate:

    • If you need to reduce the load on the system or save bandwidth, you can decrease the resolution and bitrate. For example:
      scrcpy --max-size 1024 --bit-rate 2M
    • This reduces the resolution to 1024 pixels wide and sets the bitrate to 2 Mbps, which can be useful for weaker connections.
  4. Copy and Paste Text:

    • SCRCPY supports text transfer between your computer and Android device via the clipboard, making it easier to work with text across devices.
  5. Window Scaling and Customization:

    • If you need to adjust the size of the SCRCPY window, you can launch it with a custom scale:
      scrcpy --window-title "My Device" --window-borderless
    • This will add a custom window title and remove the borders, which can be useful for presentations.

These additional features expand the capabilities of SCRCPY, making it more flexible for various use cases.

SCRCPY FAQ

1. How do I connect my device wirelessly?

  • To connect via Wi-Fi, follow these steps:
    1. Make sure both your device and computer are on the same Wi-Fi network.
    2. Enable ADB over Wi-Fi by running the following command in the terminal:
      adb tcpip 5555
      adb connect DEVICE_IP:5555
      scrcpy
    3. SCRCPY will automatically mirror your device’s screen to your computer.

2. Why isn’t my device being recognized?

  • Ensure that USB debugging is enabled on your Android device. You can find this option in the Developer Options menu.
  • Check if the cable is functioning correctly and properly connected to the USB port.
  • Try restarting ADB using these commands:
    adb kill-server
    adb start-server

3. How can I reduce latency when mirroring the screen?

  • You can reduce the resolution or bitrate to lower the latency:
    scrcpy --max-size 1024 --bit-rate 2M
  • This will reduce the system load and improve responsiveness.

4. How do I record the screen?

  • SCRCPY allows you to record your device’s screen directly to your computer. Use the following command:
    scrcpy --record file.mp4
  • The video will be recorded in the specified format and saved in the current directory.

5. Which operating systems are supported?

  • SCRCPY is supported on Windows, macOS, and Linux. Installation methods vary depending on the operating system, but the functionality remains consistent across all platforms.

6. Can I use SCRCPY without a USB cable?

  • Yes, you can. Use a TCP/IP (Wi-Fi) connection. Detailed instructions can be found above in this section.

Releases (Chenge log)

To receive a notification on new releases, click on Watch > Custom > Releases on the top.


scrcpy v2.6.1

Changes since v2.6:

  • Inject finger input whenever possible (#5162#5163)

Highlights

See v2.6 release notes.

Some changes in scrcpy 2.6 caused issues with mouse events in some applications.
This hotfix version fixes them (773c23f).

Sorry for the inconvenience.


scrcpy v2.6

Changes since v2.5:

  • Add audio playback capture method (#4380#5102)
  • Add audio duplication feature (#3875#4380#5102)
  • Add mouse secondary bindings with Shift+click (#5055#5076)
  • Rework mouse events (#5067#5076)
  • Fix “turn screen off” for Honor devices (#4823#4943#5109)
  • Add clipboard workaround for Honor devices (#4822#5073)
  • Always apply device workarounds (#4922#5140#5148#5154)
  • Fix missing initialization (#5057#5058)
  • Do not report error on device disconnected (#5044)
  • Upgrade SDL to 2.30.5 in Windows releases
  • Various technical fixes

Highlights

Audio mirroring

Audio forwarding was introduced in scrcpy 2.0. Until now, when audio was captured by scrcpy, it was necessarily disabled on the device.

This release introduces a new audio capture method, which (optionally) supports audio duplication, to keep playing audio on the device. It is exposed as an alternative audio source named playback (in addition to output, the default, and mic).

scrcpy --audio-source=playback               # do not play on the device
scrcpy --audio-source=playback --audio-dup   # keep playing on the device
 

For convenience, --audio-dup automatically selects the playback audio source. Therefore, to mirror audio rather than forward, this is sufficient:

scrcpy --audio-dup
 

However, this playback capture has some drawbacks:

  • it requires Android 13 (rather than Android 11),
  • Android apps can opt-out, in which case they are not captured.

See documentation#4380#5102.

Secondary mouse bindings

By default, with SDK mouse:

  • right-click triggers BACK (or POWER on)
  • middle-click triggers HOME
  • the 4th click triggers APP_SWITCH
  • the 5th click expands the notification panel

It was also possible to forward the clicks to the device instead, by using the --mouse-bind=xxxx option introduced in the previous version (2.5). But that way, we had to choose at startup whether a button triggered a shortcut or a click.

This release introduces a new set of secondary bindings via Shift+click, so that both are possible at runtime.

By default, a simple (secondary) click triggers the shortcuts, and Shift+click forwards the click to the device.

In AOA and UHID mouse modes, the default bindings are reversed: all clicks are forwarded by default, and pressing Shift gives access to the shortcuts (since the cursor is handled on the device side, it makes more sense to forward all mouse buttons by default in these modes).

All these mouse bindings can be configured, check the documentation.

See #5076.


scrcpy v2.5

Changes since v2.4:

  • Add scrcpy window without video playback (#4727#4793#4868)
  • Add a shortcut to pause/unpause display (#1632#4748)
  • Forward mouse hover events (#2743#3070#5039)
  • Add option to configure mouse bindings (#5022)
  • Forward all clicks by default for UHID/AOA (#5022)
  • Simplify shortcut modifiers (#4741)
  • Fix rotation shortcut for Android 14 (#4740#4841)
  • Fix YUV conversion for full color range (#4756)
  • Fix camera sizes listing on some devices (#4852)
  • Fix thread leak on Windows (#4973)
  • Upgrade FFmpeg to 7.0.1 in Windows releases
  • Upgrade SDL to 2.30.4 in Windows releases
  • Upgrade platform-tools (adb) to 35.0.0 in Windows releases
  • Various technical fixes

Highlights

Control-only

By default, scrcpy now always opens a window (unless --no-window is passed), even without video stream (#4868).

In particular, this gives the possibility to solely control the device without screen mirroring:

scrcpy --no-video --no-audio

In that case, UHID mouse mode is used by default. It works both over USB and wirelessly.

This is different from OTG mode, which does not require USB debugging at all. Here, the standard mode is used but with the possibility to disable video playback.

Pause/unpause display

New shortcuts allow to pause (MOD+z) and unpause MOD+Shift+z the display (#4748).

It only impacts rendering, the device is still captured, the video stream transmitted to the device, and recorded if recording is enabled.

This can be useful for example during a presentation, to temporarily move to a different app on the device without showing the content.

Mouse hover

Initially, mouse motion (hover) events were not forwarded to the device when no mouse button was pressed. The reason was that at the time (6 years ago), these events had absolutely no impact on the devices I tested.

But on newer Android versions and newer apps, mouse hover events trigger animations and highlight items. So this new release forwards hover events, with a new option --no-mouse-hover to disable them.

Mouse bindings

By default, mouse secondary clicks triggers shortcuts:

  • right click: BACK
  • middle click: HOME
  • 4th click: APP_SWITCH
  • 5th click: expand notification panel

An option --forward-all-clicks had been added some time ago to forward all clicks to the device instead.

This release replaces --forward-all-clicks by a more flexible option --mouse-bind=xxxx. The argument must be exactly 4 characters, one for each secondary click:

--mouse-bind=xxxx
             ^^^^
             ||||
             ||| `- 5th click
             || `-- 4th click
             | `--- middle click
              `---- right click
 

Each character must be one of the following:

  • +: forward the click to the device
  • -: ignore the click
  • b: trigger shortcut BACK (or turn screen on if off)
  • h: trigger shortcut HOME
  • s: trigger shortcut APP_SWITCH
  • n: trigger shortcut “expand notification panel”

For example:

scrcpy --mouse-bind=bhsn  # the default mode
scrcpy --mouse-bind=++++  # forward all clicks (default for AOA/UHID)
scrcpy --mouse-bind=++bh  # forward right and middle clicks, # use 4th and 5th for BACK and HOME
 

With UHID and AOA mouse modes (when the mouse cursor appears on the device), all clicks are now forwarded by default (but the behavior can be changed using --mouse-bind).


Scroll to Top