Before you can access an Android device, there’s some configuration to do.
You’ll need to enable USB debugging from the Developer options screen. On Android the options screen is hidden by default, but it can be enabled from Settings > About phone by tapping Build number seven times.
You don’t need to have rooted the Android device. The software uses ADB to communicate with the Android device via USB. It’s also possible to access a device over TCP/IP over port 5555, with the commands:
$ adb tcpip 5555
$ adb connect IP_address_of_Android_device:5555
Then restart scrcpy.
Once you’ve performed the simple configuration step, you’re ready to start scrcpy. Here’s an image showing the program in action. The software displays only the device screen.
We found that performance is very good, but this is dependent on the hardware you’re using.
If you do have performance issues, there’s various steps you can take to resolve the problem. These include the ability to reduce the resolution, change the bit-rate as well as reducing the maximum frame rate. It’s best to decrease the bit-rate when running over TCP/IP (
$ scrcpy --bit-rate 2M ).
It’s also possible to mirror only part of the screen. By default the software encodes video at 8 MBps. The program always renders the last available decoded frame and drops any previous ones, but it’s also possible to render all frames although this may affect latency.
We like the ability to record the screen in both mp4 and mkv formats. With the record option enabled, there’s also the option not to display the device.
From extensive testing, mirroring works particularly well. There’s also the ability to turn off the device screen when mirroring although this isn’t implemented particularly well.
There’s also a good range of keyboard shortcuts that let you resize windows, switch to full size mode, perform actions like middle clicks, change the volume, rotate the device, copy and paste the device/computer clipboard, and more.
Complete list of articles in this series:
|tmux||A terminal multiplexer that offers a massive boost to your workflow|
|lnav||Advanced log file viewer for the small-scale; great for troubleshooting|
|Paperwork||Designed to simplify the management of your paperwork|
|Abricotine||Markdown editor with inline preview functionality|
|mdless||Formatted and highlighted view of Markdown files|
|fkill||Kill processes quick and easy|
|Tusk||An unofficial Evernote client with bags of potential|
|Ulauncher||Sublime application launcher|
|McFly||Navigate through your bash shell history|
|LanguageTool||Style and grammar checker for 30+ languages|
|peco||Simple interactive filtering tool that's remarkably useful|
|Liquid Prompt||Adaptive prompt for Bash & Zsh|
|Ananicy||Shell daemon created to manage processes’ IO and CPU priorities|
|cheat.sh||Community driven unified cheat sheet|
|ripgrep||Recursively search directories for a regex pattern|
|exa||A turbo-charged alternative to the venerable ls command|
|OCRmyPDF||Add OCR text layer to scanned PDFs|
|Watson||Track the time spent on projects|
|fontpreview||Quickly search and preview fonts|
|fd||Wonderful alternative to the venerable find|
|scrcpy||Display and control Android devices|