无人机实时图像传输系统设计
□葛男男孙伟曹界宇南京信息工程大学自动化学院
T 互联M +技术___________________________________________ Internet Technology
【摘要】随着无人机在电力巡检、航拍、环境监测等方面的应用,对无人机实时图像传输系统提出了更高的要求,需要其能够进行 远距离、稳定地传输高清实时图像,因此研究无人机的图传系统就显得尤为重要。本文将研究并设计的图传系统搭载于无人机,可实 时采集无人机飞行过程的视频流,然后将采集到的数据通过4G 链路上传至流媒体服务器,同时P C 端可实时显示无人机飞行时的视 频流信息,实现对无人机飞行环境的实时监控。
【关键词】无人机图传系统4G 流媒体服务器
引言随着科技的发展,时代的进步,无人机在军用及民用领 域得到广泛应用,例如军事上的侦査、监控;民用领域的电 力巡检、抢险救灾、快递运输、测绘等。而这些应用都离不 开无人机的图传系统,无人机的图像传输系统作为无人机的 “眼睛”,在无人机飞离地面指挥员视线时也能将无人机在 飞行过程中拍摄的画面实时传回地面指挥者的设备中,供指 挥者来判断无人机的状态,从而进行决策,发出准确的命令 n ]。因此这就对系统的实时性及清晰度的要求很高。但目前 无人机图传系统多采用WIFI 、5.8G 等
模拟信号传输,其在 复杂环境中抗干扰能力弱,传输距离有限,传输速率也较慢, 难以满足远距离高清实时图像传输的要求、达不到远程监控 的效果。因此研究并设计无人机实时图像传输系统具有重要 意义。一、系统总体方案设计图1系统总体架构图图传系统总体架构图如图1所示,系统包括发送端,服 务器端,PC 监控端。1)发送端,发送端搭载于无人机,发送端包括控制器和 摄像头,控制器和摄像头通过U SB 连接,控制器通过V 4L 2接口采集USB 摄像头视频数据,然后通过RTSP 流媒体协议 封装视频流数据,并通过4G 模块推送给流媒体服务器。2) 服务器端,通过RTSP 流媒体协议接收来自发送端的
数据,再通过RTSP 流媒体协议分发数据给P C 端。3) PC 监控端,P C 监控端通过RTSP 协议从流媒体服务 器拉取视频流,再经过视频流解码、格式转换,最终将视频 流实时显示到PC 端窗口。
二、发送端设计
2.1流媒体技术简介
由于视频数据体积较大,在带宽资源有限的条件下很难 进行传输,在这种情况下,“流媒体技术”应运而生。流媒 体是一种通过流式传输方式在网络上传播的媒体格式['而 流媒体技术就是将连续的音视频数据压缩处理后放在网站服 务器上,用户可边下载边观看,而不需要等整个文件下载完
才可以观看的技术m 。流媒体要进行传输便离不开合适的传
输协议,如RTP 、RTCP 、RTSP 等流媒体传输协议,本文选
用RTSP 协议拉取发送端的视频流并将采集到的视频流推送
至服务器。
RTSP (实时流传输协议)属于TCP /IP 协议中的应用层
协议,利用该协议可以在网络上实时传输视频数据[3]。RTSP
优势包括:在传输视频数据时它较能承受网络延迟;易于扩
展,设计基于RTSP 的音/视频数据传输可通过修改参数、
方法等进行开发;可降低服务器端的网络用量w 。
2.2视频采集模块设计
视频采集模块的摄像头硬件选型上采用的是U SB 免驱动
的UVC 摄像头,该摄像头支持H 264、MJPEG 、YUV 420、
我不让你走
YUYV 422等多种格式,本系统采用的是H 264视频编码格式。
图传系统软件上主要通过V 4L 2接口采集U SB 摄像头视频数
据。V 4L 2是Video for linux 2的简称,是专门为linux 设备设
计的一套视频框架,V 4L 2为lirmx 中关于视频设备的内核驱小演员王天泽
动。
在Linux 系统中,视频设备作为设备文件,linux 应用层
可以像访问普通文件一样对其进行读写。图传系统通过应用
层V 4L 2接口调用io ctl 系统调用,实现UVC 摄像头底层图 片格式査询、图片格式设置、视频帧采集等功能。该视频采集模块软件实现流程主要包括:获取设备性能、
査询采集设备支持的数据格式、设置视频采集参数、向驱动 申请帧缓存、分配物理地址帧缓存映射、帧缓存人列、开始
61
互联网+技术nternet Technology
视频采集、循环采集图片帧、结束视频采集。其中循环采集图片流程包括:帧缓存出列、帧缓存入列、判断图片帧采集是否结束。
清明节的作文400字左右2.3视频推送模块设计
视频推送模块基于FFmpeg库的基础进行RTSP流媒体传输协议的开发,通过RTSP流媒体传输协议,图传系统将釆集的相机视频流实时上传至流媒体服务器。其中FFmpeg 是一套幵源的音视频开源库。
岳阳楼记翻译和原文该模块软件实现流程主要包括:FFmpeg初始化工作、RTSP输出流流创建并填充、RTSP推流。
其中FFmpeg初始化流程包括注册FFmpeg编解码器、打开视频文件、添加视频流信息、打印输入流视频信息;
RTSP输出流配置化流程包括:分配输出上下文结构体、申请视频流AV Stream结构体、拷贝输人流编码器信息至输出流中、打印输出流视频信息;
RTSP推流流程包括打开输入流URL、填充推流参数、写人文件头、读取一帧数据、推送一帧数据。
三、 流媒体服务器技术
3.1流媒体服务器简介
电脑连接WIFI显示无INTERNETEasy D arwin,Easy D arwin是由国内开源流媒体团队开发的一'款开源流媒体视频平台框架,EasyDarwin是在Apple开源流媒体服务器EasyDarwin Streaming Server基础上开发的免费、开源的流媒体服务器,该流媒体服务器支持RTSP、RTMP等流媒体协议[5]。经过相关相关配置,终端采集设备通过RTSP/RTMP流媒体传输协议将H.264/MPEG/ACC等音视频格式的数据上传至EasyDarwin流媒体服务器,用户端便可在Windows、Linux、Android、IO S等多种平台上实现流媒体数据的转发功能、点播、录像回放和流媒体直播等功能[6]〇
3.2流媒体服务器搭建
本系统使用的服务器部署于华为弹性云服务器。华 为服务器的处理器类型为Intel Cascade Lake,c6.1arge.2, 4vCF>U s,8G内存,处理器主频为3GHz,外网带宽lOMhps,部署在华东地区。
本系统使用的是Easy Darwin流媒体服务器实现视频流的处理和转发。EasyDarwin流媒体服务器搭建过程为:下载源码、解压缩、修改Easy_Darwin.s h启动脚本、sudo update—rc.d Easy_Darwin.sh defaults 90、./easydarwin启动EasyDarwin〇
四、P C监控端
P C监控端基于SDL+FFmpeg开源库的基础上在UUmtul6.04环境下进行开发。该流程主要包括:PC监控端通过RTSP协议向服务器端拉取视频流,将视频流push到环形缓存,再经过视频流解码、图片格式转换,最后通过SDL 接口在P C窗口显示视频流。该PC监控端软件流程图如图2所示。
其中视频流解码器基于FFmpeg的lihavcodec音/视频编解码库进行开发,实现对视频流进行解码,本视频流解码流程为:首先初始化解码器相关工作,包括注册FFMPEG容器和解码器;其次打开网络流,根据打开的网络流匹配对应的解码器;接着打开解码器;然后进行视频流的拉流和推流工作,主要包括读取一帧数据,解码一帧AVFrame直到解码完成;最后释放解码器资源。
其中视频图片格式转换基于FFmpeg的libswscale图片像素格式转换库进行开发,实现对解码后的原始帧格式转换为SDL纹理格式。
其中SDL窗口显示视频流流程为:首先初始化SDL相 关工作;然后创建PC端窗口的大小、创建渲染器、创建纹理;最后就是显示工作,包括更新纹理、复制渲染、并将渲染呈现到窗口,最后清除SDL资源。
图2 P C监控端软件流程图
五、结束语
本文设计了一种无人机实时图像传输系统,该系统基于RTSP流媒体传输协议开发了一款低延时、高稳定性的实时视频流传输方案,并且P C监控端在SDL多媒体开发库基础上进行功能定制开发,较传统的VLC软件在视频流卡顿上有所提高。该图传系统在无人机领域有较大的市场和应用价值。
说谎 歌词参考文献
⑴彭湛博.无人机实时高清图传系统的设计与实现[D].西安电子科技大学,2018.
[2] 吴莉莉,刘益成.流媒体技术及应用[j].信息技术,2002(01):39-41.
[3] 严羽,王永众,杨来邦.基于无人机的实时图传系统[J】.智能计算机与应用,2019,9(04>:65-70.
[4】厉鹏,李秦月.基于4G定位图传终端的应用研究[J].技术与市场,2020,27(02):26-28.
[5] 游浩.基于Easydarwin平台的视频应急通信软件设计与研究[Dj.上海师范大学,2018.
[6] 韩文,张硕士 .基于WebGIS的智能公交监控调度系统设计与实现[J].电子设计工程,2018.
62
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论