news 2026/8/19 19:22:38

QtScrcpy 投屏教程:7 步从连上手机到群控多设备、键鼠畅玩游戏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QtScrcpy 投屏教程:7 步从连上手机到群控多设备、键鼠畅玩游戏

QtScrcpy 投屏教程:7 步从连上手机到群控多设备、键鼠畅玩游戏

【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy

QtScrcpy 是一款免费开源的 Android 投屏控制软件,能在电脑上实时显示手机画面并反向操作,全程不用 root、也不必在手机上安装任何应用。我自己从"只会截图"到"同时管五台手机、用键盘鼠标打手游",走了不少弯路,这篇文章就按这条路线把经验一次讲清。

如果你也遇到过下面这种画面,这篇文章就是写给你的。

一、先从一个"人肉切手机"的晚上说起

想象一下这个场景:你在做 App 测试,桌面上摆了四五台安卓机,要挨个装包、挨个录操作视频、挨个点按钮;旁边还有一个做手游工作室的同事,恨不得一个人同时操控一排手机跑日常任务。再或者,你只是想躺着玩《和平精英》,却嫌手机屏幕小、搓玻璃搓得手指疼。

这些需求其实指向同一个答案:让电脑接管手机。市面上的投屏工具不少,但 QtScrcpy 有几个让我认准它的理由:

  • 免费开源,代码随便看,想改就改;
  • 非侵入,手机端不装任何 App,用完即走,不留痕迹;
  • 低延迟,官方标称 35~70ms,实际跟手程度接近"手机自己在那";
  • 一次管多台,群控、批量操作都是内置能力。

它横跨 Windows、macOS、Linux 三大桌面系统,理论上你的电脑是什么系统都能用。

二、十分钟,让第一台手机出现在电脑上

1. 先把软件弄到手

最省事的办法是直接下载对应平台的发行包;想追新版本或自己编译,就克隆源码:

git clone --recurse-submodules https://gitcode.com/GitHub_Trending/qt/QtScrcpy cd QtScrcpy

2. 给手机打开"开发者模式"

这一步只做一次,以后都省事:进手机"设置 → 关于手机",对着"版本号"连续点七下,直到提示已进入开发者模式;然后回到"设置 → 系统 → 开发者选项",把USB 调试打开。如果你的手机支持,顺手把USB 调试(安全设置)也开了,模拟点击、按键映射等功能会更顺畅。

开启安卓USB调试与安全设置以便连接QtScrcpy投屏.jpg)

3. 有线连接,最稳的开局

用数据线把手机和电脑连起来,QtScrcpy 里启动服务,正常情况下 1 秒内就能看到手机画面。这是延迟最低、最不容易出幺蛾子的连接方式,第一次使用强烈推荐先走这条。

4. 想摆脱线缆?无线连接四步走

对比项有线连接无线连接
延迟最低稍高,日常够用
稳定性受局域网环境影响
自由度线缆束缚随意走动
首次门槛即插即用需要一次有线打底

无线连接的完整流程:

  1. 先用 USB 把手机连上电脑;
  2. 在界面上点"获取设备 IP",确认手机和电脑在同一局域网;
  3. 点"启动 adbd",让手机进入无线调试状态;
  4. 点"无线连接",成功后再拔掉数据线。

小提醒:部分手机会要求手动授权无线调试权限,电脑的防火墙也别拦着 adb 的端口,否则会时断时续。

三、摸熟三件套:投屏、截图、录屏

连上之后,日常高频操作其实就三样。

投屏:画面窗口可以自由缩放,不用的时候还能最小化到后台,只保留控制能力;多台设备同时在线时,每台手机都有独立窗口,互不干扰。

截图:看到想要保存的画面,按下Ctrl+S,当前帧立刻存成 PNG,比在手机上截图再导出到电脑利索多了。

录屏:需要录一段操作演示或游戏素材时,直接开录,支持后台录制——也就是不弹出画面、纯粹在后台抓流,非常省资源。录制参数可以按需调整:

  • 比特率:8Mbps 约 60MB/分钟,画质高清,适合游戏和演示;
  • 比特率:4Mbps 约 30MB/分钟,画质良好,日常记录够用;
  • 比特率:2Mbps 约 15MB/分钟,主打小体积,方便快速分享。

分辨率、帧率同样可以自定义,按你的电脑性能和用途取舍即可。

四、当手上有五台手机:群控与批量操作

单台设备只是开胃菜,QtScrcpy 真正让我眼前一亮的是群控。

  • 同步操作:一条指令推送给所有连接中的设备,装包、点按钮、跑脚本,一键到位;
  • 灵活布局:设备窗口可以随意拖放,摆成你喜欢的位置,屏幕多大都能排开;
  • 分组管理:把设备按用途分组,比如"测试机""直播机",随时切换方案;
  • 状态监控:每台设备的连接状态一目了然,哪台断了立刻知道。

对应用商店运营、手游工作室这类"一人盯多机"的场景,这个功能基本等于把加班时间砍半。

五、把手游玩成端游,再聊聊它为啥这么跟手

键鼠映射三步走

手游最劝退的操作就是搓玻璃,好在 QtScrcpy 支持自定义按键映射,把键盘按键映射成屏幕上的触摸点击,等于给手机装了一套"外挂键鼠"。

  • 第一步:在keymap目录下放入映射脚本(JSON 格式),项目自带《和平精英》《第五人格》、TikTok 等热门应用的预设;
  • 第二步:点"刷新脚本",在下拉列表里选中你的目标脚本,连接设备、启动服务后点"应用脚本";
  • 第三步:按~键(脚本里定义的切换键)进入映射模式,之后就是键鼠操作时间;再按一次~回到普通控制模式。

写一份自己的映射

预设不够用?自己写也很直观:打开映射编辑器,在手机画面上框出要触控的区域,再绑定一个键盘按键,保存成 JSON 放进 keymap 目录即可。坐标位置可以通过界面实时微调,反复试到手感满意为止。

35~70ms 的低延迟是怎么来的

为什么按键按下去,屏幕几乎同步就有反应?核心在于这套"分工明确"的架构:

  • 手机端只干一件事——抓屏和编码,靠 Android 的 MediaCodec 硬件编码器把画面压成 H.264 视频流,几乎不占 CPU;
  • 电脑端负责解码与渲染:FFmpeg 解码视频流,OpenGL 做 GPU 加速渲染,画面直接怼上屏幕;
  • 两端之间通过 adb 建立双向数据通道,一条流上传画面,另一条流下发触控指令。

再加上三个"狠活":视频帧解码后立即渲染、不做缓冲堆积(零缓冲策略);编码、解码、渲染、事件处理分别跑在不同线程,互不拖后腿;传输用 H.264 高压缩比,带宽占用被压得很低。这套组合拳打下来,画面才显得又快又跟手。

六、连不上、画面卡?翻这份自救清单

用久了总会遇到几个经典问题,我把高频坑位和对应的解药列出来。

设备认不出来:先怀疑 adb 服务,三连命令走一遍——

adb devices # 看设备在不在列表里 adb kill-server # 重启 adb 服务 adb start-server # 重新启动

画面卡顿、延迟变大:优先把视频比特率降到 2~4Mbps;条件允许就换回 USB 有线连接;顺便检查电脑显卡驱动是不是该更新了。

完全没有声音:音频传输要求 Android 10 及以上系统;项目sndcpy目录下有一个sndcpy.apk,通过 adb 装上并授予录音权限即可。

日常使用的调优建议也一并给你,照着抄就行:

  • 最大分辨率设 1080p,画质和性能都稳妥;
  • 视频比特率 4Mbps,覆盖大多数场景;
  • 编码器预设选 medium,速度与质量平衡;
  • 缓存保持默认,别手动调大,免得吃内存。

七、想动手改?源码目录其实不复杂

最后聊聊开发者最关心的事。这个项目虽然是 C++ 写的,但目录划分非常友好,按模块理解就行:

  • QtScrcpyCore/:核心逻辑,视频处理、设备通信都在这;
  • ui/:界面层,基于 Qt 框架,改界面就改这里;
  • util/:跨平台工具函数,比如鼠标点击、配置读写;
  • keymap/:按键映射脚本的家;
  • groupcontroller/:多设备群组控制的实现;
  • render/:OpenGL 渲染等画面输出相关代码;
  • audio/:音频采集与播放。

想自己编译,Ubuntu 上大致是:

sudo apt install qt5-default libavcodec-dev libavformat-dev libavutil-dev sudo apt install libsdl2-dev libusb-1.0-0-dev mkdir build && cd build cmake .. make -j$(nproc)

至于二次开发的方向,可能性很多:换一套自定义界面、扩展新的设备管理逻辑、给某个游戏写专属映射、甚至把群控能力接进自己的自动化测试框架。项目本身脱胎于 scrcpy,又在此基础上加了 Qt 界面、多点触控和自定义按键映射,学习价值不低。

工具说到底是为了省事。先用有线把它跑起来,再慢慢解锁无线、群控、键鼠映射这些高阶玩法——相信我,一旦顺手了,你就回不到那个"人肉切手机"的夜晚了。

【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/19 19:19:34

用easyAI+Flask构建网页版井字棋AI对战平台:完整教程

用easyAIFlask构建网页版井字棋AI对战平台:完整教程 【免费下载链接】easyAI Python artificial intelligence framework for games 项目地址: https://gitcode.com/gh_mirrors/ea/easyAI 想做一个能在浏览器里和AI下井字棋的小项目?本文用 Pytho…

作者头像 李华
网站建设 2026/8/19 19:18:10

ComfyUI极速出图三步走:Boogu-Image Turbo模型新手友好实战指南

ComfyUI极速出图三步走:Boogu-Image Turbo模型新手友好实战指南 【免费下载链接】Boogu-Image 项目地址: https://ai.gitcode.com/hf_mirrors/Comfy-Org/Boogu-Image 深夜十一点,设计师小陈盯着屏幕上的进度条,第四张概念稿还在一点点…

作者头像 李华