一种音视频转发控制方法及系统技术方案

技术编号:10255381 阅读:164 留言:0更新日期:2014-07-24 21:50
本发明专利技术提供一种音视频转发控制方法及系统,所述方法包括:发送端发送RTP包,并在发送设定数量的RTP包后,根据当前发送RTP包的数量生成SR包并发送;接收端接收所述RTP包和SR包,并在接收到所述SR包后,统计当前接收到的RTP包数量,根据所述SR包中携带的当前发送RTP包的数量,计算丢包率并生成RR包返回给所述发送端;所述发送端接收到所述RR包,获取所述丢包率;根据所述丢包率调整发送RTP包的速率。与现有技术相比,本发明专利技术能够对音视频数据传输的速率根据网络拥塞状态进行动态的调整控制。

【技术实现步骤摘要】

本专利技术涉及多媒体网络传输
,尤其涉及一种音视频转发控制方法及系统
技术介绍
近年来,随着因特网和多媒体技术的迅速发展,具有较好实时性和交互性的网络视频会议得到了广泛应用。然而目前使用的视频会议多采用TCP/IP协议来传输实时音视频数据,实时效果较差且服务器与服务器之间不能进行级联。传统的TCP/IP协议由于采用面向连接的重传机制,已不能满足多媒体视频数据的实时传输,而其拥塞机制容易造成网络拥塞,不利于大数据量的多媒体音视频数据传输。UDP协议虽然对传输的数据采用尽量交付的方式,但它没有提供拥塞控制。实时传输协议RTP(Real-time Transport Protocol)是专门为多媒体数据的实时传输而设计的。其配套的传输控制协议RTCP为RTP的传输提供控制功能,在实时的多媒体会议得到了广泛应用。RTP提供端对端的网络传输功能,被定义为一对一或一对多的情况下工作。RTP提供时间戳信息以实现同步,适用于点播和组播的方式传输实时数据。RTP通常使用UDP进行数据传输,也可工作在TCP或ATM等协议之上。RTP本身不提供流量控制和拥塞控制,它依靠RTCP提供这些服务。实时传输控制协议RTCP(Real-time Transport Control Protocol)为RTP提供传输控制功能。在RTP会话期间,各会话参与者定期发送RTCP包反馈统计信息如发包数、丢包数、时延等,发送方据此调节发送速率。RTP和RTCP配合使用,提供数据实时传输和Qos服务来满足网络音视频数据的实时传输、时延和丢包要求。RTCP控制包五种类型:发送包报告包SR(Serder Report):当前发送方发送的统计信息。接收方报告包RR(Receive Report):接收方所作的接收统计信息。源描述项包SDES(Sender Descr iption):描述与会话源相关的统计信息。应用包APP(Application):开发新的应用。离开包BYE:离开会话时的报告包。现有的基于常数增长和常数减少的流量控制算法来进行流量控制会出现如果两个增加和减小常数设定得太大,RTP流的抖动会很大,加剧网络的拥塞及如果设的太小,RTP流的速度增加就会太太慢或减小的太快,不利于网络带宽利用率的提高的问题。现有技术中,使用TCP重传机制容易造成网络拥塞、而UDP的尽量交付传输方式虽然避免了重传机制,但由于其不提供拥塞机制,无法根据网络状况进行调整。现有技术中亟需一种能够对音视频数据传输的速率根据网络拥塞状态进行动态的调整控制的方法。
技术实现思路
本专利技术的目的在于克服现有技术的缺点和不足,提供一种音视频转发控制方法及系统。一种音视频转发控制方法,所述方法包括:发送端发送RTP包,并在发送设定数量的RTP包后,根据当前发送RTP包的数量生成SR包并发送;接收端接收所述RTP包和SR包,并在接收到所述SR包后,统计当前接收到的RTP包数量,根据所述SR包中携带的当前发送RTP包的数量,计算丢包率并生成RR包返回给所述发送端;所述发送端接收到所述RR包,获取所述丢包率;根据所述丢包率调整发送RTP包的速率。另一方面,本专利技术还提供了一种音视频转发控制系统,该系统包括发送端和接收端,其中,所述发送端,用于发送RTP包,并在发送设定数量的RTP包后,根据当前发送RTP包的数量生成SR包并发送;接收到所述RR包,获取所述丢包率;根据所述丢包率调整发送RTP包的速率;所述接收端,用于接收所述RTP包和SR包,并在接收到所述SR包后,统计当前接收到的RTP包数量,根据所述SR包中携带的当前发送RTP包的数量,计算丢包率并生成RR包返回给所述发送端。本专利技术通过根据丢包率动态调整发送端RTP包发送速率来控制网络拥塞,与现有技术相比,解决了相比使用TCP的重传机制造成的网络拥塞的问题及相比使用UDP的尽量到达机制造成的网络拥塞无法控制的问题。同时,本专利技术实施例使用变常数增长和变常数减少的方法来进行流量控制,在一定程度上避免了如果两个常数AR和a设定得太大,RTP流的抖动会很大,加剧网络的拥塞及如果设的太小,RTP流的速度增加就会太太慢或减小的太快,不利于网络带宽利用率的提高的问题。进一步的,本专利技术实施例同时在多个服务器级联的情况下同样可以动态调整音视频数据在服务器与客户端、服务器与服务器之间的传输速率,增强了网络自适应性。附图说明图1为本专利技术实施例1提供的音视频转发控制方法原理流程图;图2为本专利技术实施例2提供的音视频转发控制系统结构示意图;图3为本专利技术实施例3提供的音视频转发控制系统中发送端结构示意图;图4为本专利技术实施例4提供的发送端中发送速率控制单元35结构示意图;图5为本专利技术实施例5提供的接收端结构示意图。具体实施方式下面结合附图对本专利技术的具体实施方式进行详细描述。但本专利技术的实施方式不限于此。本专利技术方法实施例原理为利用多个服务器级联使用RTP/RTCP协议,根据RTCP的动态反馈可以各个服务器之间及服务器与客户之间动态的进行传输速率的调整。服务器端接收从源客户端或源服务器发送过来的实时视频数据RTP包或RTCP包,然后对数据包进行分析,如果是RTP包则直接转发到目标客户端或者目标服务器;如果是SR包则计算RTP数据包接收量,同时根据接收的源客户端或源服务器的SR统计包,统计接收的丢包率、时延、抖动等信息以构造接收方统计包RR,向源客户端或源服务器反馈网络状况。为方便对本专利技术技术方案的理解,以下以本专利技术技术方案在多个服务器级联情况下的实现为例,具体说明本专利技术技术方案在该频段内的实现方式。然而,服务器级联并不构成本专利技术实现的限制条件,本专利技术的实现并非必然局限在服务器级联的状况下,相应的,本专利技术所指的发送端可以是级联服务器的上级服务器或者源服务器、源终端,接收端可以是级联服务器的下级服务器或者终端。本专利技术无意对技术方案实现时所采用的具体的级联方式或者与此相关的具体设备进行限制。同理,本专利技术技术方案并不限制于音视频文件的转发控制,实际上,只要是可以应用RTP协议而需要进行由于网络拥塞而进行流量控制的情况,均可以适用本专利技术各个实施例所提供的技术方案。如图1所示,为本专利技术实施例1提供的音视频转发控制方法原理流程图,具体如下:步骤10,发送端发送RTP包,并在发送设定数量的RTP包后,根据当前发送RTP包的数本文档来自技高网
...
一种音视频转发控制方法及系统

【技术保护点】
一种音视频转发控制方法,其特征在于,所述方法包括:发送端发送RTP包,并在发送设定数量的RTP包后,根据当前发送RTP包的数量生成SR包并发送;接收端接收所述RTP包和SR包,并在接收到所述SR包后,统计当前接收到的RTP包数量,根据所述SR包中携带的当前发送RTP包的数量,计算丢包率并生成RR包返回给所述发送端;所述发送端接收到所述RR包,获取所述丢包率;根据所述丢包率调整发送RTP包的速率。

【技术特征摘要】
1.一种音视频转发控制方法,其特征在于,所述方法包括:
发送端发送RTP包,并在发送设定数量的RTP包后,根据当前发送RTP
包的数量生成SR包并发送;
接收端接收所述RTP包和SR包,并在接收到所述SR包后,统计当前接
收到的RTP包数量,根据所述SR包中携带的当前发送RTP包的数量,计算丢
包率并生成RR包返回给所述发送端;
所述发送端接收到所述RR包,获取所述丢包率;根据所述丢包率调整发
送RTP包的速率。
2.如权利要求1所述的方法,其特征在于,所述接收端接收到所述RTP
包和SR包后,判断所接收的是否为RTP包,如果是,则转发所述RTP包;否
则,继续后续操作。
3.如权利要求1所述的方法,其特征在于,所述计算丢包率,包括:
丢包率=丢失的RTP包数/实际发送的RTP包数;
丢失的RTP包数=实际发送的RTP包数-实际接收的RTP包数。
4.如权利要求1所述的方法,其特征在于,所述根据所述丢包率调整发
送RTP包的速率,包括:
设定丢包率的门限值P;
丢包率<P时,提高发送RTP包的速率;否则,降低发送RTP包的速率。
5.如权利要求1或4所述的方法,其特征在于,所述根据所述丢包率调
整发送RTP包的速率,还包括:
设定当前发送RTP包的速率CurRate,初始发送RTP包的速率InitRate,
最小发送RTP包的速率MinRate,最大发送RTP包的速率MaxRate,速率增加

\t值AR,递减因子a,其中,0<a<1,上次的丢包率为lastP且初始值为零,丢
包率curP,丢包率的门限值P;
发送端初始发送RTP包速率CurRate=InitRate;
当curP≤P且(curP-lastP)≤0时,设定当前发送RTP包的速率
CurRate=min((CurRate+AR*Abs(curP-lastP)),MaxRate);
当curP≤P且(curP-lastP)>0时,设定当前发送RTP包的速率
CurRate=max((CurRate-AR),MinRate);
当curP>P且(curP-lastP)>0时,设定当前发送RTP包的速率
CurRate=max((CurRate*a/(curP-lastP)),MinRate);
当curP>P且(curP-lastP)≤0时,设定当前发送RTP包的速率
CurRate=max(...

【专利技术属性】
技术研发人员:白青松
申请(专利权)人:北京随锐科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1