QtScrcpy 完整指南:4 步免 Root 跑通安卓投屏,让手游上电脑
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
QtScrcpy 是一款做安卓投屏与双向控制的开源软件:它把一个小服务推到手机上运行,手机把画面持续回传给电脑,你用键盘鼠标就能操作手机。无论是想在大屏上打手游,还是做应用测试、演示教学要管理多台手机,它都适合。插上 USB 线,1 秒内就能看到第一帧画面,全程免 Root,手机上也不会安装任何东西。
首次跑通:四步接上手机
两个前置条件:手机至少是 Android 5.0(API 21),并在开发者选项里打开「USB 调试」。
- 拿到软件:下载预编译包,或克隆源码自己编译:
git clone https://gitcode.com/GitHub_Trending/qt/QtScrcpy - 用数据线把手机接到电脑,在程序里点「刷新设备」,列表里出现设备号,说明手机已被识别;
- 点「启动服务」,窗口里出现手机画面,投屏就算跑通了;
- 验证控制:按Ctrl+H,手机回到桌面,说明双向控制已生效。
想彻底无线的话,先用 USB 连一次,依次点「获取设备 IP」「启动 adbd」「无线连接」,之后只要 adbd 还在运行就不用再插线。
能力速览:参数与原理
- 响应延迟约 35~70ms,操作基本跟手;
- 分辨率 1920×1080 以上,帧率 30~60fps;
- 启动后 1 秒内出第一帧画面;
- 免 Root,设备上不装任何软件;
- Windows、macOS、Linux 全平台支持;
- Apache-2.0 开源协议,用 C++/Qt 对 scrcpy 重构实现,支持多点触控。
链路一句话讲清:scrcpy-server 被推到手机上运行,手机把屏幕编码成 H.264 码流持续回传,PC 端用 FFmpeg 解码、OpenGL 渲染,捕获的键鼠事件再回注手机。
键鼠映射教程:像玩端游一样打手游
核心功能是把键盘按键变成屏幕上的触摸点。整个屏幕用相对坐标表示,宽高都记为 1,(0.5, 0.5) 就是屏幕中心。~是切换键:按一下进入自定义映射模式,再按一次回到普通控制。
自建映射四步走:
- 把写好的 JSON 文件放进 keymap 目录;
- 点「刷新脚本」确认能被检测到,然后选中它;
- 连接手机并启动服务后,点「应用脚本」让它生效;
- 按
~切换到映射模式,再按一次就回到普通控制。
最常用的是普通点击类型,格式长这样:
{ "switchKey": "Key_QuoteLeft", "keyMapNodes": [ { "type": "KMT_CLICK", "key": "Key_R", "pos": { "x": 0.8, "y": 0.93 } } ] }也就是按下 R 键时,模拟手指点一下屏幕 x=0.8、y=0.93 的位置。
取坐标有两个办法:在大屏上用鼠标左键点一下,控制台会打印对应的 pos 值,照抄即可;或者在手机开发者选项里打开「显示指针位置」,点屏幕直接看坐标。
FPS 游戏避坑:玩和平精英这类用方向盘控制载具的游戏,先在载具设置里切成单摇杆模式;上下车之后如果映射点失灵,连续按两次~键就能恢复。
不止于游戏:多设备组控与录屏截图
- 多设备组控:可以同时连接多台手机,把同一套键鼠操作同步发给所有设备,多账号并行、批量测试都靠它;
- 剪贴板双向同步:Ctrl+C把设备里的内容复制到电脑,Ctrl+Shift+V把电脑里的内容注入设备;
- 拖拽安装:把 apk 文件拖进画面窗口即可直接安装,拖普通文件则推送到手机;
- 录屏截图:启动配置区可设置录制的比特率、分辨率、格式与保存路径,勾选「仅后台录制」就只录屏不出窗口,适合批量后台录屏;截图则是一键保存当前画面;
- 息屏投屏:启动前勾选「自动息屏」省电,Ctrl+O可关掉手机屏幕但保持投屏,窗口置顶、全屏(Ctrl+F)也都内置。
出问题先查这里
遇到卡点先看控制台日志,再对照下表:
| 现象 | 常见原因 | 处理办法 |
|---|---|---|
| 有画面但键鼠没反应 | 手机未开模拟点击权限 | 在 USB 调试里打开「允许模拟点击」(小米等机型常见) |
| 刷新后设备列表是空的 | 驱动没装好或 USB 调试没开 | 先用手机助手连一次装好驱动,再回来刷新设备列表 |
| 提示 adb server 版本不匹配 | 多个工具的 adb 版本冲突 | 任务管理器结束所有 adb 进程,或在 config.ini 里指定 AdbPath |
| 能控制但黑屏、日志报 shader | 显卡不支持当前渲染路径 | 把 config.ini 里 UseDesktopOpenGL 改为 1 或 2 |
| 报 Could not open video stream | 分辨率设置偏高 | 到启动配置区把分辨率调低 |
| 手机端打不出中文 | 手机缺少中文输入法 | 在手机上装搜狗或 QQ 输入法 |
继续深入:文档与配置入口
- README_zh.md:全部功能清单、快捷键速查表和无线连接完整流程;
- docs/KeyMapDes_zh.md:映射文件编写规则详解,覆盖点击、双击、多次点击、拖拽、方向盘五种类型;
- keymap/:和平精英、抖音等现成脚本,照着模板改即可;
- docs/FAQ.md:常见问题说明,配合控制台日志一起看;
- config/config.ini:全局开关,包括 AdbPath、解码方式 UseDesktopOpenGL 等。
最后三条建议:
- 先确认 USB 连接和双向控制没问题,再去碰映射,别一上来就钻映射细节;
- 改映射脚本前先备份原 JSON,逐条按键测试;
- 渲染异常优先换解码方式(UseDesktopOpenGL),开流失败优先降分辨率。
插上线、点一次「启动服务」,整个手机画面就摆在面前了——下一局,在大屏上打。
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考