延迟与帧率
官方标注的典型延迟区间为 35–70 ms,帧率 30–60 fps,启动后约 1 秒可见首帧。实际表现取决于手机编码能力、USB 带宽与电脑解码性能,并非恒定值。
QtScrcpy 的功能围绕一个主线展开:把 Android 设备的画面实时搬到电脑上,并让鼠标键盘成为它的输入设备。 本文按“画面、连接、控制、产出、协同”五个维度拆解它的实际能力,再落到具体场景与边界。
下表为功能域与代表能力的对应关系,后续小节会对其中关键项展开说明。
| 功能域 | 代表能力 | 典型场景 |
|---|---|---|
| 画面与性能 | 分辨率与比特率可调、30–60 fps、编码器预设、macOS Metal 硬解码 | 追求低延迟的游戏操作、追求清晰度的文档阅读 |
| 连接方式 | USB 一键连接、局域网无线连接、启动 adbd 后脱离数据线、多设备并行 | 固定工位、走廊演示、多机测试台 |
| 输入控制 | 鼠标键盘实时操作、多点触控、自定义按键映射脚本、虚拟按键 | 手游键鼠化、降低重复点击成本 |
| 内容产出 | 前台 / 后台录屏、PNG 截图、录制格式与保存路径可配置 | 教程录制、缺陷复现留证、直播素材 |
| 设备协同 | 拖拽安装 APK、拖拽传输文件、剪贴板双向同步、音频转发(有限支持) | 跨设备搬运文本与文件 |
| 窗口体验 | 全屏、窗口置顶、1:1 像素、去黑边、自动息屏、单实例运行 | 长时间挂机、并排办公 |
QtScrcpy 用 FFmpeg 解码、OpenGL 渲染,界面只呈现设备画面本身,没有额外的编辑器与控制面板占用资源。 官方文档将其设计目标概括为“精致、性能、质量、低延迟、快速启动、非侵入”。
官方标注的典型延迟区间为 35–70 ms,帧率 30–60 fps,启动后约 1 秒可见首帧。实际表现取决于手机编码能力、USB 带宽与电脑解码性能,并非恒定值。
启动前可设置最大分辨率与视频比特率,官方标称支持 1920×1080 及以上。分辨率越高、码率越大,画面越清晰,同时对带宽与解码性能的要求也越高。
v4.2.1 引入编码器预设与 MediaTek 编码器优化,后者用于缓解部分机型画面突然模糊的问题;编码器选项会在重启后保留。v4.1.0 起 macOS 支持 Metal 硬件解码。
如果你发现画面偏糊,官方 FAQ 给出的两个方向是:Windows 上调整高 DPI 缩放行为(由“应用程序”执行缩放),以及避免让视频窗口远小于设备原始分辨率——窗口被压缩得越小,文字越容易发虚。这与编码参数是两回事。
两种连接方式最终都走 ADB 调试通道。无线模式只是把 ADB 从 USB 传输切换到 TCP,因此首次启用仍建议先用数据线完成配对与授权。
延迟最低、最稳定的方式。连接数据线 → 刷新设备列表 → 选中设备 → 启动服务,通常一步到位。
手机与电脑处于同一局域网时可用。启用后可以拔掉数据线,适合演示与移动场景。
无线连接仅在同一局域网内有效,项目不提供公网中继或穿透功能。请不要为调试端口做路由端口映射,也不要在公共 Wi-Fi 下开启 adbd——那等于把设备的调试入口暴露给同网段的所有人。
除了常规的“鼠标点击 = 手指点击”,QtScrcpy 支持把自定义脚本中的键位映射为屏幕坐标上的触摸动作, 这也是它在手游场景中被大量使用的原因。
映射规则以 JSON 编写,放在程序的 keymap 目录中,点击“刷新脚本”即可被识别。连接设备并启动服务后点击“应用脚本”,按 ~ 键在映射模式与普通模式之间切换。
仓库内置了《和平精英》《抖音》《第五人格》等示例脚本,可作为模板修改。规则字段与写法见官方 KeyMapDes_zh.md。
可同时连接多台设备,每台拥有独立的画面窗口;开启群控后,一次操作会同步下发到选中的设备组,适合批量安装、批量巡检或多机并行的测试场景。
设备越多,对 USB 控制器带宽、电脑 CPU 与内存的要求越高,建议分组分批操作。
| 操作 | Windows | macOS |
|---|---|---|
| 切换全屏 | Ctrl + F | Cmd + F |
| 1:1 像素显示 | Ctrl + G | Cmd + G |
| 去除黑边 | Ctrl + W 或双击黑边 | Cmd + W 或双击黑边 |
| 返回 | Ctrl + B 或右键 | Cmd + B 或右键 |
| 主页 | Ctrl + H 或中键 | Ctrl + H 或中键 |
| 关闭设备屏幕(保持投屏) | Ctrl + O | Cmd + O |
| 展开 / 收起通知栏 | Ctrl + N / Ctrl + Shift + N | Cmd + N / Cmd + Shift + N |
完整快捷键清单(含音量、电源、菜单、剪贴板)见教程页快捷键表,或对照官方 README。
启动服务前可配置录制参数,启动后画面与录制同步进行,不需要额外的录屏软件。
在“启动配置”中设置比特率、分辨率、录制格式与保存路径。适合录制操作教程、复现步骤或直播前的素材准备。
勾选“仅后台录制”后,启动服务不会显示画面窗口,只在后台记录屏幕内容,适合需要长时间记录但不希望窗口占位的情况。
支持将当前画面截图保存为 PNG;窗口可置顶、全屏或按 1:1 显示,便于与文档并排对照操作。
把文件直接拖进投屏窗口,即可发送到设备的存储目录;把 .apk 拖进去则触发安装流程,省去数据线与第三方助手。
Android 7.0 及以上支持双向同步:Ctrl+C 取回设备剪贴板,Ctrl+V 发送文本事件,Ctrl+Shift+V 注入电脑剪贴板文本。注意非 ASCII 字符在文本事件模式下可能无法正确输入。
基于 sndcpy 实现,仅支持 Android 10 及以上。官方文档明确标注“目前不推荐使用”,并建议改用蓝牙连接播放手机音频。请勿把它当作稳定的音频方案。
两者共用同一套服务端思路,差异主要在界面框架、编程模型与扩展能力上。下表取自官方 README 的对照说明。 完整的选型建议与参数迁移对照见方案对比。
| 对比项 | scrcpy | QtScrcpy |
|---|---|---|
| 界面框架 | SDL | Qt |
| 视频解码 | FFmpeg | FFmpeg |
| 视频渲染 | SDL | OpenGL |
| 跨平台基础设施 | 自行封装 | 由 Qt 提供 |
| 编程语言 | C | C++ |
| 编程模型 | 同步 | 异步(信号槽) |
| 自定义按键映射 | 不支持 | 支持 |
| 构建方式 | meson + gradle | CMake |
QtScrcpy 还在此基础上增加了多点触控支持与图形化管理界面。
同样的功能,在不同场景下的关注点并不一样。以下按“痛点 → 做法 → 注意”的结构说明。
痛点:手机触屏操作在长局对战中容易疲劳,视角转动与开镜精度不如键鼠。
做法:选用或编写对应游戏的映射脚本,启动服务后点击“应用脚本”,按 ~ 进入映射模式。载具类操作需在游戏设置中选择“单摇杆模式”。
注意:游戏版本更新可能改变界面布局,导致原脚本坐标失效,需要重新调整;部分游戏对第三方输入有检测策略,请自行评估账号风险,本项目不对账号安全作任何保证。
痛点:逐台拿起手机安装、点击、截图,重复劳动多且容易遗漏。
做法:通过 USB Hub 连接多台设备,全部启动服务后用群控同步操作;用后台录制保留过程,用拖拽安装 APK 批量部署。
注意:USB 供电与带宽是瓶颈,设备数量上升时建议使用带独立供电的 Hub 并分批操作;不同机型分辨率差异会影响映射坐标。
痛点:投影仪接手机不方便,口头描述点击位置效率低。
做法:用无线连接摆脱线缆,全屏显示并配合窗口置顶;需要复用素材时开启录制。
注意:无线画面在弱网下会掉帧,正式演示建议优先使用 USB;演示前关闭手机的消息通知预览,避免隐私内容出现在大屏上。
痛点:写文档时频繁被手机消息打断,来回切换设备。
做法:把投屏窗口缩小置于屏幕一角并设置置顶,用剪贴板同步在两端搬运文本,用拖拽完成文件互传。
注意:投屏窗口会持续占用一定的 CPU 与 GPU 资源;若只是收消息,可考虑厂商自带的跨设备协同功能,二者定位不同。
明确“不做什么”,比罗列“能做什么”更能帮助你判断它是否适合你的需求。
| 需求 | 是否支持 | 说明 |
|---|---|---|
| 局域网内投屏与控制 | 支持 | USB 与同网段无线连接均可 |
| 跨公网远程控制异地设备 | 不支持 | 无云端中继与穿透能力,需自行搭建内网方案 |
| 免调试授权的设备 | 不支持 | 必须开启 USB 调试并完成授权 |
| 截取禁止截屏的应用画面 | 不支持 | 受 Android FLAG_SECURE 限制,画面可能为黑屏 |
| 稳定转发手机音频 | 有限支持 | sndcpy 方案仅 Android 10+,官方标注不推荐 |
| 设备集中管控(MDM) | 不支持 | 无分组策略、远程下发、资产台账等企业管控能力 |
| iOS 设备 | 不支持 | 项目面向 Android,基于 ADB 通道实现 |
使用手机 App 扫描下方任一二维码,即可识别对应网盘中的 QtScrcpy 安装包。 本站不提供直链下载,请以网盘页面展示的文件名与版本信息为准。
提示:请勿从来源不明的第三方站点下载“绿色版”“破解版”,此类安装包可能被植入恶意程序。
需要官方原版安装包?可前往 GitHub Releases 或 Gitee Releases 获取。