标题 | 一种数字视频网络传输的设计与实现 |
范文 | 夏红燕 摘要:随着视频压缩技术的日益成熟,数字视频监控产品逐渐成为了市场的主流。人们已经不满足视频信息能够在网络上传输,而是对传输的质量以及远程回放的效果提出了更高的要求。文章围绕视频网络传输过程中的实时性和传输质量两大主题,提出将基于IP组播的RTP视频传输与RSVP协议相结合的方案,使现有网络可以提供更为稳定流畅的传输效果。 关键词:数字视频;实时传输协议;用户数据报协议;组播技术 中图分类号:TP393 文献标识码: A 文章编号:1009-3044(2017)27-0057-03 Abstract: In the past decade, video compression technology has been becoming more and more mature. The product of digital video surveillance is becoming the mainstream of the surveillance system. People are no longer satisfied with transportation of video, but place higher demand on quality and performance. This paper set focus on real-time requiring and quality of service in transmission, on the basis of adoption of RTP video transmission Based on IP Multicast , discusses how RSVP in conjunction with typical digital video transportation scheme can provide a more stable and fluent performance on current QoS-supported network. Key words: Digital Video; RTP; UDP; IP Multicast 随着社会对安全防范技术和措施的日益重视,对数字视频监控领域的投资力度也日益加大,各种监控报警、识别定位的技术被广泛研究,随之而来的视频传输技术就显得十分重要[1,2]。尤其是视频压缩技术的日益成熟,数字视频传输技术逐渐成为了市场的主流,人们已经不满足视频信息能够在网络上传输,而是对传输的质量以及远程回放的效果提出了更高的要求。 1 数据传输设计 视频监控系统的应用环境决定了其对海量数据存储和系统稳定性的要求,因此,设计一个数字视频监控系统必须考虑以下性能要求:图像清晰度,录像存储容量,网络健壮性,系统稳定性。 文章设计的数字视频监控网络传输系统由9个模块组成,数字视频监控网络传输的原理图如图1所示。音视频采集和压缩处理由视频采集卡硬件完成,采集卡通过附带的SDK函数接口和网络传输模块之间通信,当视频采集卡完成视频捕捉和压缩处理后,RTP (Real-Time Transport Protocol)协议封装模块对数据块进行封装和排序[3],然后交给UDP网络传输模块在IP网络上传输;接收端负责把网络传输过来的音视频资料包重组和译码回放。 当采集卡捕获的数据包通过RTP协议封装在网络上传输的过程中,接收端在译码的过程中同时会对传过来的RTP包进行RTCP (Real-Time Transport Control)分析,分析所有的接收包,统计包丢失,时延抖动,网络负载等状况,如果网络的繁忙和其他情况的堵塞,包丢失严重,译码端马上给编码发送端一个反馈,发送端接收到这信息会做相应的处理,以做到网络流量的自适应,这就是利用RTCP协议由接收方向发送方反馈信息的功能来进行传输的控制,以保证网络传输的服务质量。 2 数字视频网络传输的总体实现 系统的主要任务是实现取流、封裝到发送的过程。如图2所示是本文中采用的网络视频传输的基本模型。 视频的编码是通过视频压缩卡——硬件编码的方法来实现的,硬件厂商为我们提供了一个SDK软件包。该SDK软件包为我们提供了相应的输出函数用于从视频压缩卡中获取视音频数据流,并且资料包的大小也可预先设置,码流也可以动态的调整,这些函数接口直接为后面的RTCP控制提供了条件,视频资料包和码流的大小会影响到视频在网络中传输的实时性和视频在接收端回放时抖动的程度,因此该视频资料包大小和码流设置应该是传输时的实时性和回放时的抖动情况的折衷。 由于UDP协议是不能保证传输时视频资料包的有序和无重复,因此,我们必须将取得的视频流采用RTP协议封装以后再在网络中传输,以保证视频数据报文的有序和无重复。再将采用RTP协议封装好的视频流移至发送缓冲区进行传输。 以上从“压缩编码”一直到“视频传输”的整个过程都是可逆的,因此,在视频接收端进行逆向操作,可以在客户端实现视频图像的重建。 由于篇幅的原因,下面重点就基于UDP的RTP协议对音视频流的封装、网络传输中的控制以及IP组播实现展开详细介绍。 2.1 基于UDP的RTP协议对音视频流的封装 在使用RTP协议对视音频复合流进行封装时,通行的做法是—在Windows操作系统中装载RTP协议的动态链接库,然后将发送端的视频编码器输出的数据流进行相应的成帧算法,形成适合于RTP协议格式的视频流封装,递交给RTP协议分组处理模块,加上此协议的分组报文头,并根据当前的采样时钟打上时间戳,标记顺序号,并给定帧频、分辨率、相应的压缩格式等参数,经多目地址传输来完成。 RTP协议报文头的封装在应用程序的具体实现是通过一些编程小技巧来完成的,它的实现步骤为: 1) 在定义取流缓冲区、封装缓冲区和发送缓冲区时,封装缓冲区和发送缓冲区的size应比取流缓冲区大4个byte; 2) 定义并初始化一个全局整型变量作为RTP协议顺序号,每取一次视频流,全局整型变量加1; 3) 从视频压缩卡中取视频流,存放在取流缓冲区; 4) 根据偏移量将RTP协议顺序号和取流缓冲区的视频数据包顺序存放,形成用RTP协议封装的视频流,存放在封装缓冲区等待发送; 5) 视频服务器启动发送线程即可将用RTP协议封装的视音频系统流发送至网络上。 系统设计从硬件采集卡取流后是获得视频的帧数,如何把这些帧数打包且适合在网络上传输是一个很重要的问题,也是我们进行RTCP控制的一个很重要的参数。由此设计出一个可调节的发送缓冲区大小的网络函数SetBufferNum(Num); 通过对局域网(LAN)网络环境的分析和反复地实验比较,我们发现视频数据包的大小在32Kbyte左右时,有着较好的实时特性,且在接收端的播放也较为流畅,无明显抖动。因此视频数据包的大小取32Kbyte时,是视频传输的实时特性和视频播放的抖动情况的较优的折衷。 在线程ThreadRoutine中,系统不断地检测视频压缩卡送出的数据。压缩卡不断地以2048字节一个包发往PCI总线。视音频压缩、取流线程在得到PCI总线的数据后便往RTP协议封装线程发送预先定义好的消息。RTP协议封装线程收到消息后,对数据进行封装。数据封装好了以后,RTP协议封装线程便往主线程发送消息。主线程收到消息后便可对相应数据进行处理,并将封装好了的数据送往SOCKET口进行网络广播。 2.2 网络传输中的控制 设计的网络传输控制关系如图3。当RTP数据包从视频主机端传送到客户端后,在去除RTP头的同时我们可以根据RTP的顺序号来测检出RTP包的丢失率,根据RTP包的丢失率,RTCP产生器会产生相應的反馈控制信息,这些控制信息可以反馈到视频主机端而控制编码器,使其作出相应的码率调整,以适应网络的负载变化[4]。 在客户端,当RTP分析器产生的包丢失率送入RTCP产生器后,它会产生相应的报文发送到视频主机端而控制编码器动态的改变码流适应网络的负载[5]。现在RTCP产生器有两个问题: 1) 怎样用包丢率来代表网络的拥塞? 2) 怎样消除统计的误差,避免网络QoS的波动。 其中[λnew]是新的平滑丢失率,[η]是新的由RTCP包直接得到的丢失率。增加[α]就增加了新值的影响,相反,减少[α]就减缓了新值的影响。这样既考虑了过去的经验,也反映了最新的状态变化。根据实际经验和其他协议的建议,[α]值一般取0.3。 2.3 利用UDP Sockets实现IP组播 IP组播特别适合于高带宽的应用,例如在网络上发送视频和音频,在Windows操作系统中,IP组播的实现是以UDP Socket为基础的。 由于IP多点传送主要用于同组中成员的交流,因此,系统中该功能的开发流程如下: 1) 创建一个按规定编址的数据报文Datagram- Packet; 2) 建立一个用于发送和接收的Multicast- Socket; 3) 加入一个多点传送组; 4) 将数据报文放入MulticastSocket中发送; 5) 等待从MulticastSocket接收数据报; 6) 解码数据报文提取、重建视音频信息; 7) 根据得到的信息作出回应; 8) 重复5-7步; 9) 离开该多点传送组,关闭MulticastSocket。 由于客户机和服务器程序的网络通信模块都是用套接字开发的,因此屏蔽了网络层复杂的结构和协议,使应用软件能在各种网上运行,而不必关心是何种网络以及服务器或客户机在网上的具体位置和数据传送的具体细节。 3 结束语 文章以部队安全技术防范系统项目的整体研发为背景,对数字视频网络传输的实现进行了较为深入的探索,围绕视频网络传输过程中的实时性和传输质量两大主题,通过对各种传输层协议以及服务质量保障方案的研究比较,提出将基于IP组播的RTP视频传输与RSVP协议相结合的方案,使现有网络可以提供更为稳定流畅的传输效果,并采用可视化编程技术做了具体的实现,实现基于UDP的RTP协议对音视频流的封装、网络传输控制、IP组播等。数字视频网络传输的实现,取得了较好的实际效果,系统装备部队后运行效果良好,对于加速部队后勤的信息化作出了贡献。 参考文献: [1] Kun Liang,Yong Ma,Yue Xie,etal.A new adaptive contrast enhancement algorithm for infrared images Based on double plateaus histogram equalization[J].Infrared Physics& Technology, 2012, 55(4):309-315. [2] 王维哲.从H.264向H.265的数字视频压缩技术升级分析[J].电脑知识与技术,2015,11(15):130-131. [3] 魏闪闪,谢巍,贺志强.新兴数字视频稳像中相机运动估计技术综述[J].计算机应用研究,2017,34(2):321-327. [4] 梁梦凡,熊利祥,马德宝.一种基于SOC的红外视频网络传输系统设计与实现[J].计算机与数字工程,2017,45(1):88-91. [5] 李少博,王晓东,周宇.基于RTP/RTCP主动丢包的立体视频传输研究[J].计算机工程,2015,41(4):241-245. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。