Scrcpy – Android Screen Mirroring Tool
Mirror and Control Android Devices with Scrcpy
Scrcpy (screen copy) provides high-performance Android screen mirroring and control from your computer, completely free and without requiring root access. This open-source tool enables developers, content creators, and power users to interact with their Android devices through mouse and keyboard while displaying the phone screen in a responsive window on their desktop.
Developed by Genymobile (creators of Genymotion), scrcpy achieves remarkably low latency through efficient video encoding and the Android Debug Bridge (ADB) protocol. The tool has become essential for app developers testing on real devices, streamers showcasing mobile games, and anyone who prefers working with their phone through a larger screen.
Installation
Linux Installation
Ubuntu/Debian:
sudo apt install scrcpy
Fedora:
sudo dnf install scrcpy
Arch Linux:
sudo pacman -S scrcpy
Snap:
sudo snap install scrcpy
macOS Installation
brew install scrcpy
Windows Installation
winget install Genymobile.scrcpy
# or
scoop install scrcpy
# or
choco install scrcpy
Device Setup
Enable USB Debugging
1. Go to Settings > About Phone
2. Tap "Build Number" 7 times to enable Developer Options
3. Go to Settings > Developer Options
4. Enable "USB Debugging"
ADB Connection
Connect via USB and verify:
adb devices
For wireless connection:
# Connect USB first, then:
adb tcpip 5555
adb connect 192.168.1.x:5555
# Disconnect USB cable
Basic Usage
Launch Scrcpy
Simply run:
scrcpy
With options:
# Limit resolution for better performance
scrcpy --max-size 1024
# Set bit rate
scrcpy --bit-rate 4M
# Limit frame rate
scrcpy --max-fps 30
# Show touches
scrcpy --show-touches
Window Controls
# Fullscreen
scrcpy --fullscreen
# or press Ctrl+F / Cmd+F
# Always on top
scrcpy --always-on-top
# Borderless window
scrcpy --window-borderless
# Window title
scrcpy --window-title "My Phone"
Input Controls
Keyboard Shortcuts
Ctrl+H / Middle-click Home button
Ctrl+B / Right-click Back button
Ctrl+S App switch
Ctrl+M Menu button
Ctrl+Up Volume up
Ctrl+Down Volume down
Ctrl+P Power button
Ctrl+O Turn screen off
Ctrl+Shift+O Turn screen on
Ctrl+R Rotate screen
Ctrl+N Expand notification panel
Ctrl+Shift+N Collapse notification panel
Ctrl+C Copy to device clipboard
Ctrl+V Paste from computer
Ctrl+Shift+V Sync clipboards
Mouse Controls
Left-click Tap
Right-click Back
Middle-click Home
Scroll Vertical scroll
Ctrl+Scroll Pinch zoom
Recording and Streaming
Record Screen
# Record to file
scrcpy --record recording.mp4
# Record without mirroring
scrcpy --no-display --record recording.mp4
# Specify format
scrcpy --record-format mkv --record video.mkv
Streaming to V4L2 (Linux)
# Create virtual camera
scrcpy --v4l2-sink=/dev/video2
# For use in video conferencing apps
# Select /dev/video2 as camera source
Advanced Options
Display Options
# Crop display (width:height:x:y)
scrcpy --crop 1080:1920:0:0
# Rotate display
scrcpy --rotation 1 # 0-3 (90° increments)
# Mirror display
scrcpy --render-driver=software --rotation 0
Performance Tuning
# High quality (slow devices)
scrcpy --bit-rate 8M --max-fps 60
# Low latency (fast devices)
scrcpy --bit-rate 16M --max-fps 120 --no-audio
# Battery saving
scrcpy --max-size 800 --max-fps 15 --bit-rate 1M
Stay Awake
# Prevent device sleep while connected
scrcpy --stay-awake
# Turn off screen but keep running
scrcpy --turn-screen-off
Audio Forwarding
Enable Audio (Android 11+)
scrcpy --audio-bit-rate 128K
# Audio only (no video)
scrcpy --no-video
Audio Options
# Set audio buffer
scrcpy --audio-buffer 50
# Select audio source
scrcpy --audio-source mic # Microphone
scrcpy --audio-source output # Device audio (default)
Multiple Devices
Specific Device
# List devices
adb devices
# Connect to specific device
scrcpy --serial 192.168.1.x:5555
# USB device by serial
scrcpy -s 0123456789ABCDEF
Multiple Instances
# Open multiple windows for different devices
scrcpy -s device1 --window-title "Phone 1" &
scrcpy -s device2 --window-title "Phone 2" &
File Transfer
Drag and Drop
# Drag APK to install
# Drag file to transfer to /sdcard/Download
Push Files via ADB
adb push local_file.txt /sdcard/Download/
# Pull files from device
adb pull /sdcard/DCIM/photo.jpg ./
Wireless Connection
Initial Setup
# Connect via USB first
adb tcpip 5555
adb disconnect
adb connect 192.168.1.x:5555
# Launch scrcpy
scrcpy
Reconnection
# If connection drops
adb connect 192.168.1.x:5555
scrcpy
Scripting and Automation
Shell Commands
# Run shell command on device
scrcpy --push-target=/sdcard/Download
# Using adb
adb shell input tap 500 500
adb shell input text "Hello"
adb shell input keyevent 26 # Power button
Automation Script
#!/bin/bash
# Connect and mirror with optimal settings
adb connect 192.168.1.100:5555
sleep 2
scrcpy --max-size 1280 --bit-rate 8M --stay-awake --turn-screen-off
Troubleshooting
Device Not Found
# Check USB connection
adb devices
# Restart ADB server
adb kill-server
adb start-server
# Check USB debugging authorization on phone
Lag or Stuttering
# Reduce quality
scrcpy --max-size 800 --bit-rate 2M --max-fps 30
# Use H.264 encoder
scrcpy --encoder 'OMX.qcom.video.encoder.avc'
Audio Not Working
# Requires Android 11+
# Check audio codec
scrcpy --audio-codec aac
# or
scrcpy --audio-codec opus
Scrcpy represents the gold standard for Android mirroring tools, offering professional-grade functionality without cost or invasive requirements. Whether for development, content creation, or simply wanting a bigger view of your phone, scrcpy delivers responsive, high-quality mirroring that makes Android device interaction from your computer seamless and efficient.
Download Options
Safe & Secure
Verified and scanned for viruses
Regular Updates
Always get the latest version
24/7 Support
Help available when you need it