当前位置: 首页 > news >正文

QScrCpy源码解析(4)获取手机端数据知识补充

一.知识点补充

1.abd

adb是用来在电脑端对手机进行调试的一个控制程序,通过命令行启动,adb会解析你的命令,对手机进行相对应的控制目前,主流的设备系统都支持adb调试,安卓,鸿蒙,澎湃等

2引入scrcpy.sever

scrcpy.sever是一个运行在安卓系统上的脚本(国产系统大多进行了兼容)服务,可以获取安卓手机的屏幕信息,然后压缩成h.264格式发送给电脑

3端口映射(采用127.0.0.0系列的本地ip)

A db中存在一种端口映射的机制,他可以使得adb forward进行手机端的电脑端端口的映射

我们在电脑端监听对应的端口,当手机的信息发送到设定好的映射端口之后,a db就会自动的把数据传递给我们,电脑端监听对应的端口收到信息之后就可以进行数据的读取,以此达成电脑端和手机端进行通信的目的。

此时,如果采用的方式是USB进行连接,传输的数据会直接通过USB线进行发送,默认的传输协议是TCP,而不会经过网卡,如果是WIFI进行连接的话,首先,我们需要打开手机的一个局域网IP热点,他会通过网卡进行一个数据的传输。

adb的端口映射,最终目的是为了绕过防火墙的机制,我们在使用adb的时候,一般会以管理员进行程序的执行,同时,我们电脑端和手机端的端口映射使用的一般是本地的IP地址,防火墙对于本地的IP 一般是不做限制的,并且我们使用的端口是5555,这个端口一般防火墙不会重点关注。

A db的端口应试,它又分为正向隧道和反向隧道两种。在本项目中,我们需要让设备中的数据传递到我们的电脑中,所以本次我们采用正向隧道的方法。

3手机端的视频硬件加速和视频推理服务

手机端的执行流程大概是通过scrcpy.sever进行一个视频推流(非截图方式,采用的是手机端的mediacodec硬件进行数据编码的加速,mediaprojection进行捕获屏幕和创建虚拟显示器)暂不详细讨论

而这一切都需要启动视频推流服务,启动之后,可以对当前端口的服务器进行一个优化,以及指定视频推流协议

 

4 h.264

H点264格式是视频压缩的一种算法格式,通过这样的压缩算法,可以将数据量大大的压缩,从而提升传输的一个效率,同时也不会过分的压缩导致服务端和客户端编码解码的困难。

 

5FM pack

FM peck可是用来对于数据进行解码和封装的一种工具,当我们的电脑端接收到手机端发送来的数据之后,可以用FM pack进行数据的解析,得到一个未压缩的数据,Yu v或者rgb格式

6OpenGL

使用OpenGL进行屏幕的一个渲染QT中内置的有一个q openglwidget类,可以快速的渲染得到的数据

 

 

 

 

 

 

 

相关文章:

  • 文章记单词 | 第30篇(六级)
  • 帆软 FCA-FineBI 认证:迈向商业智能专家之路
  • 文章记单词 | 第28篇(六级)
  • ROS第十梯:ROS+VSCode+Python+C++利用launch自启动节点
  • 几何与游标
  • 大模型时代的“数字共生”:AI如何塑造人类社会的新范式
  • Python中try用法、内置异常类型与自定义异常类型拓展
  • # 基于OpenCV与Dlib的人脸融合技术实现
  • 程序化广告行业(81/89):行业术语解析与日常交流词汇指南
  • 优化方法介绍(二)
  • BiFPN与RepViT协同机制在YOLOv8目标检测中的应用与优化
  • Linux:38信号捕捉_穿插中断
  • Linux--线程同步与互斥
  • 探秘 Ruby 与 JavaScript:动态语言的多面风采
  • 最新如何在服务器中解决FFmpeg下载、安装和配置问题教程(Linux|Windows|Mac|Ubuntu)
  • 【测试】-- 测试用例
  • 基于ollama与ragflow实现本地知识库
  • 2025年认证杯数学建模竞赛A题完整分析论文(含模型、可运行代码)(共32页)
  • CSS 表格样式学习笔记
  • debian转移根目录
  • 著名词作家陈哲逝世,代表作《让世界充满爱》《同一首歌》等
  • 央媒评网红质疑胖东来玉石定价暴利:对碰瓷式维权不能姑息
  • 美国明尼苏达州发生山火,过火面积超80平方公里
  • 印度军方否认S-400防空系统被摧毁
  • 习近平会见斯洛伐克总理菲佐
  • 胖东来发布和田玉、翡翠退货说明:不扣手续费等任何费用