QtScrcpy:把安卓手机变成低延迟第二屏的免费投屏工具
2026/9/23 20:16:10 网站建设 项目流程

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),所以同一份脚本在不同分辨率手机上都成立;鼠标移动被映射成"以某点起点的指拖",按键被映射成点击、双击或拖拽。

怎么开启:

  1. 把脚本放进keymap/目录,点"刷新脚本"并选中它;
  2. 连接设备、启动服务后点"应用脚本";
  3. ~键(映射脚本里定义的切换键)进入自定义映射模式,再按一次切回普通模式。

和平精英默认键鼠映射:WASD 控制方向盘,鼠标负责瞄准

不会手写脚本也没关系:按住左键点击画面时,控制台会直接打印出该点的坐标,把它填进脚本的pos就行,具体规则看 键鼠映射编写文档。

调试映射时点击画面,控制台输出坐标 pos 可直接用于脚本

办公与测试:剪贴板、装包、录屏一条龙

场景:测试同事要反复装包、复制设备上的报错文本;运营想在后台录一段操作过程留档。

能实现什么:

  • 剪贴板双向同步Ctrl+C把手机剪贴板拿到电脑,Ctrl+Shift+V把电脑文本送进手机(需 Android 7+);
  • 拖拽即装包/传文件:APK 拖进画面窗口直接安装,其他文件拖进去会推到设备(默认路径/sdcard/,可在配置里改);
  • 后台录制:勾选"后台录制"后不显示画面、只在后台录 MP4,比特率和分辨率在"启动配置"里调;
  • 截图:一键存 PNG。

怎么开启:启动服务前在"启动配置"里设置录屏参数即可,其余功能连上服务就能直接用。

多设备管理者:一次操作,多台设备同步执行

场景:应用兼容性测试要跑 5 台手机,或者教学演示要同步操作所有学生设备——重复点 5 遍同一个按钮没人受得了。

能实现什么:在设备列表中勾选需要参与的设备并"启用群控",之后在主控窗口执行的每次点击、滑动,其余设备都会实时跟着执行,USB 和无线连接的设备可以混在一起。

怎么开启:多台设备各自连上 → 勾选 → 启用群控。下面动图就是群控时的同步效果:

群控模式下,主控设备的操作会同步到所有勾选的手机

三平台体验是一致的,这里是 Linux 下的实际界面:

同一项目在 Linux 下的运行效果,界面与 Windows/macOS 保持一致

调优与排障

参数速查:按场景定档

所有启动参数(分辨率、比特率、录屏格式与保存路径、是否后台录制、是否置顶、启动后是否熄屏省电)都可以在config/config.ini里持久化。推荐档位:

使用目的分辨率比特率帧率实际体验
办公看文档720P2Mbps30fps文字清晰、窗口占用低
播放视频1080P4Mbps60fps观感接近原设备
游戏操控720P6Mbps60fps点击跟手,基本无拖影
弱网/无线540P1.5Mbps30fps牺牲清晰度保流畅

补充两个进阶项: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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询