一种视频数据重传的方法及其系统技术方案

技术编号:14026723 阅读:184 留言:0更新日期:2016-11-19 04:28
本发明专利技术涉及一种视频数据重传的方法及其系统,该方法包括步骤一、RTSP交互步骤;步骤二、数据完整性判断步骤,媒体流数据不完整则进行步骤三,媒体流数据完整则重复步骤二;步骤三、重传数据步骤;步骤四、重传数据处理步骤;步骤五、结束步骤,重复步骤一,直至媒体流数据不再更新。本发明专利技术通过由Server端发送媒体流数据包,Client端来判断流数据完整性,在合适的数据包丢失的时机发起数据包的重传请求,Server端直接根据重传请求搜索丢失的数据找到并及时发出给Client端,Client端在收到新数据后对数据进行排序和完整性校验后把已收到的完整的帧数据转发给外部的播放器,保证流数据的实时性和合适的完整性,解决音视频数据在传输过程中丢失、视频花屏问题以及音频不流畅问题。

【技术实现步骤摘要】

本专利技术涉及媒体流的传输
,更具体地说是指一种视频数据重传的方法及视频数据重传的系统。
技术介绍
随着网络技术的发展,有关实时流的应用越来越广,对于因特网多媒体数据流的传输,在的实时流数据主要有两种方式传输,一种是基于TCP协议传输,另一种则是基于UDP协议传输。UDP协议不能保证数据的完整性,在受到干扰时,数据容易丢失,造成接收方不能收到完整的数据,而基于TCP协议虽然可以保证数据的完整性,但传输效率太低,实时性差。中国专利201310652893.3公开了一种视频数据传输的丢包重传方法和系统,其中方法包括步骤:分别建立与视频服务器之间的TCP链路和对等网络链路;检测传输中的丢包信息,根据丢包信息计算重传请求信息;通过TCP链路向视频服务器发送重传请求信息,并通过TCP链路接收重传请求信息对应的丢包数据;计算TCP链路响应重传请求信息的第一等待时间,在第一等待时间大于第一时延阀值时切换至对等网络链路,通过所述对等网络链路向视频服务器发送所述重传请求信息并接收对应的丢包数据。中国专利201310275059.7公开了网络通信
的视频传输方法及设备。本专利技术分别通过视频数据包是否丢失、用户发来的视频业务类型请求、视频数据包的类型和网络是否达到拥塞阈值等步骤对是否重传视频数据进行判断。本专利技术根据视频业务类型、视频数据包类型及网络状况对视频进行选择性重传视频数据包,减小了网络负荷,在保证视频播放流畅性的同时最大限度的保证了视频数据的准确性。上述的专利中,第一个专利采用的是TCP协议进行重传,数据的传输效率较低,实时性差;第二专利采用的是视频监控设备进行检测,数据传输的实时性较差。因此有必要设计一种视频数据重传方法,实现在保证数据的传输效率及实时性的同时,保证数据传输的完整性。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供种视频数据重传的方法及其系统。为实现上述目的,本专利技术采用以下技术方案:一种视频数据重传的方法,包括以下具体步骤:步骤一、RTSP交互步骤,Server端获取新的媒体流数据,由RTSP的Client端向Server端发送连接请求,完成基本的RTSP交互;步骤二、数据完整性判断步骤,交互完成后,Server端通过RTP向Clinet发送媒体流数据,Client端通过RTP头部的序号信息,判断媒体流数据是否完整,媒体流数据不完整则进行步骤三,媒体流数据完整则重复步骤二;步骤三、重传数据步骤,媒体流数据不完整时,Client端通过RTCP向Server端发送重传数据的请求,并将需要重传的数据包的序号发送到Server端,由Server端根据数据包的序号,找到需要重传的数据,重新发送到Client端;步骤四、重传数据处理步骤,根据Client端的指示,在Client端收到Server端重传的数据,插入到缓存中相应的位置,等待播放;步骤五、结束步骤,Server端发送完需要重传的数据,继续获取新的媒体流数据发送,重复步骤一,直至媒体流数据不再更新。其进一步技术方案为:在所述步骤一中,由RTSP的Client端向Server端发送连接请求后,Server端会对媒体流数据进行封装,媒体流数据封装成带有顺序、完整性、帧属性的媒体流数据包后发送。其进一步技术方案为:在所述步骤二中,交互完成中,Server端通过RTP开始向Client发送媒体流数据,并将发送的媒体流数据保存到Server端自带的缓存中,Client端接收媒体流数据,也将媒体流数据放入Client端自带的缓存中。其进一步技术方案为:在所述步骤二中,Client端接收媒体流数据时根据Server端对媒体流数据封装的结构先剥离CTT封装头部,根据字节序和位序的对应关系赋值给相应的结构化变量即可直接引用获取各相关数据项进行分析;当Client端分析数据包后发现有新被跳过的数据时,Clinet端分析丢失包的属性重新整理丢包队列。其进一步技术方案为:Client端重新整理丢包队列的具体步骤:Client端会首先做排序动作,为解决UDP数据包路由延时,设定排序等待缓冲,设定以包数量的缓冲长度,若前一最后包与当前收到的最新包的序号间隔超出设定的缓冲长度则认为超出缓冲长度部分的包都丢失了会记录到丢包列表中,当收到的包序大于截至上一次收到的最大包时,把当前包放在队尾,否则插入队列中对应的位置。其进一步技术方案为:在所述步骤三中,Server端直接根据重传请求中列出的包序号,查找包序号是否在Server端自带的缓冲数据区内,不在缓冲数据区内直接丢弃,并在Server端取最新数据并按照协议要求封装并发出;包序号在缓冲数据区内的话在当前数据包发出后,再发出请求重发的数据包,进行所述步骤二。其进一步技术方案为:所述步骤三中,Client端依据重发请求的承载协议,通过RTCP向Server端发送重传数据的请求,该重发请求的承载协议为RTCP的自定义模块。本专利技术还提供了一种视频数据重传的系统,包括RTSP交互模块、数据完整性判断模块、重传数据模块以及数据处理模块;所述RTSP交互模块,用于获取新媒体流数据,接收数据完整性判断模块的连接请求后完成基本的RTSP交互;所述数据完整性判断模块,用于接收RTSP交互模块发送的媒体流数据后,通过RTP头部的序号信息,判断媒体流数据是否完整,与所述RTSP交互模块连接;所述重传数据模块,用于接收数据完整性判断模块的判断结果,当数据媒体流不完整时,向RTSP交互模块发送重传数据请求,并将需要重传的数据包的序号发送RTSP交互模块,由RTSP交互模块根据数据包的序号,找到需要重传的数据,且在接收到重发的媒体流数据后,发送该数据至所述数据处理模块,分别与所述RTSP交互模块以及所述数据完整性判断模块连接;所述数据处理模块,用于根据所述重传数据模块发送的数据,插入到缓存中相应的位置,等待播放,与所述重传数据模块连接。其进一步技术方案为:所述RTSP交互模块内设有封装子模块,所述封装子模块用于将接收到媒体流数据进行封装,媒体流数据封装成带有顺序、完整性、帧属性的媒体流数据包后发送数据完整性判断模块,分别与所述数据完整性判断模块以及所述重传数据模块连接。其进一步技术方案为:所述数据完整性判断模块包括分析子模块以及丢包队列重整子模块;所述分析子模块,用于接收所述封装子模块发送的媒体流数据后,对媒体流数据封装的结构先剥离CTT封装头部,根据字节序和位序的对应关系赋值给相应的结构化变量即可直接引用获取各相关数据项进行分析,与所述封装子模块连接;所述丢包队列重整子模块,用于当所述分析子模块分析数据包后发现有新被跳过的数据时,对所述分析子模块分析丢失包的属性重新整理丢包队列后,发送重传请求至所述重传数据模块,分别与所述分析子模块以及所述重传数据模块连接。本专利技术与现有技术相比的有益效果是:本专利技术的一种视频数据重传的方法,通过Client端发送数据请求后由Server端发送媒体流数据包,Client端来判断流数据完整性,在合适的数据包丢失的时机发起数据包的重传请求,Server端直接根据重传请求搜索丢失的数据找到并及时发出给Client端,Client端在收到新数据后对数据进行排序和完整性校验后把已收到的完整的帧数据转发给外部的播放器本文档来自技高网
...
一种视频数据重传的方法及其系统

【技术保护点】
一种视频数据重传的方法,其特征在于,包括以下具体步骤:步骤一、RTSP交互步骤,Server端获取新的媒体流数据,由RTSP的Client端向Server端发送连接请求,完成基本的RTSP交互;步骤二、数据完整性判断步骤,交互完成后,Server端通过RTP向Clinet发送媒体流数据,Client端通过RTP头部的序号信息,判断媒体流数据是否完整,媒体流数据不完整则进行步骤三,媒体流数据完整则重复步骤二;步骤三、重传数据步骤,媒体流数据不完整时,Client端通过RTCP向Server端发送重传数据的请求,并将需要重传的数据包的序号发送到Server端,由Server端根据数据包的序号,找到需要重传的数据,重新发送到Client端;步骤四、重传数据处理步骤,根据Client端的指示,在Client端收到Server端重传的数据,插入到缓存中相应的位置,等待播放;步骤五、结束步骤,Server端发送完需要重传的数据,继续获取新的媒体流数据发送,重复步骤一,直至媒体流数据不再更新。

【技术特征摘要】
1.一种视频数据重传的方法,其特征在于,包括以下具体步骤:步骤一、RTSP交互步骤,Server端获取新的媒体流数据,由RTSP的Client端向Server端发送连接请求,完成基本的RTSP交互;步骤二、数据完整性判断步骤,交互完成后,Server端通过RTP向Clinet发送媒体流数据,Client端通过RTP头部的序号信息,判断媒体流数据是否完整,媒体流数据不完整则进行步骤三,媒体流数据完整则重复步骤二;步骤三、重传数据步骤,媒体流数据不完整时,Client端通过RTCP向Server端发送重传数据的请求,并将需要重传的数据包的序号发送到Server端,由Server端根据数据包的序号,找到需要重传的数据,重新发送到Client端;步骤四、重传数据处理步骤,根据Client端的指示,在Client端收到Server端重传的数据,插入到缓存中相应的位置,等待播放;步骤五、结束步骤,Server端发送完需要重传的数据,继续获取新的媒体流数据发送,重复步骤一,直至媒体流数据不再更新。2.根据权利要求1所述的一种视频数据重传的方法,其特征在于,在所述步骤一中,由RTSP的Client端向Server端发送连接请求后,Server端会对媒体流数据进行封装,媒体流数据封装成带有顺序、完整性、帧属性的媒体流数据包后发送。3.根据权利要求1所述的一种视频数据重传的方法,其特征在于,在所述步骤二中,交互完成中,Server端通过RTP开始向Client发送媒体流数据,并将发送的媒体流数据保存到Server端自带的缓存中,Client端接收媒体流数据,也将媒体流数据放入Client端自带的缓存中。4.根据权利要求3所述的一种视频数据重传的方法,其特征在于,在所述步骤二中,Client端接收媒体流数据时根据Server端对媒体流数据封装的结构先剥离CTT封装头部,根据字节序和位序的对应关系赋值给相应的结构化变量即可直接引用获取各相关数据项进行分析;当Client端分析数据包后发现有新被跳过的数据时,Cl ient端分析丢失包的属性重新整理丢包队列。5.根据权利要求4所述的根据权利要求所述的一种视频数据重传的方法,其特征在于,Client端重新整理丢包队列的具体步骤:Client端会首先做排序动作,为解决UDP数据包路由延时,设定排序等待缓冲,设定以包数量的缓冲长度,若前一最后包与当前收到的最新包的序号间隔超出设定的缓冲长度则认为超出缓冲长度部分的包都丢失了会记录到丢包列表中,当收到的包序大于截至上一次收到的最大包时,把当前包放在队尾,否则插入队列中对...

【专利技术属性】
技术研发人员:欧阳君虎
申请(专利权)人:天彩电子深圳有限公司
类型:发明
国别省市:广东;44

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

1