scrcpy 完整指南:免装 App 的安卓投屏与键鼠直控(35~70ms 低延迟)
【免费下载链接】scrcpyDisplay and control your Android device项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy
手机投到电脑上,大多数工具要么要 Root,要么要在手机里装一个常驻 App,还有一堆会员广告。scrcpy 只走 USB 调试通道,手机侧不留任何痕迹。端到端延迟 35~70ms,首帧约 1 秒,帧率 30~120fps(视设备而定),画面可达 1920×1080。免安装、免账号、离线可用,开源免费。
它是怎么工作的
一句话:手机把屏幕帧用 H.264/H.265 硬件编码成视频流推给电脑,电脑解码显示,再把你的键鼠事件反向注入手机——手机像一块摄像头,电脑像它的输入外设。
手机: 屏幕帧 → H.264/H.265 硬编码 → 视频流 ──────┐ USB / Wi-Fi │ 电脑: 解码 → 窗口显示(35~70ms 延迟) │ 电脑: 键盘/鼠标事件 → 注入手机 ────────────────────┘编码发生在手机端,带宽压力小;解码在电脑端,默认自动选硬件解码。
前置条件:系统版本和依赖清单
| 项目 | 要求 | 说明 |
|---|---|---|
| Android 版本 | 5.0+(API 21)起 | 硬门槛,低于 5.0 无法使用 |
| USB 调试 | 必须开启 | 设置 → 关于手机 → 连点"版本号" 7 次解锁开发者选项,再打开"USB 调试";插线后授权框勾选"始终允许" |
| 声音转发 | Android 11+(API 30+) | Android 11 需保持屏幕已解锁启动;Android 10 及更早自动禁用音频 |
| 摄像头镜像 | Android 12+ | 见 摄像头文档 |
| v4l2 虚拟摄像头 | 仅 Linux | 需额外安装 v4l2loopback,见下文"深挖" |
| 电脑端 | Linux / Windows / macOS | 安装方式见 Linux / Windows / macOS 文档 |
# macOS brew install scrcpy # Debian / Ubuntu sudo apt install scrcpy # Windows:解压官方 release,把 scrcpy.exe 和 adb.exe 所在目录加入 PATH最小化跑起来:一条命令加两次验证
- 插好数据线,手机完成 USB 调试授权。
- 敲
scrcpy,1 秒内窗口出现手机画面即成功。 - 敲
scrcpy --version,打印版本号说明依赖环境正常。 - 在窗口里移动鼠标、敲几个字,手机侧有对应响应,控制链路即打通。
无线模式在 USB 插着时跑scrcpy --tcpip,会自动探测 IP、切到 TCP/IP(5555 端口)再启动。多台设备在线时用scrcpy -s 0123456789abcdef按序列号指定。
按场景用:日常四个高频姿势
默认修饰键是左 Alt 或左 Super(Windows 键),可用--shortcut-mod换成别的键。
场景一:App 测试,键鼠当人手
scrcpy --turn-screen-off --print-fps # 启动即息屏,省电降温;终端打印实时帧率窗口外操作电脑、窗口内看手机,不用来回切。核心快捷键如下,完整列表见 快捷键文档:
| 操作 | 触发方式 | 说明 |
|---|---|---|
| 返回 | 右键单击 | 屏幕熄灭时右键 = 点亮 |
| 主页 | 中键单击 | — |
| 切换最近应用 | Alt+s | 也支持鼠标第 4 键 |
| 下拉通知栏 | Alt+n | 也支持鼠标第 5 键 |
| 全屏 | Alt+f 或 F11 | — |
| 电源键 / 息屏继续投屏 | Alt+p / Alt+o | Alt+Shift+o 重新点亮 |
| 复制 / 粘贴 | Alt+c / Alt+v | 需 Android 7+,电脑与手机双向通用 |
| 暂停 / 恢复画面 | Alt+z / Alt+Shift+z | 录屏演示时防走片 |
场景二:传文件装包,拖进去就行
把 APK 直接拖进 scrcpy 窗口,手机上自动走安装流程;非 APK 文件拖进去会推到手机下载目录。装包验证信号:手机上弹出安装确认框。想彻底免操作可以配 控制文档 里的推送流程。
场景三:无线投屏演示
scrcpy --tcpip # 第一次用 USB 插着切换,之后无线照常 scrcpy -s <序列号> # 多台设备在线时指定目标 scrcpy -d # 只选唯一 USB 设备 scrcpy -e # 只选唯一无线设备细节见 连接机制文档。
场景四:直播推流
投屏窗口本身就是实时画面,OBS 用窗口采集即可直接推流,不需要额外虚拟摄像头;Linux 下也可以用--v4l2-sink把手机画面做成系统级虚拟摄像头,两者选其一。
卡顿掉帧:参数调法与高频报错处置
掉帧、发糊时的参数表
先降负载再怀疑硬件,三个旋钮按这个顺序拧:
| 项目 | 命令 | 什么时候用 |
|---|---|---|
| 分辨率上限 | scrcpy -m 1024 | 压负载最直接,另一维按设备比例自动算(1920×1080 → 1024×576) |
| 视频比特率 | scrcpy -b 4M | 默认 8M,Wi-Fi 不稳时首选降它 |
| 帧率上限 | scrcpy --max-fps=30 | 需要画面节奏稳定时锁帧 |
| 编码格式 | scrcpy --video-codec=h265 | H.265 同画质省码率;H.264 延迟更低(默认) |
| 启动即息屏 | scrcpy -S | 边投边省电,主屏不亮 |
兜底组合(老机器也能扛):scrcpy -m 720 -b 2M --max-fps=30。想确认实际帧率加--print-fps,或运行中按 Alt+i 开关终端帧率显示。
症状 → 第一反应
| 症状 | 第一反应 |
|---|---|
报错含INJECT_EVENTS,键鼠失灵 | 开发者选项里打开"USB 调试(安全设置)"——它和"USB 调试"不是同一个开关——然后重启一次手机(小米等设备高发) |
| 找不到 ADB 设备 | adb devices看设备在不在列表;不在就重新插拔并点授权;仍不行adb kill-server && adb start-server |
Multiple ADB devices found | scrcpy -s 序列号指定目标;-d选唯一 USB 设备,-e选唯一无线设备 |
| 无线投屏卡顿发糊 | 手机挪近路由器,同时scrcpy -b 4M -m 1024主动降负载 |
| 画面正常但没声音(Android 11+) | Android 11 需屏幕已解锁状态下启动 scrcpy;留意首次连接的权限弹窗;音频失败时镜像会自动降级为纯视频继续跑 |
adb connect连不上 | 确认手机与电脑同一 Wi-Fi,重跑adb tcpip 5555再adb connect IP:5555;仍失败就回 USB |
深挖:四个藏在参数里的高级用法
1. 边投屏边录操作
scrcpy -r demo.mp4 --time-limit=60 # 录满 60 秒自动停录的是设备端编码的原始流,文件落在电脑、不占手机存储;容器按扩展名自动选,mp4/mkv/opus 都支持。只录视频加--no-audio,只录音频可用--no-video --record=file.opus。代价:录制期间手机编码器多占一份算力,低配机建议同时降-m。细节见 录制文档。
2. 手机镜头当电脑摄像头(仅 Linux)
scrcpy --video-source=camera --camera-size=1920x1080 --v4l2-sink=/dev/video2 --no-playback先sudo apt install v4l2loopback-dkms并sudo modprobe v4l2loopback创建虚拟设备,之后 OBS、会议软件直接调用/dev/videoN。代价:仅 Linux;摄像头镜像需 Android 12+;默认零缓冲以求最低延迟,个别工具识别不了可加--v4l2-buffer=300补 300ms 缓冲。详见 v4l2 文档。
3. OTG 模式:没开 USB 调试也能控制
scrcpy --otg走 AOA 协议把电脑键鼠模拟成物理外设,完全不经过 adb,因此不需要 USB 调试——适合动不了开发者选项的设备。代价:视频和音频全部禁用,只保留控制,且必须 USB 直连(无线不行)。要加手柄需显式scrcpy --otg -G。详见 OTG 文档。
4. 虚拟屏上"后台"跑 App
scrcpy --new-display=1280x720 --start-app=org.videolan.vlc虚拟显示屏是手机内部单独开的一块屏,主屏照常使用,退出 scrcpy 时自动销毁。边看视频边回消息就是这种场景。想让它一直亮屏加--keep-active;--new-display不带参数则沿用主屏尺寸和 dpi。代价:虚拟屏是额外一路编码,老机器功耗和发热会上升。详见 虚拟屏文档。
复盘
开 USB 调试 → 装 scrcpy → 敲scrcpy,手机画面就出现在电脑窗口里;之后调画质用-m/-b/--max-fps,排障先对症状表。更多细节看 连接机制文档、快捷键文档 和 FAQ。
【免费下载链接】scrcpyDisplay and control your Android device项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考