Excellent Utilities: scrcpy – display and control Android devices

In Operation

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.

Click image for full size

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.

Next page: Page 3 – Summary

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Summary

Complete list of articles in this series:

Excellent Utilities
tmuxA terminal multiplexer that offers a massive boost to your workflow
lnavAdvanced log file viewer for the small-scale; great for troubleshooting
PaperworkDesigned to simplify the management of your paperwork
AbricotineMarkdown editor with inline preview functionality
mdlessFormatted and highlighted view of Markdown files
fkillKill processes quick and easy
TuskAn unofficial Evernote client with bags of potential
UlauncherSublime application launcher
McFlyNavigate through your bash shell history
LanguageToolStyle and grammar checker for 30+ languages
pecoSimple interactive filtering tool that's remarkably useful
Liquid PromptAdaptive prompt for Bash & Zsh
AnanicyShell daemon created to manage processes’ IO and CPU priorities
cheat.shCommunity driven unified cheat sheet
ripgrepRecursively search directories for a regex pattern
exaA turbo-charged alternative to the venerable ls command
OCRmyPDFAdd OCR text layer to scanned PDFs
WatsonTrack the time spent on projects
fontpreviewQuickly search and preview fonts
fdWonderful alternative to the venerable find
scrcpyDisplay and control Android devices
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.