scrcpy | Display and control your Android device

 by   Genymobile C Version: v2.0 License: Apache-2.0

kandi X-RAY | scrcpy Summary

kandi X-RAY | scrcpy Summary

scrcpy is a C library. scrcpy has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Build from sources: BUILD (simplified process).

            kandi-support Support

              scrcpy has a medium active ecosystem.
              It has 85898 star(s) with 8795 fork(s). There are 1143 watchers for this library.
              There were 2 major release(s) in the last 12 months.
              There are 1369 open issues and 2293 have been closed. On average issues are closed in 37 days. There are 34 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of scrcpy is v2.0

            kandi-Quality Quality

              scrcpy has 0 bugs and 0 code smells.

            kandi-Security Security

              scrcpy has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              scrcpy code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              scrcpy is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              scrcpy releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.
              It has 4127 lines of code, 387 functions and 46 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of scrcpy
            Get all kandi verified functions for this library.

            scrcpy Key Features

            No Key Features are available at this moment for scrcpy.

            scrcpy Examples and Code Snippets

            No Code Snippets are available at this moment for scrcpy.

            Community Discussions


            I keep getting "ERROR: AddressSanitizer: heap-buffer-overflow on address"
            Asked 2022-Feb-11 at 06:30

            I can't figure out this error.

            Problem > Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string "".



            Answered 2022-Feb-11 at 06:30

            The main difference between malloc and calloc is that malloc only reserves memory but doesn't modify its contents, whereas calloc reserves memory and zero-initializes every byte.

            So, what's happening inside your loop where you begin copying string prefixes into s is you did this:



            Controlling five Android phones with PC
            Asked 2022-Jan-12 at 03:47

            I'm looking to use five android phones to take a photo simultaneously (from different angles).

            I'd like to control the phones via a pc (linux or mac) and ideally they're all connected via USB/Ethernet.

            I'm an EE, but I don't have much Android experience, so looking to get some feedback based on what I've read so far.

            1. Looks like the Scrcpy library could work here, controlling the 5 devices via adb. I see it allows for multiple connections, have anyone tried this?

            2. I could potentially create a PCB that integrates with the headphone jack of each device and control via push button and 470ohm resistor?

            3. I could potentially build a client app on the Android devices, which connects to a server app on linux/mac (basic TCP/IP client server)

            What routes/design would people take on architect-ing such a system?

            Thanks for your help and reading this.



            Answered 2022-Jan-12 at 03:47

            What do you mean by "simultaneous"? How much leeway do you have- seconds? Milliseconds? Somewhere in between? Because those can require different techniques.

            The easiest thing is to use adb on all 5 devices (I think you can, but I've never personally done more than 2 at once). YOu can even use adb over wifi, so you don't need the cables. You can open the photo app on each (either manually or via adb) then send an input command down via db to each device to send a click of a CAMERA media button, which should cause them to take a photo (of course this is dependent on the camera app honoring this keycode).

            The problem with that approach is that you're going to have to have a script that either sends commands to each device 1 at a time (they'll be off by seconds) or spawns N processes that each send a command. That obviously isn't going to be simultaneous either, although it would be closer.

            If you really do need simultaneous, its better to write an app on the PC that sends a UDP multicast message. Write an Android app that listens for it. Then when the device receives the message, take the picture. This will assure each device gets the message at the same time, and the picture should be within milliseconds of each other. Of course, if you don't need ms resolution this is total overkill.



            Could adb command disable/turn off a display screen of android phone while it is still working as normal?
            Asked 2021-Dec-19 at 10:39

            I am wondering if adb command could disable/turn off a display screen of android phone while it is still working as normal. I see the scrcpy tool (scrcpy -S) can do that it shows and allows interacting with a working screen of the phone on PC while disabling/turning off the screen of the physical phone. Thanks,



            Answered 2021-Nov-28 at 19:59

            yes, you can turn off the display screen of an Android phone by using the following commands (assuming you can use grep on your terminal):



            How to enable the debug mode on Google Glass Enterprise Edition 2?
            Asked 2020-Oct-26 at 08:54

            It has already been asked in this questions, but this seems to be the Glass Explorer Edition.

            When I am tapping the device info tab in the Enterprise Edition 2, the default Android settings open up. They are almost unusable using the touchpad, so I am using scrcpy to control it.

            Clicking System -> About phone -> Build number multiple times in scrcpy does not work. Tapping it via the touchpad is impossible due to that it's the bottommost entry and the touchpad is not sensitive enough.

            How can I enable the debugging mode?

            Background: I am currently on the firmware version OPM1.190831.003 and I am trying to update it to the latest via the flashing tool.



            Answered 2020-Oct-26 at 08:54

            The answer to the problem is: update the firmware (kind of a chicken-and-egg problem).

            I was able to flash the system image OPM1.200625.001 using an USB-A cable instead of the USB-C cable included with the Glass.

            The commands for adb/fastboot were:



            How can I make python open a cmd and set : cd and then command that I need to use
            Asked 2020-Sep-27 at 15:07

            I want to make script that will open and pre set cmd with scrcpy commands. I tried modules like os,subprocess,pyautogui When I tried to open cmd with os and type inside it with pyautogui it didnt work What should I use to type commands. All I need to write is 'cd "directory"' and scrcpy but I cant find a way to do it with python



            Answered 2020-Sep-23 at 11:41

            You can use following code:



            Vlc.Dotnet Play streaming h264 raw data on WPF
            Asked 2020-Jul-24 at 09:50

            all. I'm a beginner of programming and I met some difficulties on video decoding/playing.

            I have raw h264 data stream from tcpsocket, and I want to show the video on a WPF usercontrol.

            Since I have few knowledge of C++ & video decoding/encoding, it will be hard to use ffmpeg for me. So I'm considering if VLC can do this.

            The background is: I want to use Scrcpy server build my own "Android screen cast & remote control" WPF application.

            So far, I've implemented:

            • Push server to device and start the server
            • Establish TCP connection between PC and Android device
            • Can see h264 raw data streaming in the socket

            Then the next step is: show video on a WPF usercontrol

            Actually I've tried another solution before and can get what I want

            • Use MPV as a media player
            • Start mpv.exe process in my app with specific arguments
            • Embed mpv window in a WPF host element

            But I think is not perfect for a WPF application, So I'm trying to find a WPF-style way.

            When I searching the Github, I found it is easier if I want to play a media file from disc or internet, I just need to pass the file location (e.g. D:/MyFolder/mySampleVideo.mp4 or http://somesite/aSampleVideo.flv) and no need to care about how the component/element work. Like this project and this project

            If I use the VLC, how can I directly play the raw h264 data stream? Is there a method like VlcPlayer.Play(NetworkStream myh264stram) {...} ?



            Answered 2020-Jul-24 at 09:50

            But I think is not perfect for a WPF application, So I'm trying to find a WPF-style way.

            The solution of using a WindowsFormsHost in a WPF application is the best we've found for WPF, because implementing a true-WPF solution doesn't have great perfs:

            That said, if you still want to go ahead with Vlc.DotNet (which has been placed in maintenance mode), you will probably need to specify the demux you want libvlc to be using with "--demux", "h264" in the VlcMediaPlayerOptions

            Then, you could indeed call


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install scrcpy

            You can download it from GitHub.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone Genymobile/scrcpy

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link