一种实现流量控制的丢包重传方法

文档序号:8447761阅读:1067来源:国知局
一种实现流量控制的丢包重传方法
【技术领域】
[0001]本发明属于音视频网络传输方法领域,具体涉及一种实现流量控制的丢包重传方法。
【背景技术】
[0002]在视频会议监控系统中,当需要跨区域进行视频会议或者视频监控时,需要在终端设备点播察看远端视频源设备的图像,此时系统需要在视频源设备端部署流媒体服务以及在终端设备端部署流媒体服务来进行视频数据的调度转发。当视频源设备处于偏远山区等网络建设不完善,网络信号状态不好的地区时,传输音视频资源容易发生数据包丢包现象,视频资源发生丢失,接收方不能收获完整的视频数据,导致点播的图像花屏或者关键的数据丢失而看不到关键图像信息。致使监控任务失败而发生重大经济损失。在这种环境下用户需要一种传输方法来适应恶劣的网络环境,在有很大丢包率情况下仍然可以完整效率的传输音视频资源,且可以实现将网络流量控制住,使数据丢包率不至于太高以至于断网,让点播的图像不花屏也不黑屏。

【发明内容】

[0003]本发明的目的在于解决现有技术存在的上述问题,提供一种实现流量控制的丢包重传方法,本方法是一种基于RTCP标准的对丢包进行计数按时清理的丢包重传方法,在有很大丢包率情况下仍然可以完整效率的传输音视频资源,且可以实现将网络流量控制住,防止客户端频繁发送重传请求而过度重传数据导致流量增长过大以及瞬间大量重传导致对传输网络产生冲击,以至于断网,让点播的图像不花屏也不黑屏。
[0004]一种实现流量控制的丢包重传方法,包括以下步骤:
步骤1、发送端设置重传权标的固定单位以及上限阀值;
步骤2、发送端使用标准RTP数据包格式将视频数据包发送给接收端,发送端每发送一个视频数据包,重传权标值增加一个固定单位,重传权标值达到上限阀值后不再增长;
步骤3、接收端设置一个重传请求队列,
若接收端接收到是不连续的视频数据包,每一个丢失的视频数据包生成一个对应的丢包序号信息,存放入重传请求队列中,丢包序号信息包括视频数据包的序列号和等待值,等待值初始为O ;
若接收端接收到是连续的视频数据包,则继续接收下一个视频数据包,将接收到的视频数据包按照视频数据包序列号从小到大的顺序依次放入数据输出缓冲区;
若接收端收到的是重传的视频数据包,则根据重传视频数据包的视频数据包序号将重传请求队列中对应的丢包序号信息移除,同时将重传的视频数据包存储在数据输出缓冲区;
接收端每接收到一个视频数据包,将所有丢包序号信息中的等待值各加1,当等待值增加到等待阀值后,接收端根据等待值达到等待阈值的丢包序号信息中的序列号即时生成重传请求数据包发送至发送端并将该丢包序号信息中的等待值归O ;
步骤4、发送端接收到重传请求后,将丢失的视频数据包重新发送给接收端。
[0005]如上所述的将重传视频数据包存储在数据输出缓冲区包括以下步骤:
判断所述数据输出缓冲区是否溢出,
若数据输出缓冲区已满,则将数据输出缓冲区前端的视频数据包,即视频数据包序列号最小的视频数据包移除后,再将重传视频数据包按照视频数据包序列号的顺序存放在数据输出缓冲区;
若数据输出缓冲区未满,则将重传视频数据包按照视频数据包序列号的顺序存放在数据输出缓冲区。
[0006]如上所述的步骤2当重传请求队列中的丢包序号信息的序列号小于数据输出缓冲区最前端的视频数据包序列号,上述丢包序号信息从所述重传请求队列移除。
[0007]如上所述的步骤4包括以下步骤:
步骤4.1、发送端收到重传请求后,将重传请求数据包进行解析,获取丢失视频数据包的序号,在待重传视频数据包队列中查找对应的视频数据包,待重传视频数据包队列为发送端发出去的所有视频数据包的一个备份存储区;
步骤4.2、发送端收到重传请求后会检测重传权标值是否有效,
若重传权标值小于固定单位则无效,重传请求数据包丢弃;
若重传权标值等于或大于固定单位则有效,重传权标值减少一个固定单位,将对应序列号的视频数据包发送给接收端。
[0008]本发明与现有技术相比,具有以下优点和效果:
1、更能适应恶劣网络环境,即时存在很大丢包率情况下仍然可以传输音视频数据;
2、实现网络流量控制,避免网络因流量峰值过高而受到冲击;
3、恶劣网络环境仍然可以完整效率传输音视频数据,音视频资源不会损失;
4、在带宽冗余不大的网络环境仍能适应高达40%的丢包恢复能力,并且视频传输延时控制在5S左右。
【附图说明】
[0009]图1为本发明的系统应用场景图;
图2为本发明的流程图;
图3-1为本发明的发送端发送处理流程图;
图3-2为本发明的发送端接收处理流程图;
图4为本发明的接收端处理流程图。
【具体实施方式】
[0010]下面将结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得所有其他实施例,都属于本发明保护的范围。
[0011]本发明提供一种实现流量控制的丢包重传方法,所述方法是一种基于RTCP标准的对丢包进行计数按时清理的丢包重传方法,在有很大丢包率情况下仍然可以完整效率的传输音视频资源,且可以实现将网络流量控制住,防止客户端频繁发送重传请求而过度重传数据导致流量增长过大以及瞬间大量重传导致对传输网络产生冲击,以至于断网,让点播的图像不花屏也不黑屏。
[0012]为了更好的说明本发明方法,特提出本方法的实施方式,一种实现流量控制的丢包重传方法,包括以下步骤:
步骤1、发送端提供一个接口可以设置重传权标的固定单位以及上限阀值,重传权标用来控制数据包的重传,可防止接收端频繁发送重传请求而过度重传数据导致流量增长过大以及瞬间大量重传导致对网络产生冲击;
B、发送端使用标准RTP数据包格式将视频数据发送给接收端;
C、接收端对接收到的视频数据流进行处理,如检测结果为有视频数据包丢失情况发生,则以标准RTP数据包格式发送重传请求给发送端;
D、发送端接收到重传请求后,进行处理,将丢失的视频数据包重新发送给接收端;
如上所述的步骤B还包括以下步骤:
B1、发送端使用标准RTP数据包格式将视频数据流发送给接收端,发送端每发送一个视频数据包,重传权标值增加一个固定单位,重传权标值达到上限阀值后不再增长;
如上所述的步骤C还包括以下步骤:
Cl、接收端设置一个重传请求队列,
若接收
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1