豆震泽++赵宇红
摘 要 随着互联网技术的迭代升级,以及多媒体技术的迅速发展,人们对网络视频信息的获取方式呈现多样化、直观化的趋势。视频实时传输技术的研究正逐渐被应用在生活及科研领域中。但由于实时网络视频流需要传输庞大的数据量,因此不但对视频压缩技术提出了更高的要求,而且服务协议的选择也显得极其重要。本文基于RTP与H.264编解码标准结合,对其在视频实时传输方面的适用性进行了探讨。
【关键词】RTPH.264 视频传输
随着时代的发展,人们对于视频实时传输的需求量和质量要求越来越高,传统视频传输方式的稳定性、可靠性及处理能力,已无法满足人们日益增长的物质需求。RTP作为当今最为流行的数据协议之一,具有良好的可靠性,尤其适用于视频传输和大数据传输。通过利用RTP进行视频的实时传输,再结合H.264视频编解码标准低码率、图像质量高、容错能力强、网络适应性好的特点,保证视频实时传输的准确性和清晰度。实践证明,这种基于RTP的H.264视频实时传输方式有很好的可操作性和可靠性,其具有广阔的研究和发展的空间。
1 系统设计
基于RTP的H.264视频实时传输系统主要包括三个方面:服务器、网络传输、客户端,下文将对服务器、客户端的设计进行探讨。
1.1 总体结构设计
视频实时传输系统总体设计方案分为六个部分:视频采集,压缩编码,数据的打包、封装、发送,数据的接收、拆包、重组,解码,显示。其中,视频采集、H.264压缩解码、RTP打包封装为发送端,RTP拆包重组、H.264解码、终端显示为接收端。如图1所示。
1.2 服务器设计
服务器主要完成调用摄像头并采集数据、对数据流进行H.264编码、H.264视频的RTP封装、发送RTP/RTCP数据包以及反馈控制。
单线程无法满足实时传输的需求,故在服务器采用多线程设计,共三个线程:整体控制线程、视频采集线程和数据流编码打包发送线程,以此满足实时传输要求。
1.3 客户端设计
客户端设计目的在于接收网络传输的数据包,根据包头信息拆包重组,并对数据包进行解码,最后在显示屏上显示。
客户端也采取多线程来实现,分为三个线程:整体控制线程、拆包重组线程、解码播放线程三个线程组成。多线程程序相较单线程而言,对显示画面的流畅程度有很大提高,同时也能减少因客户端处理缓慢造成的丢包现象。
2 RTP的封装策略
RTP协议、UDP协议、IP协议都含有用于辨识的头信息,当它们按照格式装载到最大传输单数单元上时,往往头信息转悠字节数较大。在满载情况下,这些头信息占用率较低。实际情况下,视频传输通常达不到满载,这时头信息的开销就凸显出来。若在超载情况下,网络层会被自动分割为若干小数据包进行分装。这导致视频传输效率和稳定性收到影像。
此时,H.264的封装算法设计变得重要起来,RTP封装应遵照:
(1)减少头信息量,控制传输单元大小;
(2)视频流超过最大载荷时,采取拆分传输的策略;
(3)视频流较小时,采取合并传输策略,节约资源,提高传输效率。
3 实验测试
不同网络环境下,测试系统一分钟时间内,接收端收获数据包个数。测试参数如表1。
测试内容:10M宽带有线网络、10M宽带无线网络、校园局域网、SIM卡热点。
不同网络环境下接收端收货数据包个数测试结果见图2。
测试实验的结果显示,10M宽带网络条件下收到数据包较多,视频传输效率较高,且有线网络好于无线网络。校园局域网收到的数据包个数较少,传输效率低。SIM卡热点丢包情况严重,暂不适用。
4 结语
实时视频传输是现今互联网技术发展的热点之一,面对当今大数据量、高清晰度、高可靠性的视频传输的实际需求,由于因特网自身的技术局限性,设计与实现新的传输方式有很广阔的前景。基于RPT的H.264视频实时传输可以在一定程度上满足当今社会对视频实时传输技术的需求,但是其仍存在许多不足之处,需要从很多方面进行进一步的完善,来满足大众的实际需求。
参考文献
[1]张前进.基于RTP的H264实时传输系统的研究[D].合肥工业大学,2011(17).
作者单位
北方工业大学 北京市 100144