mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-04-22 04:24:59 +00:00
update:更新readme
This commit is contained in:
parent
4aa47ec3d1
commit
3df69eab95
2 changed files with 151 additions and 27 deletions
178
README.md
178
README.md
|
@ -1,37 +1,161 @@
|
|||
# QtScrcpy
|
||||
# QtScrcpy(v1.0.1)
|
||||
此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限。
|
||||
|
||||
#### 项目介绍
|
||||
jjj
|
||||
单个应用程序最多支持16个安卓设备同时连接。
|
||||
|
||||
#### 软件架构
|
||||
软件架构说明
|
||||
它适用于GNU/Linux,Windows和MacOS。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
基于[Genymobile](https://github.com/Genymobile)的[scrcpy](https://github.com/Genymobile/scrcpy)项目进行复刻,重构,非常感谢它。和原版scrcpy区别如下:
|
||||
|
||||
关键点|scrcpy|QtScrcpy
|
||||
--|:--:|:--:
|
||||
界面|sdl|qt
|
||||
视频解码|ffmpeg|ffmpeg
|
||||
视频渲染|sdl|opengl
|
||||
跨平台基础设施|自己封装|Qt提供
|
||||
编程语言|C|C++
|
||||
编程方式|同步|异步
|
||||
控制方式|单点触控|单点/多点触控
|
||||
编译方式|meson+gradle|Qt Creator
|
||||
|
||||
- 使用Qt可以非常容易的定制自己的界面
|
||||
- 基于Qt的信号槽机制的异步编程提高性能
|
||||
- 方便新手学习
|
||||
- 增加多点触控支持
|
||||
|
||||
|
||||
#### 安装教程
|
||||
## 学习它
|
||||
如果你对它感兴趣,想学习它的实现原理而又感觉无从下手,可以选择购买我录制的视频课程,
|
||||
里面详细介绍了整个软件的开发架构以及开发流程,带你从无到有的开发QtScrcpy:
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
课程介绍:[https://blog.csdn.net/rankun1/article/details/87970523](https://blog.csdn.net/rankun1/article/details/87970523)
|
||||
|
||||
#### 使用说明
|
||||
或者你也可以加入我的QtScrcpy群,和志同道合的朋友一块互相交流技术:
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 参与贡献
|
||||
|
||||
1. Fork 本项目
|
||||
2. 新建 Feat_xxx 分支
|
||||
3. 提交代码
|
||||
4. 新建 Pull Request
|
||||
群号:901736468
|
||||
|
||||
|
||||
#### 码云特技
|
||||
## 要求
|
||||
Android部分至少需要API 21(Android 5.0)。
|
||||
|
||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
||||
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
|
||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
|
||||
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
|
||||
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
||||
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
确保在您的设备上[启用了adb调试][enable-adb]。
|
||||
|
||||
[enable-adb]: https://developer.android.com/studio/command-line/adb.html#Enabling
|
||||
|
||||
|
||||
## 下载这个软件
|
||||
|
||||
### Windows
|
||||
|
||||
对于windows平台,你可以直接使用我编译好的可执行程序:
|
||||
|
||||
- [`QtScrcpy-win32-v1.0.1.zip`][direct-win32]
|
||||
|
||||
[direct-win32]: https://github.com/barry-ran/QtScrcpy/releases/v1.0.1/QtScrcpy-win32-v1.0.1.zip
|
||||
|
||||
你也可以[自己编译](#如何编译)
|
||||
|
||||
### Mac OS
|
||||
|
||||
对于Mac OS平台,你可以直接使用我编译好的可执行程序:
|
||||
|
||||
- [`QtScrcpy-mac64-v1.0.1.zip`][direct-mac64]
|
||||
|
||||
[direct-mac64]: https://github.com/barry-ran/QtScrcpy/releases/v1.0.1/QtScrcpy-mac64-v1.0.1.zip
|
||||
|
||||
你也可以[自己编译](#如何编译)
|
||||
|
||||
### Linux
|
||||
|
||||
目前只提供了windows和mac平台的可执行程序,如果需要linux平台的可执行程序,
|
||||
|
||||
您通常需要[自己编译](#如何编译)。别担心,这并不难。
|
||||
|
||||
目前只在ubuntu上测试过
|
||||
|
||||
## 运行
|
||||
|
||||
在你的电脑上接入Android设备,然后运行程序,按顺序点击如下按钮即可连接到Android设备
|
||||
|
||||

|
||||
|
||||
## 界面按钮介绍:
|
||||
|
||||
- 启动配置:启动服务前的功能参数设置
|
||||
|
||||
分别可以设置本地录制视频的比特率、分辨率、录制格式、录像保存路径等。
|
||||
|
||||
- 仅后台录制:启动服务不现实界面,只是录制Android设备屏幕
|
||||
- 窗口置顶:Android设备视频窗口置顶显示
|
||||
- 自动息屏:启动服务以后,自动关闭Android设备屏幕节省电量
|
||||
- 使用reverse:服务启动模式,出现服务启动失败报错more than one device可以去掉这个勾选尝试连接
|
||||
|
||||
|
||||
- 刷新设备列表:刷新当前连接的设备
|
||||
- 启动服务:连接到Android设备
|
||||
- 停止服务:断开与Android设备的连接
|
||||
- 停止所有服务:断开所有已连接的Android设备
|
||||
- 获取设备ip:获取到Android设备的ip地址,更新到“无线”区域中,方便进行无线连接
|
||||
- 启动adbd:启动Android设备的adbd服务,无线连接之前,必须要启动。
|
||||
- 无线连接:使用无线方式连接Android设备
|
||||
- 无线断开:断开无线方式连接的Android设备
|
||||
- adb命令行:方便执行自定义adb命令(目前不支持阻塞命令,例如shell)
|
||||
|
||||
|
||||
## 主要功能
|
||||
- 实时显示Android设备屏幕
|
||||
- 实时键鼠控制Android设备
|
||||
- 屏幕录制
|
||||
- 无线连接
|
||||
- 最多支持16台设备连接(PC性能允许的情况下可以增加,需要自己编译)
|
||||
- 全屏显示
|
||||
- 窗口置顶
|
||||
- 安装apk:拖拽apk到视频窗口即可安装
|
||||
- 传输文件:拖拽文件到视频窗口即可发送文件到Android设备
|
||||
- 后台录制:只录制,不显示界面
|
||||
|
||||
|
||||
## 为什么开发QtScrcpy?
|
||||
综合起来有以下几个原因,比重从大到小排列:
|
||||
1. 学习Qt的过程中需要一个项目实战一下
|
||||
2. 本身具有音视频相关技能,对音视频很感兴趣
|
||||
3. 本身具有Android开发技能,好久没用有点生疏,需要巩固一下
|
||||
4. 发现了scrcpy,决定用新的技术栈(C++ + Qt + Opengl + ffmpeg)复刻一下
|
||||
|
||||
|
||||
## 如何编译
|
||||
尽量提供了所有依赖资源,方便傻瓜式编译:
|
||||
- 目标平台上安装QtCreator
|
||||
- 克隆该项目
|
||||
- 使用QtCreator打开项目根目录all.pro
|
||||
- 编译,运行即可
|
||||
|
||||
|
||||
## Licence
|
||||
由于是复刻的scrcpy,尊重它的Licence
|
||||
|
||||
Copyright (C) 2018 Genymobile
|
||||
|
||||
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](https://blog.csdn.net/rankun1)
|
||||
|
||||
一枚普通的程序员,工作中主要使用C++进行桌面客户端开发,一毕业在山东做过一年多钢铁仿真教育软件,后来转战上海先后从事安防,在线教育相关领域工作,对音视频比较熟悉,对音视频领域如语音通话,直播教育,视频会议等相关解决方案有所了解。同时具有android,linux服务器等开发经验。
|
BIN
screenshot/run.png
Normal file
BIN
screenshot/run.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
Loading…
Add table
Reference in a new issue