无人机开发-图传技术

2023-10-09 22:10
文章标签 技术 开发 无人机 图传

本文主要是介绍无人机开发-图传技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2016年,是中国无人机市场的元年,无人机能够一跃进入大众视野,并迅速在大众市场火热发展,是很多人始料未及的。从刚开始的空中摄录,到后来的实时摄录,方便的无人机图传功能无疑为无人机加足了筹码,赚足了眼球。博主就来分析一下无人机图传技术。

一.观念

从“图传”的叫法可以发现,这并非一个专业的定义,大概是从某些资深航模玩家口中发展而来。专业的航空航天器并没有独立的视频图像传输设备。图传的概念只存在于消费类无人机领域

二.限制

1.成本:

不必去怀疑可以通讯多快多远,无线通讯技术发展到今天,没有人怀疑火星传回的1080P图像了。
百公里以上无人机图传并非不可实现,但百万元以上的价格也相对昂贵。
目前市场上的1080P图传产品售价基本均在1700美元以内,成本也就成为了消费类无人机图传设计的第一条限制。

2.法律:

中国无线电管理的最高法律文件是《中华人民共和国无线电管理条例》,立法机关为国务院和中央军委,由各级无线电管理机构执行监管。如果使用者希望给图传单独申请执照,则需要该图传首先获得《无线电发射设备型号核准证》,其依据是国家《无线电频率划分规定》中的有关无线电发射设备技术指标的规定。取得专业电台执照并不是不可操作,只是在消费类无人机领域没有办法推广。
对于专业航空航天器来说,频谱划分时已留有专门的测控频段,而消费类无人机只能老老实实地屈就于ITU-R(ITU Radio Communication Sector,国际通信联盟无线电通信局)的ISM频段(Industrial Scientific Medical,工业化科学医疗频段)。

13.56Mhz、27.12Mhz、40.68MHz、433Mhz、915Mhz、2.4Ghz、5.8GHz都是1W以内无需执照发射的;

433MHz及以下频段通常很难满足高清图传的带宽要求;
915Mhz频段有一半已经被GSM占用;
L波带宽并不富裕;
S波段的2.4GHz也就成了1080P获得远距离的首选,但4K或者更高清晰度的图传设计者却很难在S波段的带宽上找到便宜;
C波段的5.8G则可以做得更宽,不过相同发射功率和接收灵敏度下5.8G与2.4G相比通讯距离仅为41.4%,并且其衰减对水气更敏感,实际通讯距离则不到30%,两者各有利弊。

 

 

图1 无线频谱

三.编码技术

1.软/硬件结构:OpenMAX IL + Venus
2.编码标准:H.264(APQ8074)/H.265(APQ8053)
3.码率控制:CBR(Constant Bit Rate)网络传输中所谓的 CBR 一般是 ABR(平均码率),即单位时间内的平均码率恒定,编码输出有缓冲可以起到平滑波动的作用。


图2 码率
4.码率/帧率自适应:Dynamic video rate adaptation (rave)是Qualcomm提供的算法库,基于变化的Wi-Fi带宽和信道质量,计算出合适的视频流码率和帧率,这有助于最大限度地减少延迟和图像损坏问题。
5.I帧间隔调整:30fps帧率下,30帧或者60帧一个I帧。能在较低的码率下达到较高的图像质量。
6.I帧重传:如果I帧丢失或者损坏,图像会有较长时间的卡顿。当接收端反馈此情况,发送端立即重传I帧,会减少卡7.顿时间。
8.I帧携带SPS/PPS信息:缺少SPS/PPS信息,接收端将不能正确解码,所以流中需要带这些信息,防止断线重连后黑屏。
四.通用协议

 

1.RTP

1.1.协议简单,易组入
1.2.jrtp开源库:X许可,几乎无限制。
1.3.针对H.264/H.265编码特点进行优化:不同的组包策略。
1.4.扩展可配置发包间隔:平衡码率波动,防止瞬时码率过大。
1.5.使用RTP扩展头:传递帧号,用于算法的数据同步。
1.6.使用内存池:减少模块间内存拷贝,降低延迟。

 

 

图3 RTP

2.RTSP

2.1.支持组播:Live555开源库
2.2.LGPLv2.1许可,可以在商业软件中引用。
2.3.相关类说明


图4 RTSP相关类
2.4.数据传递示意图:RTSP server接收到RTSP开始后,PreviewH264OnDemandMediaSubsession创建了H264PreviewSouce类和H264VideoStreamDiscreteFramer类之后H264PreviewSouce通过队列从Rtspsink中获取h264数据,经过处理后发送到手机端。

 

 

 


图5 RTSP 数据流

3.图传开发中遇到的问题

实时播放过程,最难解决的问题是图像卡顿,图像花瓶问题,图像在各个手机表现不一样,在性能好的手机上面,会出现图像抖动厉害的情况等等。


要解决图像卡顿的问题,先要知道卡顿的原因: 
1.由数据在传输过程中丢失,没有数据,造成的卡顿 
2.app端接收不及时,造成数据丢失而引起的卡顿 
3.为了减少花屏,而造成的卡顿,比如说刚好丢失了i帧,为了后面显示不花屏,会对后面的p帧进行抛掉,直到下一个i帧才开始显示

我们都知道花屏的原因是因为丢帧造成的,比如说丢失了 i帧,关键帧,后面的p帧送去给ffmpeg解码得到的图像是花屏,或者马赛克等等(也有一种是大p,小p的说法,这里就不详细说了),【注意,这个传输过程没有用到b帧,整个传输过程只有两种帧 i帧,个p帧】,多一点花屏,可以减少卡顿,客户更能接受的是卡顿,而不是花屏。

解决方案: 
第一个问题:由数据在传输过程中丢失,没有数据,造成的卡顿,有外部环境的影响,也有图传板信号的稳定性影响等等,app端没有很好的解决方法,无非就两个选择,一个是tcp传输,一个是udp传输。根据实测,tcp效果更好一点。 
tcp :数据传输过程,能保正数据的完整,所以花屏少点,距离相对upd会近一点, 
udp:传输过程不保证数据的完整性,容易花屏,距离比较远

第二个问题:app端接收不及时,造成数据丢失而引起的卡顿,我这里遇到的情况是这样的,之前的接收数据跟解码同一个线程,显示另外一个线程,这样就有一种情况就是解码不及时,会造成接收线程阻塞,从而影响了数据的接收(udp),解决方案是接收数据自己一个线程,解码跟显示一个线程,中间通过缓存队列来进行数据的共享,即增加缓存,基本所有的在线播放都是用这个方式。

第三个问题:就客户需求而定,我这里为了不花屏,会直接丢掉

项目使用mpv+EventBus的方式非常灵活,模块的替换,复用,重写都很灵活,而且java层没有特殊必要,一般都不会动,优化各个方面都是在jni层,也主要是图传的优化,这样也方便版本的迭代,要不客户版本升级要多痛苦。

分享是人类进步的源泉,可参考:

http://blog.csdn.net/ad3600/article/details/54706102

http://blog.csdn.net/tpyangqingyuan/article/details/54574977
 

这篇关于无人机开发-图传技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/175905

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧