QtScrcpy: 键鼠操控安卓投屏, 一个人同时盯住多台手机
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
QtScrcpy 是一款免费开源的安卓投屏与键鼠控制工具, 手机画面经 USB 或 WiFi 实时上屏, 键盘鼠标直接操作。延迟 35~70ms, 帧率 30~60fps, 首帧 1 秒内可见, 无需 root, 安卓 5.0 以上即可。
👥 为谁准备
该装的人: 手游想用键鼠打、需要同时管多台手机、想让电脑成为手机操作主力的用户。
不用装的人: 只偶尔传个文件截图的(微信文件传输助手就够), iPhone 用户(只连安卓), 需要电脑外放手机声音的(内置音频同步仅安卓 10+ 且官方不推荐, 蓝牙更稳)。
核心数据, 先对齐预期:
- 设备端门槛: 安卓 5.0 (API 21) 以上, 开启 USB 调试, 手机里不装任何 App
- 非侵入: 只在
/data/local/tmp/推一个 scrcpy-server.jar, 断开即无痕 - 平台: Windows / macOS / Linux 三端都有, Linux 用户可
yay -Syu qtscrcpy
想从源码编译的话, 按 docs/DEVELOP.md 装好 Qt 5.12+ 后执行:
# 克隆仓库, --recurse-submodules 必须带, 否则缺 scrcpy-server 依赖 git clone --recurse-submodules https://gitcode.com/GitHub_Trending/qt/QtScrcpy⏲ 5 分钟见到画面
USB 主线五步, 1 分钟内能出画面:
- 手机: 设置 → 关于手机 → 连点 7 次"版本号", 解锁开发者选项
- 开发者选项里打开USB 调试和USB 调试(安全设置)—— 九成"能看画面点不动"都漏在这一步, 小米等机型的模拟点击权限就藏在后一项
- 插数据线, 手机弹窗选"允许调试"
- 打开程序, 点"刷新设备", 序列号出现
- 点"启动服务", 约 3 秒内画面弹出, 键鼠即时接管
无线是"之后可以拔线"的附注: 首次 USB 建立信任后, 依次点"获取设备 IP"→"启动 adbd"→"无线连接", 再刷新选中 IP 开头的设备、启动服务, 之后同一局域网内断线重连都走无线。
📋 功能全景
一张表看边界, 30 秒扫完:
| 功能 | 一句话说明 | 快捷键 / 配置 |
|---|---|---|
| 实时投屏+键鼠控制 | 30~60fps, 1920×1080 以上分辨率 | 启动服务按钮 |
| 录屏/仅后台录制 | 不弹窗口只录像, 挂机留档 | 启动配置里勾选 |
| 文件拖拽推送 | 拖进窗口落到手机, 改路径见 config.ini | 默认/sdcard/ |
| 安装 APK | 拖个 apk 进窗口直接装 | 拖拽即可 |
| 剪贴板同步 | 拉取、注入、文本注入三种, 发中文用后两种 | Ctrl+C/Ctrl+Shift+V/Ctrl+V |
| 自定义按键映射 | 单击/双击/多点连击/拖拽/方向盘 5 种类型 | ~键切换映射模式 |
| 多设备群控 | 主控窗口的操作同步到其余设备 | 工具条"群控"按钮 |
| 全屏/去黑边 | 窗口布局两个档位 | Ctrl+F/Ctrl+W或左键双击 |
| 系统手势快捷键 | 主页/返回/切换/音量/电源 | Ctrl+HBS↑↓P |
| 息屏保持投屏 | 手机黑屏省电力, 投屏不断 | Ctrl+O |
映射脚本放 keymap/ 目录, 群控逻辑看 QtScrcpy/groupcontroller/ 源码, 二次开发从这里入手最快。
🕹 个人玩家: 手游键鼠化
痛点: 射击手游双指操作准星飘, 长时间握手机手腕酸。
工具组合: 连接并启动服务 → 点"刷新脚本"扫到keymap/里的配置 → 下拉选gameforpeace.json→ 点"应用脚本" → 按~切入映射模式。之后 WASD 方向盘走位, 鼠标转视野, Alt 触发"小眼睛"微调, 再按一次~切回普通控制。给别的游戏写映射时, 鼠标左键点一下画面, 控制台直接打印当前pos, 抄进 json 就是坐标; 规则全文在 docs/KeyMapDes_zh.md。
效果对比: 从"双指盲操作、准星靠手感"变成"鼠标锁定目标、键盘控制走位", 35~70ms 的延迟下准星基本跟手。两个已知坑: 载具记得在游戏内切单摇杆模式; 上下车瞬间会新建界面导致触摸点失效, 连按两次~即可恢复, 2 秒的事。
📈 多机运营: 批量操作
痛点: 电商矩阵、多账号维护, 8 台手机轮流点, 一套 30 秒的流程要重复 8 遍。
工具组合: USB/WiFi 混插把多台设备都启动服务 → 在作为主控的那个窗口点工具条"群控"按钮, 该窗口即为主控 → 在任意主控窗口操作, 鼠标、键盘、返回、文件推送、装 apk 等事件由 QtScrcpy/groupcontroller/ 的 GroupController 分发给其余设备。
效果对比: 同一套操作从"8 台手机重复执行 8 次"变成"1 次输入全部生效", 单批操作耗时直接除以台数; 窗口支持吸附拼接, 满屏设备一屏尽收。
🎓 测试与教学演示
痛点: 演示一台手机, 后排看不见; 兼容用例要在每台设备上跑一遍。
工具组合: 多设备同时启动服务 → 勾选群控组成演示组 → 需要留档的机器在启动配置勾选"仅后台录制", 只录不占屏幕。
效果对比: 从"逐台演示、每台 10 分钟"变成"同一用例全组同步走完", 讲到哪里点哪里, 所有屏幕动作一致; 挂机跑批时后台录屏自动留档, 不用人盯着。
⚙ 值得动的参数只有这几个
配置文件 config/config.ini, 日常真正用上的就四个:
| 参数 | 默认值 | 建议值 | 适用场景 |
|---|---|---|---|
MaxFps | 0不限 | 30或60 | 仅安卓 10+ 生效, 限帧换带宽, 无线更稳 |
UseDesktopOpenGL | -1自动 | 1或2 | 显卡不兼容导致不出画面时, 换解码/渲染后端 |
RenderExpiredFrames | 0 | 保持0 | 跳过过期帧, 用少量画质换更低延迟 |
PushFilePath | /sdcard/ | 按需 | 改拖拽文件的落盘目录, 结尾必须带/ |
; 改它是干什么用: 无线投屏卡顿时把帧率顶到 60 以下, 保稳定 MaxFps=60 ; 显卡报 shader 错误时, 改成 1 (dx 硬解) 或 2 (opengl 硬解) 各试一轮 UseDesktopOpenGL=-1经验值: 办公 720P/30fps 足够; 打比赛类手游码率拉到 6Mbps、帧率顶满; 改动后记得重启服务才生效。
🩺 坏了先自查
按出现频率排, 每个都是"症状 → 原因 → 解法":
- 刷新后设备列表是空的 → 手机端没建立信任或驱动缺失 → 先用任意手机助手连一次, 再回来看
- 报
adb server version ... doesn't match→ 电脑里多个 adb 版本在抢端口 → 任务管理器杀掉 adb 进程, 或在 config.ini 用AdbPath指死一个 - 能看画面但点不动 → 只开了 USB 调试, 没开"USB 调试(安全设置)"里的模拟点击 → 补开后重连
- 能控制但没画面, 日志有
shader program is not linked→ 显卡不支持当前渲染方式 →UseDesktopOpenGL改 1 或 2 Could not open video stream→ 分辨率或码率超出设备/网络承受力 → 分辨率调低一档- 中文打不进去 → 手机端输入法不支持注入 → 装搜狗或 QQ 输入法设为默认, 重连
- Windows 画面发虚 → 高 DPI 缩放被系统接管 →
QtScrcpy.exe属性里把缩放行为改成"应用程序"
更多案例翻 docs/FAQ.md, 排查时先看控制台日志, 原因基本都写在里面。
三类人不必碰它: 只偶尔传文件的(系统自带工具足够), 只玩 iPhone 的, 以及对延迟不敏感、用云手机方案更省事的。真要上手, 今天就把 USB 投屏、拖拽装 apk、剪贴板同步这三样跑通, 一周后再上键鼠映射和群控——映射脚本里那个~切换键, 是第一个就该按下去的按钮。
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考