Genymobile/scrcpy

▲ 78 stars today★ 150,053⑂ 13,780

Display and control your Android device

About Genymobile/scrcpy

Genymobile/scrcpy is an open-source project on GitHub, mainly written in C. Display and control your Android device It currently holds 150,053 stars and 13,780 forks with 2,904 open issues, and was last pushed on 2026-09-19 (repository created 2017-11-21).

Project Overview

Git Homed tracks it on the Video Trending board and on the AI Video Trending list, currently at rank #47 with 78 new stars today.

GitHub Repository Details

Repository Genymobile/scrcpy · default branch master · size 9110 KB · watchers 1,405 · source: GitHub REST API and repository README

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.

GitHub Stars & Activity

150,053Stars
13,780Forks
2,904Open issues
CLanguage

GitHub Popularity

GitHub stars150,053
Forks13,780
Open issues2,904
Primary languageC
LicenseApache-2.0
Stars gained today78
Created2017-11-21
Last pushed2026-09-19

Trending History

Daily boardrank #47 · ▲ 78 stars
Weekly boardrank #78 · ▲ 579 stars

Related GitHub Projects

1

obsproject / obs-studio

C★ 76,442⑂ 0
2

FFmpeg / FFmpeg

C★ 64,371⑂ 0
3

mpv-player / mpv

C★ 37,034⑂ 0
4

bilibili / ijkplayer

C★ 33,208⑂ 0
5

ffmpegwasm / ffmpeg.wasm

C★ 17,811⑂ 0
6

duixcom / Duix-Avatar

C★ 15,532⑂ 0
7
8

xufuji456 / FFmpegAndroid

C★ 5,864⑂ 0

More Trending Repositories