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开发跨平台安卓实时投屏软件相关推荐

  1. 基于Qt ffmpeg opengl开发跨平台安卓实时投屏软件

    [开源]基于Qt ffmpeg opengl开发跨平台安卓实时投屏软件 码云地址 https://gitee.com/Barryda/QtScrcpy github地址 https://github. ...

  2. 好工具推荐系列:跨平台安卓实时投屏软件QtScrcpy

    Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制.它不需要任何root访问权限. 软件是开源的,C++/Qt: https://gitee.c ...

  3. qt android wifi,QtScrcpy: Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限...

    QtScrcpy QtScrcpy可以通过USB(或通过TCP/IP)连接Android设备,并进行显示和控制.不需要root权限. 单个应用程序最多支持16个安卓设备同时连接. 同时支持GNU/Li ...

  4. C++版Android实时投屏软件系统源码,安卓手机投屏软件源码,无需root权限

    QtScrcpy QtScrcpy 可以通过 USB / 网络连接Android设备,并进行显示和控制.无需root权限. 同时支持 GNU/Linux ,Windows 和 MacOS 三大主流桌面 ...

  5. pc投屏android软件,Scrcpy安卓电脑投屏软件下载

    Scrcpy安卓投屏软件是一款非常棒的安卓电脑投屏软件工具.这款软件可以为用户提供有线.无线两种投屏方式,用户可以方便地利用 Scrcpy 来测试 APP 应用.玩游戏.高效完成一些需要在手机上进行的 ...

  6. 安卓手机投屏软件_直播教程 | 安卓手机投屏队伍语音解决方案1

    安卓手机投屏队伍语音解决方案1 主播大大好啊! 我们之前的文章讲过安卓手机投屏到直播电脑的手游直播教程,使用台式机+投屏的方式,这样无论是游戏体验,还是直播的观看体验,都会好很多,这是也是被手游主播普 ...

  7. 安卓手机投屏软件_手机投屏软件哪个好?推荐这五款投屏神器

    现如今投屏在我们的工作生活中越来越常见了,电影投屏.游戏投屏.网课投屏.会议投屏等诸多场景相信大家也看过不少了.今天就来给大家分享五款非常不错的手机投屏软件,它们的功能各有千秋,大家可以任意选用. 一 ...

  8. 电视不正常Android镜像投屏,Mirror for Android TV(安卓电视投屏软件) V2.4 Mac版

    Mirror for Android TV是一款适用于Mac的安卓电视投屏工具,它可以帮助用户在Mac上即可将视频.电影投屏到安卓电视上,适用于任何电视,设置框或媒体播放器与Android电视操作系统 ...

  9. 安卓手机投屏软件_手机投屏软件,居然支持所有网址......

    [侠友福利]: 领红包啦,支付宝首页搜索"8921726",抓紧上车啦 常年在外上班应该很很久没在电视上看过电影或者电视了吧 最近很多小伙伴一直留言说想要个投屏软件. 因为过年回家 ...

最新文章

  1. css什么时候用绝对定位,CSS - 使用绝对定位
  2. iview tooltip自动消失_惠州广日自动人行道价格大概多少
  3. 一台服务器创建多个ssh_如何创建可用于生产的第一台安全服务器
  4. nodejs es6 中的单例模式
  5. git推送tag到远端服务器
  6. (StreamReader.ReadLine()==null)还是(-1 != StreamReader.Peek())?
  7. 【算法】—— 最大子序列和问题
  8. Linux下的C程序如何调用系统命令,并获取系统的输出信息到C程序中
  9. 《Effective STL中文版》前言
  10. 2022前端CSS经典面试题
  11. linux查询文件夹大小
  12. 数据结构习题集1-8:总结篇
  13. 联想小新13pro锐龙版网卡_联想小新Pro 13标压锐龙版评测:比香还香 买就完了
  14. 博士申请 | 华东师范大学张凯教授课题组招收图神经网络方向博士生
  15. linux中execvp函数,Linux shell的实现——execvp
  16. Python基础:break语句知识详解
  17. RuntimeError: No such operator aten::cudnn_convolution_backward_weight
  18. 考研线性代数(矩阵)
  19. 阿里云SLB实现负载均衡
  20. 公司注册流程需要哪些步骤

热门文章

  1. 输出每个月的天数 C语言PTA
  2. 计算机操作系统的工作原理英文,计算机操作系统原理分析
  3. 电子计算机管理,电子计算机档案管理
  4. 红客联盟初步完成整顿 拟大举攻击日反华网
  5. DNS分离解析 RAID磁盘阵列 进程管理 系统日志分析
  6. ASIHTTPRequest使用指南---翻译稿
  7. 【Windows】Word中MathType批量修改公式字体和大小
  8. grub shell 错误_使用 grub shell 修改品牌电脑 BIOS 中屏蔽的 DVMT 设置
  9. python 如何用*号打印出等腰三角形和菱形
  10. 3年Java面试准备