《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > RTP传输控制的研究及实时视频监视系统的设计与实现

RTP传输控制的研究及实时视频监视系统的设计与实现

2009-05-27
作者:张海军1 张建军2 杨印根

    摘 要:为了机房的安全以及更好地管理,设计了机房实时监视系统。采用H26x视频编码技术和RTP协议来实现,并且讨论了基于RTP/RTCP协议的视频实时传输中的控制方法。
    关键词:实时传输协议;RTP/RTCP;H.26x ;G.729

 

    视频监控一直是人们十分关注的应用技术热点之一,它以其直观、方便、信息内容丰富而广泛应用于安保、生产管理等场合,成为金融、商业、交通乃至住宅、社区等领域安全防范监控的重要手段,它为这些行业的安全防范和环境监控起到了不可忽视的作用。传统的机房都只能安排工作人员现场进行管理,不能远程监控、自由指挥,费时、费力,而且不能周密、全方位的监视每个使用者,因此,为了机房的安全和更有效的管理,本文设计了机房实时视频管理系统。该系统需要解决两个方面的问题,一个是视频图像的编码问题,另一个是其在网络中的传输问题,而且两方面是紧密联系的。本研究提出基于RTP/RTCP协议构建的机房实时视频传输控制系统,传输层通信使用 UDP Socket 完成。
1 系统的组成与功能详述
    机房监控系统是由现场监控设备、监控服务器和监控客户端构成。现场监控设备包括数字摄像机、控制云台、矩阵主机和模拟数字化设备、红外线、雷达等。而监控服务器对现场监控设备发来的信息进行验证、分发、处理和保存,并同时可以让监控客户端通过视频或通过Internet查看现场信息。这样大大提高了监控系统的覆盖面和灵活性。系统模型如图1所示。

 

 

2 传统的TCP和UDP协议
    TCP协议即传输控制协议,该协议首先要通过三次握手来建立连接,再利用“发送-等待确认-再发送”机制来保证数据传输的可靠性,但是显然造成了对宝贵的网络资源的严重浪费,降低了传输效率,而且因为这种控制机制的时延太长,灵活性太差,不能满足实时的音视频数据的传输要求。而UDP协议,即用户数据报协议,它为应用程序之间提供面向无连接的、不可靠的数据报的传输服务。它是一个非常简单的协议,没有使用确认机制来确保报文到达,没有对传入的报文重新排序的功能,也不提供反馈信息来控制机器之间信息流动的速度。所以UDP的报文传输可能出现丢失、重复、延迟以及乱序的错误。所以说单独的UDP协议也不适合实时的音视频数据的传输。
3 RTP/RTCP协议及其传输控制方法
3.1 RTP/RTCP协议[1]

    RTP协议主要是用来传输实时音/视频数据,它包括RTP和RTCP两种数据包。RTP包用于实时数据端到端传输,RTP包最大的特点就是其提供了时间戳(即发送数据块首字节的创建时间)和序列号,以达到数据的同步和重组。而在RTCP包中含有已发送的数据包的数量、丢失数据包的情况和数据包到达时延抖动等信息,通过该信息可以计算出如下有关的服务质量参数:数据包丢失比、数据包时间片丢失比、数据包丢失率、数据包时间片丢失率、有效数据传输率、数据包传输率、吞吐量、吞吐率数据包到达时延抖动、往返传播时延等等。通过这些参数可以监视网络的服务质量、通信带宽以及网上传送的信息。
3.2实时传输控制的方法
    远程网络传输不可靠性主要表现在[2]:
    (1)数据包“乱序到达”,先发送数据包有可能后到;
    (2)在Internet环境下,网络传输带宽变动会引起发送的数据包丢失;
    (3)数据包到达的时延过大而产生抖动会引起数据的失真。
3.2.1 利用RTP/RTCP进行传输控制
    RTP/RTCP能很好地解决上述问题。发送端和接收端应遵循以下步骤:
    (1)在接收端缓冲区中依靠RTP包中的序列号来调整到达数据包的顺序,使之与发送时的数据顺序一致。
    (2)分析RTCP控制包。
    (3)评估网络状态。采用某种判断依据,评估实际的网络拥塞状况,以决定是否对带宽需求进行动态控制以改善服务质量。
    (4)调整所需带宽。如接收端用户可以设置可接受的最大和最小带宽。
    为了改进远程视频传输系统的稳定性,需建立一个传输控制模型,这样可通过网络状况的反馈及时调整采样频率以及编码格式以适应当前的网络传输要求。RTCP利用主要的两种控制包SR和RR反馈的信息如数据包丢失比、数据包丢失率、吞吐量和吞吐率、数据包到达时延抖动J(interarrival jitter)和往返传播时延等来调节实时传输,并调整系统的打包格式、发包速率来保证流畅地传输数据和清晰地播放视频。其服务质量动态反馈控制的原理如图2所示。

 

 

3.2.2 利用TCP进行的新型传输控制
    TCP不适合实时音视频数据的传输。但是RTP协议可以利用TCP来实现数据传输的新的控制,这种控制方法很独特、新颖。因为利用RTCP虽然可以实现数据传输的控制,但其主要是在源端和接收端之间的参数交流,因而只能大概、初略地估计线路的阻塞程度,从而调整发送速率。随着计算机网络的迅速发展,拥塞控制机制的目标从单独地避免拥塞趋向于怎样有效地利用网络资源。RTCP中的控制将丢包和传输延迟的增长作为网络出现拥塞的指示,没有依赖于网络的中间节点。在实际网络中,引起网络拥塞的因素是很多的:可能由于中间节点队列溢出引起丢包,也可能是由于设备故障或者链路干扰导致节点校验错误引起丢包;可能由于中间节点队列长度增长引起延迟增加,也可能由于传输路径很长(如卫星链路)或者链路层数据包重传引起延迟增加。因此,利用TCP协议,可以反映网络的中间节点对拥塞的影响程度,从而采用多种拥塞控制机制来保证服务质量。可以大致地将其划分为3类:(1)基于丢包反馈地协议LCA(loss-based congestion avoidance); (2)基于路径延时反馈地协议DCA(delay-based congestion avoidance); (3)基于显式反馈的协议ECN(explicit congestion notification)。
    即在源端发送一些TCP探测包,经过中间网络节点,到达接收端,接收端再发送TCP数据包,与源端进行交流,从而达到传输控制。TCP用于RTP传输控制如图3所示。

 


4 系统设计与实现
    系统的实现是在Visualc++6.0环境下[3-4],采用H.263/H.264视频编码,G726音频压缩编码。传输控制子系统是基于RTP/RTCP协议构建,通过传输层的UDP Socket完成实时传输。
4.1 现场监控设备的实现 
    现场监控设备通过网络初始化后,实现与服务器的连接。通过监控设备开启录音和摄像程序,不间断地采集现场音视频信息,然后经过G.729音频、H.263/H.264视频编码压缩,再经过封包并通过网络传给服务器。待监控设备收到数据采集结束的信息通知后,才停止采集过程。该部分主要是完成数据的采集、打包、压缩以及数据的存储和发送。数据发送结构如图4所示。系统的模块组成框图如图5所示。

 

 


4.2 监控服务器的实现
    监控服务器端是本智能系统的核心部分,功能多,设计复杂[5-6]。主要是根据监控信息进行相关的数据处理并完成对监控客户端的数据实时传输和实时监控。服务器端主要分为如下模块:网络管理、协议分发、代理模块、管理模块、登录管理、终端管理、监控端管理、文件管理、数据库管理、日志管理及UI(用户接口)等模块。系统结构如图6所示。

 


4.3 监控客户端的实现
    监控客户端主要包括两类用户:常规固定监控客户端和移动手机监控客户端。主要负责日常的监控管理,可以通过网络Web和手机监控播放器两种模式查看现场信息。如进行视频监控、保存回放、连续录像、文件检索以及网络传输等多种功能综合的多元化需求。系统结构如图7所示。

 


5 监视系统的应用
    本系统的一种实现形式就是直接使用机房的计算机,通过安装摄像头或红外线探头,采集视频图像,压缩编码后,通过机房内部网络传输到机房管理控制中心,方便机房管理人员了解机房内学生上机的情况。另一种形式是把视频采集编码程序通过DSP编译和优化[7-8],然后移植到DSP平台上,通过网络传送到接收端实时显示[9-10]。在Internet网络上进行视频实时传送,需要进行QOS服务质量控制,否则传输质量满足不了要求,效果也很差。本系统由于采用RTP/RTCP协议进行传输质量控制,在Internet网络上实现的效果也非常好,在家里、网吧等也可以实时看到机房的情况,满足了机房实时视频监视的需要[11]
    针对机房的安全以及机房使用的管理情况设计了机房实时监视系统。该系统通过在局域网和Internet网络上的多次实验,表明在局域网环境下,网络通信较为简单,传输质量较好,在Internet网络环境下,跳帧现象明显,通过有效的传输质量控制,传输帧率一般保持在每秒15~30帧,图像效果很好,当视频背景快速移动时,运算复杂度增大,传输帧率会降低,须即时调整,确保传输质量的稳定。
参考文献
[1] Sehulzrine H. RTP Profile for Audio and Video Conferences with Minimal Control.RFC1890,IETF,1996.2-10.
[2] Basturk E, Birman A. Design and Implement of A QoS Capable Switch-router. Computer Networks and ISDN Systems,1999,31(1/2):19-32.
[3] David J,KrL-glinski. K L. Inside  Visual C++. Waslling ton:Microsoft Press,1997; 206-223.
[4] Anthony Jones,Jimohlund. Windows网络编程技术[M]. 北京:机械工业出版社,2000
[5] Sehulzrinne.H. RTP Profile for Audio and Video Conference switch Minimal Control[S].InternetRFC1890.1996-01
[6] Sen S,Cao L,RexfordJ,etal. Optimal Patching scheme for efficient multimedia Streaming .Proe.Int.Conf.011 Network and Operating System Support for Digital Audio and Video,1999,(6):1024-1032.
[7] 王飞. MpEG -4标准及多媒体应用.电子技术,2001(3):17-22.
[8] 吴国勇,邱学刚. 网络视频:流媒体技术与应用. 北京:北京邮电大学出版社,2001。
[9] 徐京,鲁士文.TCP/IP网络环境下的视频图像传输.计算机工程与应用,1999(12):98-100.
[10] 冻 坚,陈伟. Visual C++网络高级编程. 北京:人民邮电出版社,2002.7-95.
[11] 冯 哗,冯忠义,曹宁.基于socket网络编程接口实现局域网上视频传输的应用研究. 微计算机信息,1998,14(5).

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。