Project Icon

QtScrcpy

跨平台Android设备实时镜像与控制软件

QtScrcpy是一款基于scrcpy项目的Android设备屏幕镜像和控制软件。它支持通过USB或网络连接Android设备,无需root权限。QtScrcpy具有轻量、高性能、低延迟等特点,支持Windows、macOS和Linux平台。软件提供实时显示、键鼠控制、录屏、截图、无线连接、多设备连接等功能,还支持自定义按键映射和群控。QtScrcpy使用Qt重新实现了用户界面,提高了跨平台兼容性和易用性。

QtScrcpy

Open Collective 财务贡献者 Windows MacOS Ubuntu

许可证 发布

中文用户?点我查看中文介绍

QtScrcpy 支持通过 USB 或网络显示和控制 Android 设备。它不需要 root 权限。

它支持三大主要平台:GNU/Linux、Windows 和 macOS。

它专注于:

  • 轻量级(仅显示设备屏幕)
  • 性能(30~60 fps)
  • 质量(1920×1080 或更高)
  • 低延迟35~70ms
  • 快速启动(仅需约 1 秒即可显示第一帧)
  • 非侵入性(设备上不会安装任何东西)

win

mac

linux

按键映射

您可以根据需要编写脚本,将键盘和鼠标操作映射到手机的触摸和点击。这里是脚本编写规则。

默认提供了抖音和一些其他游戏的脚本。启用后,您可以用键盘和鼠标玩游戏。PUBG Mobile 的默认按键映射如下:

游戏

这里有一个玩 PUBG Mobile 的视频演示。

添加新的自定义映射文件的说明。

  • 编写自定义脚本并将其放入 keymap 目录
  • 点击 刷新脚本 显示它
  • 选择你的脚本
  • 连接手机,启动服务并点击 应用
  • ~ 键(按键映射脚本中的 SwitchKey)切换到自定义映射模式
  • 再次按 ~ 键切换回正常模式
  • (对于 PUBG Mobile 等游戏)如果你想用方向盘键移动车辆,需要将移动模式设置为 单摇杆模式

群控

你可以同时控制所有手机。

群控演示

致谢

QtScrcpy 基于 Genymobilescrcpy 项目。非常感谢!

QtScrcpy 与原始 scrcpy 的区别如下:

关键点scrcpyQtScrcpy
界面sdlqt
视频编码ffmpegffmpeg
视频渲染sdlopengl
跨平台自行实现由 Qt 提供
语言CC++
风格同步异步
按键映射无自定义按键映射支持自定义按键映射
构建meson+gradleqmake 或 CMake
  • 使用 Qt 可以很容易地自定义 GUI
  • 基于 Qt 的信号槽机制的异步编程提高了性能
  • 易于学习
  • 增加了多点触控支持

学习

如果你对它感兴趣并想学习它是如何工作的,但不知道如何入手,你可以选择购买我录制的视频课程。 它详细介绍了整个软件的开发架构和开发过程,帮助你从零开始开发 QtScrcpy。

课程介绍:https://blog.csdn.net/rankun1/article/details/87970523

你可以加入我的 QtScrcpy QQ 群,与志同道合的朋友交流想法。

QQ 群号:901736468

要求

Android API >= 21(Android 5.0)。

确保你在设备上启用了 ADB 调试

下载

Windows

为了简便起见,在 Windows 上,预构建的包含所有依赖项(包括 ADB)的压缩包可在 Releases 中获取:

  • [QtScrcpy][github-download]

或者您可以自行构建

Mac OS

为了简便起见,在 Mac OS 上,预构建的包含所有依赖项(包括 ADB)的压缩包可在 Releases 中获取:

  • [QtScrcpy][github-download]

或者您可以自行构建

Linux

对于 Arch Linux 用户,您可以使用 AUR 安装:yay -Syu qtscrcpy(可能过时;维护者:yochananmarqos

对于其他发行版的用户,您可以从 Releases 获取预构建的压缩包:

  • [QtScrcpy][github-download]

或者您可以在 GitHub Actions 中获取,在 dev 分支下载最新的构建产物。

或者您可以自行构建(不推荐,如果可以的话请从 Actions 获取)

运行

将您的 Android 设备连接到计算机,然后运行程序并点击 USB 连接WiFi 连接

无线连接步骤(确保手机和电脑在同一局域网内):

  1. 在 Android 设备的开发者选项中启用 USB 调试
  2. 通过 USB 将 Android 设备连接到计算机
  3. 点击更新设备,您将看到设备号已更新
  4. 点击获取设备 IP
  5. 点击启动 adbd
  6. 点击无线连接
  7. 再次点击更新设备,将发现另一个带有 IP 地址的设备。选择此设备。
  8. 点击启动服务

注意:在启动 adbd 后,无需继续保持 Android 设备通过 USB 连接。

界面按钮介绍:

  • 启动配置:启动服务前的功能参数设置

    您可以设置本地录制视频的比特率、分辨率、录制格式和视频保存路径。

    • 后台录制:启动服务后不显示 Android 设备屏幕。在后台进行录制。
    • 总是置顶:Android 设备的视频窗口将始终保持在顶部
    • 关闭屏幕:启动服务后自动关闭 Android 设备屏幕以节省电量
    • 反向连接:服务启动模式。如果遇到连接失败并提示 more than one device,可以取消勾选
  • 刷新设备:刷新当前连接的设备

  • 启动服务:连接到 Android 设备

  • 停止服务:断开与 Android 设备的连接

  • 停止所有服务:断开所有已连接的 Android 设备

  • 获取设备 IP:获取 Android 设备的 IP 地址并更新到"无线"区域,方便无线连接设置。

  • 启动 adbd:启动 Android 设备的 adbd 服务。在无线连接前必须启动它。

  • 无线连接:无线连接到 Android 设备

  • 无线断开:断开无线连接的 Android 设备

  • adb 命令:执行自定义 ADB 命令(目前不支持阻塞命令,如 shell)

主要功能

  • 实时显示 Android 设备屏幕

  • 实时鼠标和键盘控制 Android 设备

  • 屏幕录制

  • 截图为 png

  • 无线连接

  • 支持多设备连接

  • 全屏显示

  • 显示在顶部

  • 安装 apk:将 apk 拖放到视频窗口以安装

  • 传输文件:将文件拖放到视频窗口以发送文件到 Android 设备

  • 后台录制:仅录制,不显示界面

  • 复制粘贴

    可以在计算机和设备之间双向同步剪贴板:

    • Ctrl + c 将设备剪贴板复制到计算机剪贴板;
    • Ctrl + Shift + v 将计算机剪贴板复制到设备剪贴板;
    • Ctrl + v 将计算机剪贴板作为一系列文本事件 粘贴(非 ASCII 字符尚不支持)。
  • 群控

  • 将设备扬声器声音同步到计算机(基于 sndcpy,仅支持 Android 10+)

快捷键

操作快捷键 (Windows)快捷键 (macOS)
切换全屏模式Ctrl+fCmd+f
将窗口调整为 1:1(像素完美)Ctrl+gCmd+g
调整窗口大小以移除黑边Ctrl+w | 双击¹Cmd+w | 双击¹
点击 HOMECtrl+h | 中键点击Ctrl+h | 中键点击
点击 BACKCtrl+b | 右键点击²Cmd+b | 右键点击²
点击 APP_SWITCHCtrl+sCmd+s
点击 MENUCtrl+mCtrl+m
点击 VOLUME_UPCtrl+ (上)Cmd+ (上)
点击 VOLUME_DOWNCtrl+ (下)Cmd+ (下)
点击 POWERCtrl+pCmd+p
开机右键点击²右键点击²
关闭设备屏幕(保持镜像)Ctrl+oCmd+o
展开通知面板Ctrl+nCmd+n
收起通知面板Ctrl+Shift+nCmd+Shift+n
复制到剪贴板³Ctrl+cCmd+c
剪切到剪贴板³Ctrl+xCmd+x
同步剪贴板并粘贴³Ctrl+vCmd+v
注入计算机剪贴板文本Ctrl+Shift+vCmd+Shift+v
¹双击黑色边框可将其移除。

²右键点击可在屏幕关闭时开启屏幕,否则会执行返回操作。

³仅适用于 Android 7.0 及以上版本。

待办事项

待办事项

常见问题

常见问题

开发

开发

欢迎大家参与维护本项目并贡献代码,但请遵循以下要求:

  1. 请向 dev 分支而非 master 分支提交 PR
  2. 提交 PR 前请先 rebase 原项目
  3. 请遵循"小批量、多次数"的原则提交 PR(建议一个改动一个 PR)
  4. 请保持代码风格与现有风格一致

为什么开发 QtScrcpy?

以下是按重要性排序的几个原因。

  1. 在学习 Qt 的过程中,我需要一个实际项目来尝试。
  2. 我有一些音视频方面的背景技能,并且对此感兴趣。
  3. 我有一些 Android 开发技能。但已经很久没用了,想巩固一下。
  4. 我发现了 scrcpy,决定用新的技术栈(C++ + Qt + Opengl + FFmpeg)重新制作它。

构建

所有依赖都已提供,编译起来很简单。

QtScrcpy

非 Arch Linux 用户

  1. 使用官方 Qt 安装程序或第三方工具如 aqt 在目标平台上设置 Qt 开发环境。 需要 Qt 5.12 及以上版本。(Windows 上使用 MSVC 2019)
  2. 使用 git clone --recurse-submodules git@github.com:barry-ran/QtScrcpy.git 克隆项目
  3. 对于 Windows,用 QtCreator 打开 CMakeLists.txt 并编译 Release 版本
  4. 对于 Linux,直接运行 ./ci/linux/build_for_linux.sh "Release" 注意:编译后的文件位于 output/x64/Release

Arch Linux 用户

  1. 安装软件包: base-devel cmake qt5-base qt5-multimedia qt5-x11extras (推荐 qtcreator)
  2. 使用 git clone --recurse-submodules git@github.com:barry-ran/QtScrcpy.git 克隆项目
  3. 运行 ./ci/linux/build_for_linux.sh "Release"

Scrcpy-Server

  1. 在目标平台上搭建 Android 开发环境
  2. 用 Android Studio 打开项目根目录中的 server 项目
  3. 首次打开时,如果没有对应版本的 Gradle,会提示查找 Gradle,是否升级 Gradle 或创建。选择取消。取消后会提示选择现有 Gradle 的位置。也取消,它会自动下载。
  4. 编译 apk 后,将其重命名为 scrcpy-server 并替换 QtScrcpy/QtScrcpyCore/src/third_party/scrcpy-server。

许可证

由于基于 scrcpy,因此使用与 scrcpy 相同的许可证

Copyright (C) 2025 Rankun

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

关于作者

Barry CSDN

一个普通的程序员,主要从事 C++ 桌面客户端开发,毕业于山东一年多的钢铁仿真教育软件,后来转到上海从事安全、在线教育相关领域工作,熟悉音视频。对语音通话、直播教育、视频会议等音视频领域的相关解决方案有一定了解。也有 Android、Linux 服务器等各种开发经验。

贡献者

代码贡献者

这个项目的存在要感谢所有贡献代码的人。[贡献]。

财务贡献者

成为财务贡献者并帮助我们维持我们的社区。[贡献]

个人

组织

通过您的组织支持这个项目。您的徽标将出现在这里,并链接到您的网站。[贡献]

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号