QtScrcpy 投屏教程:7 步从连上手机到群控多设备、键鼠畅玩游戏
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
QtScrcpy 是一款免费开源的 Android 投屏控制软件,能在电脑上实时显示手机画面并反向操作,全程不用 root、也不必在手机上安装任何应用。我自己从"只会截图"到"同时管五台手机、用键盘鼠标打手游",走了不少弯路,这篇文章就按这条路线把经验一次讲清。
如果你也遇到过下面这种画面,这篇文章就是写给你的。
一、先从一个"人肉切手机"的晚上说起
想象一下这个场景:你在做 App 测试,桌面上摆了四五台安卓机,要挨个装包、挨个录操作视频、挨个点按钮;旁边还有一个做手游工作室的同事,恨不得一个人同时操控一排手机跑日常任务。再或者,你只是想躺着玩《和平精英》,却嫌手机屏幕小、搓玻璃搓得手指疼。
这些需求其实指向同一个答案:让电脑接管手机。市面上的投屏工具不少,但 QtScrcpy 有几个让我认准它的理由:
- 免费开源,代码随便看,想改就改;
- 非侵入,手机端不装任何 App,用完即走,不留痕迹;
- 低延迟,官方标称 35~70ms,实际跟手程度接近"手机自己在那";
- 一次管多台,群控、批量操作都是内置能力。
它横跨 Windows、macOS、Linux 三大桌面系统,理论上你的电脑是什么系统都能用。
二、十分钟,让第一台手机出现在电脑上
1. 先把软件弄到手
最省事的办法是直接下载对应平台的发行包;想追新版本或自己编译,就克隆源码:
git clone --recurse-submodules https://gitcode.com/GitHub_Trending/qt/QtScrcpy cd QtScrcpy2. 给手机打开"开发者模式"
这一步只做一次,以后都省事:进手机"设置 → 关于手机",对着"版本号"连续点七下,直到提示已进入开发者模式;然后回到"设置 → 系统 → 开发者选项",把USB 调试打开。如果你的手机支持,顺手把USB 调试(安全设置)也开了,模拟点击、按键映射等功能会更顺畅。
开启安卓USB调试与安全设置以便连接QtScrcpy投屏.jpg)
3. 有线连接,最稳的开局
用数据线把手机和电脑连起来,QtScrcpy 里启动服务,正常情况下 1 秒内就能看到手机画面。这是延迟最低、最不容易出幺蛾子的连接方式,第一次使用强烈推荐先走这条。
4. 想摆脱线缆?无线连接四步走
| 对比项 | 有线连接 | 无线连接 |
|---|---|---|
| 延迟 | 最低 | 稍高,日常够用 |
| 稳定性 | 高 | 受局域网环境影响 |
| 自由度 | 线缆束缚 | 随意走动 |
| 首次门槛 | 即插即用 | 需要一次有线打底 |
无线连接的完整流程:
- 先用 USB 把手机连上电脑;
- 在界面上点"获取设备 IP",确认手机和电脑在同一局域网;
- 点"启动 adbd",让手机进入无线调试状态;
- 点"无线连接",成功后再拔掉数据线。
小提醒:部分手机会要求手动授权无线调试权限,电脑的防火墙也别拦着 adb 的端口,否则会时断时续。
三、摸熟三件套:投屏、截图、录屏
连上之后,日常高频操作其实就三样。
投屏:画面窗口可以自由缩放,不用的时候还能最小化到后台,只保留控制能力;多台设备同时在线时,每台手机都有独立窗口,互不干扰。
截图:看到想要保存的画面,按下Ctrl+S,当前帧立刻存成 PNG,比在手机上截图再导出到电脑利索多了。
录屏:需要录一段操作演示或游戏素材时,直接开录,支持后台录制——也就是不弹出画面、纯粹在后台抓流,非常省资源。录制参数可以按需调整:
- 比特率:8Mbps 约 60MB/分钟,画质高清,适合游戏和演示;
- 比特率:4Mbps 约 30MB/分钟,画质良好,日常记录够用;
- 比特率:2Mbps 约 15MB/分钟,主打小体积,方便快速分享。
分辨率、帧率同样可以自定义,按你的电脑性能和用途取舍即可。
四、当手上有五台手机:群控与批量操作
单台设备只是开胃菜,QtScrcpy 真正让我眼前一亮的是群控。
- 同步操作:一条指令推送给所有连接中的设备,装包、点按钮、跑脚本,一键到位;
- 灵活布局:设备窗口可以随意拖放,摆成你喜欢的位置,屏幕多大都能排开;
- 分组管理:把设备按用途分组,比如"测试机""直播机",随时切换方案;
- 状态监控:每台设备的连接状态一目了然,哪台断了立刻知道。
对应用商店运营、手游工作室这类"一人盯多机"的场景,这个功能基本等于把加班时间砍半。
五、把手游玩成端游,再聊聊它为啥这么跟手
键鼠映射三步走
手游最劝退的操作就是搓玻璃,好在 QtScrcpy 支持自定义按键映射,把键盘按键映射成屏幕上的触摸点击,等于给手机装了一套"外挂键鼠"。
- 第一步:在keymap目录下放入映射脚本(JSON 格式),项目自带《和平精英》《第五人格》、TikTok 等热门应用的预设;
- 第二步:点"刷新脚本",在下拉列表里选中你的目标脚本,连接设备、启动服务后点"应用脚本";
- 第三步:按
~键(脚本里定义的切换键)进入映射模式,之后就是键鼠操作时间;再按一次~回到普通控制模式。
写一份自己的映射
预设不够用?自己写也很直观:打开映射编辑器,在手机画面上框出要触控的区域,再绑定一个键盘按键,保存成 JSON 放进 keymap 目录即可。坐标位置可以通过界面实时微调,反复试到手感满意为止。
35~70ms 的低延迟是怎么来的
为什么按键按下去,屏幕几乎同步就有反应?核心在于这套"分工明确"的架构:
- 手机端只干一件事——抓屏和编码,靠 Android 的 MediaCodec 硬件编码器把画面压成 H.264 视频流,几乎不占 CPU;
- 电脑端负责解码与渲染:FFmpeg 解码视频流,OpenGL 做 GPU 加速渲染,画面直接怼上屏幕;
- 两端之间通过 adb 建立双向数据通道,一条流上传画面,另一条流下发触控指令。
再加上三个"狠活":视频帧解码后立即渲染、不做缓冲堆积(零缓冲策略);编码、解码、渲染、事件处理分别跑在不同线程,互不拖后腿;传输用 H.264 高压缩比,带宽占用被压得很低。这套组合拳打下来,画面才显得又快又跟手。
六、连不上、画面卡?翻这份自救清单
用久了总会遇到几个经典问题,我把高频坑位和对应的解药列出来。
设备认不出来:先怀疑 adb 服务,三连命令走一遍——
adb devices # 看设备在不在列表里 adb kill-server # 重启 adb 服务 adb start-server # 重新启动画面卡顿、延迟变大:优先把视频比特率降到 2~4Mbps;条件允许就换回 USB 有线连接;顺便检查电脑显卡驱动是不是该更新了。
完全没有声音:音频传输要求 Android 10 及以上系统;项目sndcpy目录下有一个sndcpy.apk,通过 adb 装上并授予录音权限即可。
日常使用的调优建议也一并给你,照着抄就行:
- 最大分辨率设 1080p,画质和性能都稳妥;
- 视频比特率 4Mbps,覆盖大多数场景;
- 编码器预设选 medium,速度与质量平衡;
- 缓存保持默认,别手动调大,免得吃内存。
七、想动手改?源码目录其实不复杂
最后聊聊开发者最关心的事。这个项目虽然是 C++ 写的,但目录划分非常友好,按模块理解就行:
- QtScrcpyCore/:核心逻辑,视频处理、设备通信都在这;
- ui/:界面层,基于 Qt 框架,改界面就改这里;
- util/:跨平台工具函数,比如鼠标点击、配置读写;
- keymap/:按键映射脚本的家;
- groupcontroller/:多设备群组控制的实现;
- render/:OpenGL 渲染等画面输出相关代码;
- audio/:音频采集与播放。
想自己编译,Ubuntu 上大致是:
sudo apt install qt5-default libavcodec-dev libavformat-dev libavutil-dev sudo apt install libsdl2-dev libusb-1.0-0-dev mkdir build && cd build cmake .. make -j$(nproc)至于二次开发的方向,可能性很多:换一套自定义界面、扩展新的设备管理逻辑、给某个游戏写专属映射、甚至把群控能力接进自己的自动化测试框架。项目本身脱胎于 scrcpy,又在此基础上加了 Qt 界面、多点触控和自定义按键映射,学习价值不低。
工具说到底是为了省事。先用有线把它跑起来,再慢慢解锁无线、群控、键鼠映射这些高阶玩法——相信我,一旦顺手了,你就回不到那个"人肉切手机"的夜晚了。
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考