QtScrcpy:把安卓手机变成低延迟第二屏的免费投屏工具
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
你有没有这种经历:想在大屏幕上用手机,装了一堆投屏 App 却卡在手机上,画面延迟明显,打游戏时点按总是慢半拍。QtScrcpy 解决的正是"安卓投屏"这件事:通过 USB 或局域网直连设备,实时镜像屏幕并支持键鼠反向控制,全程无需 root,手机上也不用装任何应用,Windows、macOS、Linux 三端都能用。
它的指标摆出来看:30~60fps 帧率、1080P 及以上画质、35~70ms 延迟、约 1 秒出第一帧画面。对新手来说,这意味着接上线、点一下"启动服务",手机画面就出现在电脑窗口里,可以直接用鼠标键盘操作手机。
一张表看懂它和常见投屏方案的差别
QtScrcpy 在 macOS 下的界面,左侧为设备与连接区域,右侧为画面窗口
| 对比维度 | QtScrcpy | 手机端投屏 App | 原版 scrcpy(命令行) |
|---|---|---|---|
| 手机端是否要装东西 | 不用装,走 ADB 调试通道 | 通常要装 App,还得联网 | 不用装 |
| 连接后体验 | USB 投屏延迟约 35~70ms,鼠标点击手感接近本机 | 常超过 100ms,操作有拖影感 | 接近原生 |
| 画质上限 | 可调到设备原生分辨率 | 普遍压到 720P | 原生 |
| 键鼠映射 | 支持自定义脚本,内置游戏配置 | 仅基础触控转发 | 不支持自定义映射 |
| 使用门槛 | 图形界面,点按钮完成 | 低 | 纯命令行,配置项多 |
| 费用与授权 | 免费,Apache 2.0 开源 | 多为商业收费或内嵌广告 | 免费开源 |
和原版 scrcpy 相比,QtScrcpy 用 C++/Qt/OpenGL 重写并换成信号槽异步架构,换来的直接好处是:界面可以自己定制、支持自定义键鼠映射脚本、新增多点触控。
第一次运行走通:从开箱到第一帧
Windows 下完成连接后的主界面,设备信息与画面窗口都已就绪
按下面三步走,每一步都有"做对了"的标志,随时可以自检:
第 1 步:拿到软件
- 动作:从 Releases 下载对应系统的预编译包解压即用(Windows 包已内置 ADB);想自己编译则按 开发文档 搭 Qt 5.12+ 环境后运行
./ci/linux/build_for_linux.sh "Release",也可以直接git clone --recurse-submodules https://gitcode.com/GitHub_Trending/qt/QtScrcpy拉取源码。 - 做对了的标志:双击主程序能正常打开,界面出现"刷新设备""启动服务"等按钮。
第 2 步:让电脑看到手机
- 动作:手机"开发者选项"里打开USB 调试,用数据线连上电脑,在软件里点"刷新设备"。
- 做对了的标志:设备列表里出现了序列号。
第 3 步:启动投屏
- 动作:选中设备,点"启动服务"。
- 做对了的标志:约 1 秒后窗口里出现手机实时画面,鼠标点击手机有反应。
无线连接是同样的逻辑,把"USB 连接"换成"获取设备 IP → 启动 adbd → 无线连接"三个按钮即可,前提是手机和电脑在同一个局域网,且之前先用 USB 连过一次。adbd 启动成功后,USB 线可以随时拔掉。
按你的使用场景,它还能做这些
游戏玩家:把手机变成键鼠操作的副屏
场景:手游里用键盘移动、鼠标瞄准,操作精度和效率远高于手指。QtScrcpy 内置了现成的映射脚本,比如和平精英的 WASD 方向盘 + 鼠标视角 + 探头按键,抖音的方向键上下滑 + 空格暂停。
它怎么做到的:映射文件是 JSON 格式,坐标用相对比例表示(0~1),所以同一份脚本在不同分辨率手机上都成立;鼠标移动被映射成"以某点起点的指拖",按键被映射成点击、双击或拖拽。
怎么开启:
- 把脚本放进
keymap/目录,点"刷新脚本"并选中它; - 连接设备、启动服务后点"应用脚本";
- 按
~键(映射脚本里定义的切换键)进入自定义映射模式,再按一次切回普通模式。
和平精英默认键鼠映射:WASD 控制方向盘,鼠标负责瞄准
不会手写脚本也没关系:按住左键点击画面时,控制台会直接打印出该点的坐标,把它填进脚本的pos就行,具体规则看 键鼠映射编写文档。
调试映射时点击画面,控制台输出坐标 pos 可直接用于脚本
办公与测试:剪贴板、装包、录屏一条龙
场景:测试同事要反复装包、复制设备上的报错文本;运营想在后台录一段操作过程留档。
能实现什么:
- 剪贴板双向同步:
Ctrl+C把手机剪贴板拿到电脑,Ctrl+Shift+V把电脑文本送进手机(需 Android 7+); - 拖拽即装包/传文件:APK 拖进画面窗口直接安装,其他文件拖进去会推到设备(默认路径
/sdcard/,可在配置里改); - 后台录制:勾选"后台录制"后不显示画面、只在后台录 MP4,比特率和分辨率在"启动配置"里调;
- 截图:一键存 PNG。
怎么开启:启动服务前在"启动配置"里设置录屏参数即可,其余功能连上服务就能直接用。
多设备管理者:一次操作,多台设备同步执行
场景:应用兼容性测试要跑 5 台手机,或者教学演示要同步操作所有学生设备——重复点 5 遍同一个按钮没人受得了。
能实现什么:在设备列表中勾选需要参与的设备并"启用群控",之后在主控窗口执行的每次点击、滑动,其余设备都会实时跟着执行,USB 和无线连接的设备可以混在一起。
怎么开启:多台设备各自连上 → 勾选 → 启用群控。下面动图就是群控时的同步效果:
群控模式下,主控设备的操作会同步到所有勾选的手机
三平台体验是一致的,这里是 Linux 下的实际界面:
同一项目在 Linux 下的运行效果,界面与 Windows/macOS 保持一致
调优与排障
参数速查:按场景定档
所有启动参数(分辨率、比特率、录屏格式与保存路径、是否后台录制、是否置顶、启动后是否熄屏省电)都可以在config/config.ini里持久化。推荐档位:
| 使用目的 | 分辨率 | 比特率 | 帧率 | 实际体验 |
|---|---|---|---|---|
| 办公看文档 | 720P | 2Mbps | 30fps | 文字清晰、窗口占用低 |
| 播放视频 | 1080P | 4Mbps | 60fps | 观感接近原设备 |
| 游戏操控 | 720P | 6Mbps | 60fps | 点击跟手,基本无拖影 |
| 弱网/无线 | 540P | 1.5Mbps | 30fps | 牺牲清晰度保流畅 |
补充两个进阶项:MaxFps可限定最高帧率(仅 Android 10+ 生效);RenderExpiredFrames=0跳过过期帧,进一步压低延迟。
出问题先对照这张自检清单
| 症状 | 最可能的原因 | 三步解决 |
|---|---|---|
| 刷新设备列表是空的 | USB 调试未开,或驱动未装好 | ① 确认开发者选项里 USB 调试已开;② 用手机助手之类工具先连成功一次(装驱动);③ 回来再点刷新 |
| 有画面但点不动 | 部分机型(如小米)的"USB 调试(安全设置)"未放行模拟点击 | ① 进开发者选项找到 USB 调试(安全设置);② 打开"允许模拟点击";③ 重启投屏服务验证 |
| 报错 adb server version 不匹配 | 电脑里跑了多个版本的 adb | ① 任务管理器结束所有 adb 进程;② 或把 config.ini 的AdbPath指向当前 adb;③ 重新连接 |
| 画面发虚、字看不清 | Windows 高 DPI 缩放,或窗口远小于手机屏幕 | ① 对 QtScrcpy.exe 属性 → 兼容性 → 覆盖高 DPI 缩放行为,选"应用程序";② 把画面窗口放大到接近设备尺寸;③ 仍不行就换硬件解码(UseDesktopOpenGL改 1 或 2) |
| 报 Could not open video stream | 设备不支持当前分辨率 | ① 在分辨率设置里降一档;② 再启动服务;③ 还不行则参考 FAQ 看完整日志 |
| 游戏里上下车操作失效 | 上车创建了新界面,映射的触摸点失效 | ① 连按两次~键恢复;② 开载具前把移动模式切到单摇杆模式;③ 仍失效就切回普通模式重进游戏 |
| 没法输入中文 | 系统输入法不支持 | ① 手机端装搜狗或 QQ 输入法;② 切换为该输入法;③ 用Ctrl+V注入文本验证 |
写在最后
QtScrcpy 是在 Genymobile 的 scrcpy 之上,用 C++ + Qt + OpenGL + FFmpeg 重新实现的投屏工具,代码完全开源,你想改界面、加功能都有据可依。
下一步建议:先按上面三步走通 USB 投屏,把最常用的参数写进config/config.ini固化下来,然后对照 FAQ 通读一遍,遇到报错基本都能直接对号入座。
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考