Scrcpy 手机投屏控制完全指南:5 步搞定低延迟镜像
【免费下载链接】scrcpyDisplay and control your Android device项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy
Scrcpy 是一款开源的安卓投屏与控制工具:把手机画面镜像到电脑,还能反向用键盘鼠标操作手机。它不需要在手机上装任何 App,也不需要 root,延迟约 35~70ms、帧率可达 30~120fps,是开发者调试和手机投屏电脑场景里上手最快的选择之一。
⚡ scrcpy 安装与第一次投屏怎么做
整个过程分三步:装软件、连设备、启动。
第一步:安装。从源码安装最简单的方式是跑仓库自带的脚本。它会自动拉取对应平台的预编译包,不需要你手动编 FFmpeg 或 SDL2:
git clone https://gitcode.com/GitHub_Trending/sc/scrcpy cd scrcpy ./install_release.sh当然,发行版包管理器或官方静态构建包也可以,具体见 doc/linux.md。
第二步:连接设备。手机打开「开发者选项 → USB 调试」,用数据线连上电脑,然后确认设备已被识别:
adb devices如果adb devices里看不到设备,Windows 上通常是缺驱动,Linux/macOS 则多半是没授权(手机屏幕会弹一次"允许 USB 调试"的确认框,点确定即可)。
第三步:启动。终端里直接敲scrcpy,大约 1 秒后电脑就会弹出窗口显示手机画面,鼠标键盘立即接管。
🧩 投屏链路原理:画面是怎么从手机跑到屏幕上的
一句话结论:手机端有一个临时服务把屏幕"直播"给电脑,电脑解码显示并把输入事件发回去。
Scrcpy 由两部分组成:电脑端的scrcpy客户端,和推到手机里临时运行的scrcpy-server。两者之间通过 ADB 隧道建立独立通道——可以把它想成一根"专用传送带",画面、声音、按键各占一条带子,互不抢道。整条流水线分五段:
| 阶段 | 在哪执行 | 做什么 |
|---|---|---|
| 捕获 | 手机 | 直接读取屏幕内容 |
| 编码 | 手机 | 用硬件编码器压成 H.264(音频默认 OPUS),大幅缩小数据量 |
| 传输 | ADB 隧道 | USB 或 Wi-Fi 直连,不经过公网 |
| 解码 | 电脑 | FFmpeg 解码视频流 |
| 显示 | 电脑 | SDL2 渲染窗口,键鼠事件反向注入手机 |
这套机制像一个压缩过的"实时直播":手机端是主播,你的电脑是唯一的观众,所以延迟只取决于本机解码和网络抖动,官方实测整体在35~70ms区间。更多设计细节可以看 doc/develop.md。
🎮 无线投屏、多设备协同等三个高频用法
开发调试:鼠标点比手指戳快
场景:改 UI 时需要反复点击某个角落的小按钮。用scrcpy启动后,电脑鼠标直接控制手机,点哪算哪,剪贴板双向同步——手机上复制的文本可以直接粘贴到电脑记事本。你会看到窗口跟着手指(现在是鼠标)同步,基本感知不到延迟。
无线投屏:拔掉线,演示不缠线
场景:会议室演示,线太短。先保证手机和电脑在同一个 Wi-Fi 下,按顺序执行:
adb tcpip 5555 adb connect 手机IP:5555第一条把手机端切到无线 ADB 模式(5555 是端口),第二条里的 IP 在"Wi-Fi 设置"里能看到。执行后启动scrcpy,拔掉线画面不会断。连不上时先检查防火墙,再尝试重启 adb 服务。
多设备协同:一台电脑盯两台手机
场景:测试两台设备的行为差异。先adb devices记下各自的序列号,再分别启动:
scrcpy -s 序列号A scrcpy -s 序列号B两台手机各开一个窗口,参数(分辨率、码率)可以独立设置,互不影响。
📐 降延迟调画质的参数组合有哪些
参数不用背,记住四个常用的就行:-m管分辨率,-b管码率,--max-fps管帧率,窗口尺寸用--window-width/--window-height。
| 参数 | 作用 | 推荐取值 | 可直接复制的示例 |
|---|---|---|---|
-m/--max-size | 输出分辨率(短边像素) | 日常1080 | scrcpy -m 1080 |
-b/--video-bit-rate | 视频码率,默认 8M | 低带宽2M、极限10M | scrcpy -b 2M |
--max-fps | 限帧率,省码率省电 | 省电 24、流畅60 | scrcpy --max-fps 60 |
--window-width/--window-height | 初始窗口大小(像素) | 演示用 900×500 | scrcpy --window-width 900 --window-height 500 |
常见搭配:开发调试用scrcpy -m 1080 --max-fps 60;远程或弱网环境降到scrcpy -b 2M -m 720;录制用--record 文件.mp4(Android 10+ 才建议加--max-fps,旧版本可能不生效)。
🆚 主流投屏工具对比:延迟、画质和是否装客户端
| 维度 | Scrcpy | Vysor | AirDroid | 虫洞投屏 |
|---|---|---|---|---|
| 端到端延迟 | 35~70ms | 100~200ms | 150~300ms | 80~150ms |
| 画质 | 可自定义分辨率/码率 | 基本固定 720p | 最高 1080p | 最高 1080p |
| 手机端要装应用 | 不需要 | 需要 | 需要 | 需要 |
| 支持平台 | Linux / Windows / macOS | Windows / macOS | Windows / macOS | Windows / macOS |
| 开源免费 | 是 | 否(有免费额度) | 否 | 否 |
| 输入控制 | 完整键鼠 + 手柄 | 部分 | 有 | 部分 |
Scrcpy 的延迟和可调节性是明显优势,适合愿意敲两行命令的技术向用户;商业工具界面更友好,但画质和延迟天花板更低,且多数要走云端。
❓ 投屏不清晰、没声音?先看这 5 个常见问题
问:需要 root 吗?答:不需要。只要开启 USB 调试即可。个别品牌手机如果提示"Injecting input events requires...",去开发者选项里把"USB 调试(安全设置)"也打开并重启一次,这是品牌方的限制,与 root 无关。
问:无线投屏画质会比 USB 差吗?答:不一定。无线链路只是把"专用传送带"从数据线换成 Wi-Fi,画质上限仍由参数决定。5GHz 频段下体验通常接近有线;卡顿先查网络,而不是怀疑无线模式本身。
问:只支持安卓吗?答:Scrcpy 只对接安卓设备(最低 Android 5.0)。不过模拟器(如 Genymotion)也提供 adb 调试接口,所以虚拟安卓环境一样能投屏和控制。
问:为什么没声音?答:声音转发要求Android 11 及以上,新版本默认开启;Android 10 及以下会自动禁用音频但画面正常。Android 11 需要启动前保持屏幕已解锁,否则可能捕获失败。
问:免费吗?会不会被收费软件蹭名字?答:完全免费开源。但官方明确提醒:只从官方仓库和 release 页面获取,来路不明的"scrcpy"安装包请一律不要下载。
📚 适用边界与资源入口
Scrcpy 适合开发调试、现场演示、直播推流和本地录屏;不适合需要云端托管、免 ADB 或完全图形化的场景。调参别一步到位——先跑scrcpy -m 1080看效果,再按 35~70ms 的延迟感受决定加不加--max-fps。
延伸阅读:doc/develop.md(客户端/服务端架构)、doc/recording.md(录制参数)、doc/v4l2.md(Linux 下把手机当摄像头)。想要图形界面的话,社区有scrcpy-gui、scrcpy-desktop这类第三方壳可以直接用。
【免费下载链接】scrcpyDisplay and control your Android device项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考