基于Qt ffmpeg开发跨平台安卓实时投屏软件
https://gitee.com/Barryda/QtScrcpy##%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91
从这篇文章得到灵感,决定实现复刻
下载源文件
https://gitee.com/Barryda/QtScrcpy/repository/archive/v1.4.2?ref=v1.4.2&sha=4c3dff6167446a491767182e6bc80248b74df9a2&format=zip&captcha_type=yunpian&token=4b0c2c73080349488bbf96747d3c3ae2&authenticate=14541be97afb4f8d9bfdf56d3bad66e2
Qt开发环境(Qt == 5.15, vs == 2017 (不支持mingw))
本机环境VS2015 qt5.6
pro工程转sln工程
1.在项目目录里,打开命令行,然后找到一个qt的qmake拖入到 命令行窗口里,然后输入-project
2.将.pro文件用记事本打开加入QT += widgets
3.然后再拖进去输入 -tp vc test1.pro
每次对新增了QT的类文件 都要重复这样的工作。
最后打开.vcxproj文件
tips:当你的xx.pro的TEMPLATE = subdirs时,
qmake -r -tp vc xx.pro
最后上面的几个没成功,直接用vs自带的插件,打开了all.pro 文件,直接转化。
平板打开ADB调试
编译没通过,先打开安装包,测试一下运行流畅度,中途遇到个小问题,华为**平板adb调试打不开
找了多方测试:
楼主,将USB连接模式改为【传输照片】或者【传输文件】,
也可以开启【“仅充电”模式下允许 ADB 调试】模式:
进入设置 > 系统 > 关于平板,连续点击7次版本号,直到手机出现提示:您正处于开发者模式,然后点击设置 > 系统 > 开发人员选项 > “仅充电”模式下允许 ADB 调试。
最后是RNDIS 选项才成功跳出运行USB调试选项,成功连接,总体运行比较流畅,还可以通过无线连接,nice!是我想要的程序。
总结下:总共有三个地方设置,
1)设置 里面 安全 允许通过HDB连接设备
2)关于平板电脑 里面连续双击版本号
3)系统和更新 开发人员选项 USB调试 选择USB配置里面 选择 RNDIS(USB以太网)[这个框我也不知怎么调出来的],我想大抵是重复插拔后 欧皇现身。
开始编译
1)qt::SkipEmptyParts 修改为QString::SkipEmptyParts
2)#include "controlmsg.cpp"
添加
#include <QtCore/qmath.h>
3)92行
quint32 u = f * qPow(2, 16);//0x1p16f; // 2^16
4)修改了一些坐标转化的函数,另外注释了device\ui\videoform.cpp(610):
// QWheelEvent wheelEvent(
// pos, event->globalPos(), event->pixelDelta(), event->angleDelta(), event->buttons(), event->modifiers(), event->phase(), event->inverted());
// emit m_device->wheelEvent(&wheelEvent, m_videoWidget->frameSize(), m_videoWidget->size());
滚轮函数 初始化,QT版本好像和这个不一样,所以报错了,暂时注释
5) util\config.cpp 20行
#define COMMON_SERVER_PATH_DEF "/data/local/tmp/scrcpy-server"
不修改上传的时候会有问题
至此,上述编译已经通过。
1> QtScrcpy.vcxproj -> E:\Qt\qtscrcpy\QtScrcpy\QtScrcpy\..\output\win\x86\debug\QtScrcpy.exe
这个目录下生成文件
运行程序需要
把第三方编译好的这4个文件拷贝到运行目录 \output\win\x86\debug
\QtScrcpy\third_party\scrcpy-server
\QtScrcpy\third_party\adb\win\adb.exe
\QtScrcpy\third_party\adb\win\AdbWinApi.dll
\QtScrcpy\third_party\adb\win\AdbWinUsbApi.dll
不通的编译环境选择不同的程序,我的是32位系统,所以是x86 64位系统在x64下面
运行后界面如上
adb 设置后,可以通过无线进行连接。
程序改头换面
修改标题,程序默认参数,进行各方面程序测试。
1)改工程名字
2)拷贝相应生成文件到调试目录
vs 生成事件,将dll复制到目录
copy /y E:\Qt\qtscrcpy\QtScrcpy\QtScrcpy\..\third_party\ffmpeg\bin\x86\*.dll E:\Qt\qtscrcpy\QtScrcpy\QtScrcpy\..\output\win\x86\release
copy /y $(MSBuildProjectDirectory)\..\third_party\scrcpy-server $(MSBuildProjectDirectory)\$(OutputDirectory)
copy /y $(MSBuildProjectDirectory)\..\third_party\adb\win\*.exe $(MSBuildProjectDirectory)\$(OutputDirectory)
copy /y $(MSBuildProjectDirectory)\..\third_party\adb\win\*.dll $(MSBuildProjectDirectory)\$(OutputDirectory)
if errorlevel 1 goto VCEnd
copy /y $(MSBuildProjectDirectory)\..\third_party\scrcpy-server $(MSBuildProjectDirectory)\$(OutputDirectory)
copy /y $(MSBuildProjectDirectory)\..\third_party\adb\win\*.exe $(MSBuildProjectDirectory)\$(OutputDirectory)
copy /y $(MSBuildProjectDirectory)\..\third_party\adb\win\*.dll $(MSBuildProjectDirectory)\$(OutputDirectory)
copy /y $(MSBuildProjectDirectory)\..\third_party\ffmpeg\bin\x64\*.dll $(MSBuildProjectDirectory)\$(OutputDirectory)
if errorlevel 1 goto VCEnd
最后拍了个视频
End
基于Qt ffmpeg开发跨平台安卓实时投屏软件相关推荐
- 基于Qt ffmpeg opengl开发跨平台安卓实时投屏软件
[开源]基于Qt ffmpeg opengl开发跨平台安卓实时投屏软件 码云地址 https://gitee.com/Barryda/QtScrcpy github地址 https://github. ...
- 好工具推荐系列:跨平台安卓实时投屏软件QtScrcpy
Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制.它不需要任何root访问权限. 软件是开源的,C++/Qt: https://gitee.c ...
- qt android wifi,QtScrcpy: Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限...
QtScrcpy QtScrcpy可以通过USB(或通过TCP/IP)连接Android设备,并进行显示和控制.不需要root权限. 单个应用程序最多支持16个安卓设备同时连接. 同时支持GNU/Li ...
- C++版Android实时投屏软件系统源码,安卓手机投屏软件源码,无需root权限
QtScrcpy QtScrcpy 可以通过 USB / 网络连接Android设备,并进行显示和控制.无需root权限. 同时支持 GNU/Linux ,Windows 和 MacOS 三大主流桌面 ...
- pc投屏android软件,Scrcpy安卓电脑投屏软件下载
Scrcpy安卓投屏软件是一款非常棒的安卓电脑投屏软件工具.这款软件可以为用户提供有线.无线两种投屏方式,用户可以方便地利用 Scrcpy 来测试 APP 应用.玩游戏.高效完成一些需要在手机上进行的 ...
- 安卓手机投屏软件_直播教程 | 安卓手机投屏队伍语音解决方案1
安卓手机投屏队伍语音解决方案1 主播大大好啊! 我们之前的文章讲过安卓手机投屏到直播电脑的手游直播教程,使用台式机+投屏的方式,这样无论是游戏体验,还是直播的观看体验,都会好很多,这是也是被手游主播普 ...
- 安卓手机投屏软件_手机投屏软件哪个好?推荐这五款投屏神器
现如今投屏在我们的工作生活中越来越常见了,电影投屏.游戏投屏.网课投屏.会议投屏等诸多场景相信大家也看过不少了.今天就来给大家分享五款非常不错的手机投屏软件,它们的功能各有千秋,大家可以任意选用. 一 ...
- 电视不正常Android镜像投屏,Mirror for Android TV(安卓电视投屏软件) V2.4 Mac版
Mirror for Android TV是一款适用于Mac的安卓电视投屏工具,它可以帮助用户在Mac上即可将视频.电影投屏到安卓电视上,适用于任何电视,设置框或媒体播放器与Android电视操作系统 ...
- 安卓手机投屏软件_手机投屏软件,居然支持所有网址......
[侠友福利]: 领红包啦,支付宝首页搜索"8921726",抓紧上车啦 常年在外上班应该很很久没在电视上看过电影或者电视了吧 最近很多小伙伴一直留言说想要个投屏软件. 因为过年回家 ...
最新文章
- css什么时候用绝对定位,CSS - 使用绝对定位
- iview tooltip自动消失_惠州广日自动人行道价格大概多少
- 一台服务器创建多个ssh_如何创建可用于生产的第一台安全服务器
- nodejs es6 中的单例模式
- git推送tag到远端服务器
- (StreamReader.ReadLine()==null)还是(-1 != StreamReader.Peek())?
- 【算法】—— 最大子序列和问题
- Linux下的C程序如何调用系统命令,并获取系统的输出信息到C程序中
- 《Effective STL中文版》前言
- 2022前端CSS经典面试题
- linux查询文件夹大小
- 数据结构习题集1-8:总结篇
- 联想小新13pro锐龙版网卡_联想小新Pro 13标压锐龙版评测:比香还香 买就完了
- 博士申请 | 华东师范大学张凯教授课题组招收图神经网络方向博士生
- linux中execvp函数,Linux shell的实现——execvp
- Python基础:break语句知识详解
- RuntimeError: No such operator aten::cudnn_convolution_backward_weight
- 考研线性代数(矩阵)
- 阿里云SLB实现负载均衡
- 公司注册流程需要哪些步骤