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

无人机开发-图传技术浅析相关推荐

  1. 大疆无人机-图传技术

    原文:https://blog.csdn.net/linux_0416/article/details/86086905 大疆无人机(航拍器)遥控连接电脑驱动解决方案 http://mini.east ...

  2. 无人机系列之图传技术

    大疆无人机(航拍器)遥控连接电脑驱动解决方案 http://mini.eastday.com/mobile/160722051432373.html 无人机系列之图传技术无人机系列之图传技术_ad36 ...

  3. 无人机蓝牙图传串口助手APP(地面端、飞机端)

    这个APP是在2016年11月底-12月初开发的,现在想把这项目开源共享给有需要的开发者参考!源码有需要请留言联系本人,由于本项目属于公司项目,不能完全开源出来,只提供部分技术支持!请谅解! 由于地面 ...

  4. 无线远距离WiFi模块,无线图传技术,在远距离传输领域的应用

    近年来WiFi传输技术得到了广泛应用,逐渐成为人们社会生活中不可或缺的成分.利用无线传输技术,人们与网络世界建立起了更加方便快捷.更加密切相关的联系,从而摆脱以往对有线网络连接方式的依赖和不便. 在无 ...

  5. 基础网络爬虫(Web crawler)相关技术浅析

    文章目录 前言 基本概念 Robots协议 基本原理 现状概况 爬虫软件 跨语言 Selenium Python urllib requests Scrapy Pyspider Java WebMag ...

  6. 航飞原始影像外方位元素_【技术】无人机倾斜摄影建模技术在虚拟现实中的应用...

    (如有侵权,请联系删除) 摘 要 针对于虚拟现实平台中构建三维场景的费时费力问题,基于无人机倾斜摄影建模技术构建三维模型,利用 3DS Max 建模软件进行模型优化,并结合 Unity 3D 引擎构建 ...

  7. 无人机官方网站_无人机开发设计资料整理

    无人机技术作为前沿技术,吸引了不少技术宅男的追捧.越来越多的人开始加入无人机技术的学习与研究中,然而却苦于找不到太多的相关资源.阿木实验室根据多年无人机的从业经验,为大家整理了一份资料.资料不全,欢迎 ...

  8. 盘点无人机的关键技术点

    当前,自从无人机技术进入市场以来,无人机的市场规模正在以一种不可思议的速度扩增,许多专业人士都利用它来加速在各自领域的创新.从军事到体育再到房地产,无人机几乎在每一个行业都得到了应用. 无人机.jpg ...

  9. 浅析计算机网络技术相关论文,计算机网络技术浅析论文 - 经典论文

    <计算机网络技术浅析论文 - 经典论文>由会员分享,可在线阅读,更多相关<计算机网络技术浅析论文 - 经典论文(2页珍藏版)>请在人人文库网上搜索. 1.计算机网络技术浅析论文 ...

最新文章

  1. Python | 安装Jupyter Notebook及其目录的更改 jupyter问题
  2. 【Winform】锐浪报表使用
  3. 国内唯一,阿里云容器服务进入 Forrester 领导者象限
  4. 【Maps】【E都市】
  5. 神经网络optimizer的发展历史整理
  6. 算法与数据结构(part3)--数据结构概述
  7. 页面中color颜色值_计算机毕业设计中实现一个简易美观的登录界面
  8. 设置TextView为下划线的样式
  9. 通过ifrmae异步下载文档
  10. 服务器控件的优点和缺点_什么是无服务器架构? 它的优点和缺点是什么?
  11. 如何解决空虚感?(转)
  12. matlab7安装包+Matlab 7出现【unknown exception】解决办法—亲测可用
  13. 数据库系统原理及mysql应用教程第二版_数据库系统原理及MySQL应用教程(第2版十三五普通高等教育规划教材)...
  14. (笔记)涉及到的WinAPI函数
  15. 广州地铁线路查询程序C语言,c语言广州地铁系统报错,帮帮忙看一看哈?
  16. IDEA jclasslib插件安装
  17. axure 自学入门教程
  18. linux端口健康检查,linux – Systemd http健康检查
  19. 基于 Console 口访问方式的配置
  20. 【杂耍】联想G40装Win7系统

热门文章

  1. 简单内存泄漏检测方法,解决Detected memory leaks!问题 .
  2. 【剑指offer】解题思路 53-68
  3. ijkplayer源码---FFPlayer结构体4 SDL_Aout
  4. 使用 Taro 快速开发京东小程序
  5. 微信小程序之swiper无限轮播实现效果
  6. 在观察研究中减少数据偏倚:倾向评分(一)
  7. 场景文本检测算法 可微分二值化DBNet原理与代码解析
  8. paraview热流图(1):添加glyphs
  9. 大锅菜机器人_学校食堂用上炒菜机器人 几分钟出一锅菜(图)
  10. 自定义EL表达式的函数