Genymobile/scrcpy

▲ 586 stars today★ 149,643⑂ 13,738

Display and control your Android device

149,643Star
13,738Fork
1,402Watch
2,898Issue
CLanguage
Apache-2.0License
Created 2017-11-21 · last push 2026-09-14 · repository size 9014 KB · default branch master

README

[!WARNING]
This GitHub repo () is the only official
source for the project. Do not download releases from random websites, even if their name contains scrcpy.

scrcpy (v4.1)

https://github.com/Genymobile/scrcpy/blob/HEAD/scrcpy

_pronounced "screen copy"_

This application mirrors Android devices (video and audio) connected via USB or TCP/IP and allows control using the computer's keyboard and mouse. It does not require _root_ access or an app installed on the device. It works on _Linux_, _Windows_, and _macOS_.

Linux  Windows  macOS 

screenshot

It focuses on:

[lowlatency]: https://github.com/Genymobile/scrcpy/pull/646

Its features include:

[hid-keyboard]: doc/keyboard.md#physical-keyboard-simulation [hid-mouse]: doc/mouse.md#physical-mouse-simulation

Prerequisites

The Android device requires at least API 21 (Android 5.0).

Audio forwarding is supported for API >= 30 (Android 11+).

Make sure you [enabled USB debugging][enable-adb] on your device(s).

[enable-adb]: https://developer.android.com/studio/debug/dev-options#enable

On some devices (especially Xiaomi), you might get the following error:

Injecting input events requires the caller (or the source of the instrumentation, if any) to have the INJECT_EVENTS permission.

In that case, you need to enable [an additional option][control] `USB debugging (Security Settings) (this is an item different from USB debugging`) to control it using a keyboard and mouse. Rebooting the device is necessary once this option is set.

[control]: https://github.com/Genymobile/scrcpy/issues/70#issuecomment-373286323

Note that USB debugging is not required to run scrcpy in OTG mode.

Get the app

Must-know tips

(scrcpy -m1024)

Usage examples

There are a lot of options, documented in separate pages. Here are just some common examples.

the frame rate to 60fps, disable audio, and control the device by simulating a physical keyboard:

    scrcpy --video-codec=h265 --max-size=1920 --max-fps=60 --no-audio --keyboard=uhid
    scrcpy --video-codec=h265 -m1920 --max-fps=60 --no-audio -K  # short version
    
    scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc
    
while keeping the display active so it does not turn off:
    scrcpy --new-display -x --keep-active --start-app=org.videolan.vlc --video-codec=h265 -b16M
    
file:
    scrcpy --video-source=camera --video-codec=h265 --camera-size=1920x1080 --record=file.mp4
    
Linux):
    scrcpy --video-source=camera --camera-size=1920x1080 --camera-facing=front --v4l2-sink=/dev/video2 --no-playback
    
mouse (USB debugging not required):
    scrcpy --otg
    
    scrcpy --gamepad=uhid
    scrcpy -G  # short version
    

User documentation

The application provides a lot of features and configuration options. They are documented in the following pages:

Resources

[wiki]: https://github.com/Genymobile/scrcpy/wiki

Articles

[article-intro]: https://blog.rom1v.com/2018/03/introducing-scrcpy/ [article-tcpip]: https://www.genymotion.com/blog/open-source-project-scrcpy-now-works-wirelessly/ [article-scrcpy2]: https://blog.rom1v.com/2023/03/scrcpy-2-0-with-audio/

Contact

You can open an [issue] for bug reports, feature requests or general questions.

For bug reports, please read the FAQ first, you might find a solution to your problem immediately.

[issue]: https://github.com/Genymobile/scrcpy/issues

You can also use:

Donate

I'm @rom1v, the author and maintainer of _scrcpy_.

If you appreciate this application, you can [support my open source work][donate]:

[donate]: https://blog.rom1v.com/about/#support-my-open-source-work

License

Copyright (C) 2018 Genymobile Copyright (C) 2018-2026 Romain Vimont

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

More Video Trending projects

1

harry0703 / MoneyPrinterTurbo

Python★ 123,776⑂ 0
2

obsproject / obs-studio

C★ 76,223⑂ 0
3

FFmpeg / FFmpeg

C★ 64,235⑂ 0
4

calesthio / OpenMontage

Python★ 59,205⑂ 0
5

heygen-com / hyperframes

TypeScript★ 50,163⑂ 0
6

mifi / lossless-cut

TypeScript★ 43,760⑂ 0