一种媒体流转分发的方法及其系统技术方案

技术编号:16284677 阅读:49 留言:0更新日期:2017-09-24 09:52
本发明专利技术所述的一种媒体流转分发的方法及其系统,不局限于点对点的通信,适用于一对多客户端的视频监控系统,通过采用RTP协议传输媒体流数据,满足了媒体流数据传输的实时性和高可靠性。建立了环形缓冲区,用于存储所有RTP数据包,当客户端发生丢包时,优先在所述环形缓冲区内查找客户端需要的丢失包并直接发送给相应客户端,提高了丢包重传的效率。当无法在环形缓冲区内查找到相应的丢失包,针对不同的客户端创建重传请求记录并进行相应的计数,保证了只为丢包客户端发送重传包,一定程度上减轻了网络负担。并且只需要修改服务器,监控前端和客户端的重传重组策略完全不变。同时为用户提供了三种转发模式,用户可以自行进行设定,具有极大的灵活性。

Method and system for media circulation and distribution

A media the flow distribution method and system, not limited to point-to-point communication, suitable for multi client video monitoring system, the data flow by using the RTP protocol transmission media, meet the real-time and high reliability of streaming media data transmission. A ring buffer is used to store all the RTP data packets, packet loss occurs when the client, the priority in the circular buffer to find client lost packets and sent directly to the corresponding client, improve the efficiency of packet loss retransmission. When unable to find the lost packets in the corresponding check ring buffer, for different client creates a retransmission request record and the corresponding count, to guarantee the packet loss retransmission packet sent to the client, to a certain extent, reduce the burden on the network. And only need to modify the server, monitoring the front-end and client retransmission strategy is completely unchanged. At the same time, it provides three forwarding modes for users, and the user can set them by himself, which has great flexibility.

【技术实现步骤摘要】

本专利技术属于视频监控领域,具体地说涉及一种媒体流转分发的方法及其系统
技术介绍
视频监控系统最基础的业务功能就是媒体流的转分发,即当多个客户端需要同时实时浏览同一个监控前端时,监控前端会以媒体包的形式复制分发给多个客户端。目前视频监控系统中的媒体流转分发模式主要包括前端直传模式、前端组播模式以及服务器模式。无论哪种模式,都会存在网络不稳定导致媒体包发送过程中产生丢包的问题,需要客户端请求重传,所述视频监控系统处理重传请求并重发媒体包。所述前端直传模式主要用于较小规模的视频监控系统,并且需要由所述监控前端直接进行重传,故而对所述监控前端的性能要求较高。在组播模式和服务器模式中,只要有客户端发生丢包,所述视频监控系统就会将这个需要重传的媒体包广播式的发送给所有客户端,极大地加重了网络负载,极有可能会导致网络丢包现象的进一步恶化。公布号为CN101931632A的专利申请名称为“一种利用实时传输协议通道进行服务质量保证的方法”,公开了一种丢包重传思想,即接收方在收到RTP(Real-timeTransportProtocol)包时,首先在本地缓存并排序,发现丢包后通过RTCP(RTPControlProtocol)通道发送重传包,发送方则响应重传请求,重发丢失的RTP包。但是该技术方案只适用于点对点通信,对于在视频监控系统中多个接收方对应同一个发送方的情况下,该技术方案无法起到优化作用,也就无法有效降低了丢包重传带来的广播效应。
技术实现思路
为此,本专利技术所要解决的技术问题在于现有技术中针对一对多客户端的视频监控系统在丢包重传过程中无法有效的只为丢包客户端发送重传包,从而提出只针对丢包客户端发送重传包的一种媒体流转分发的方法及其系统。为解决上述技术问题,本专利技术采用如下技术方案。一种媒体流转分发的方法,包括如下步骤:S1:监控前端将媒体流数据打包成数据包并通过服务器发送至客户端,所述服务器接收客户端丢失数据包后发送的重传请求;S2:所述服务器与每一发送重传请求的客户端均创建一条重传请求记录,所述重传请求记录该客户端针对同一重传包的重传请求的引用计数;所述服务器收到来自同一个客户端针对同一重传包的重传请求时,该重传请求记录中的引用计数加一;S3:所述服务器根据重传请求记录发送重传包给相应的客户端,每发送一次重传包,该条重传请求记录中与该重传包对应的引用计数减一,直至该条重传请求记录中针对所有重传包的引用计数均为零,清除该条重传请求记录。进一步地所述步骤S1还包括:所述服务器将所有数据包存储至环形缓冲区内;所述服务器收到来自客户端的重传请求后,在所述环形缓冲区内查找是否存在该重传请求对应的重传包,若不存在,进入所述步骤S2;若存在,进入步骤S4:所述服务器从所述缓冲区中提取该重传包发送至客户端。进一步地所述步骤S1中:所述监控前端将媒体流数据根据RTP协议打包,并且为每一打包后媒体流数据均添加一包含序列号的RTP包头形成RTP数据包;所述客户端接收所述RTP数据包,获得每一RTP数据包中RTP包头中的序列号,根据序列号是否连续判断是否丢失数据包;所述重传请求为RTCP重传请求数据包,其中包含丢失的RTP数据包的序列号以及数量。进一步地所述步骤S2中:所述服务器创建的每一所述重传请求记录,在到达清零时间阈值后自动清除。进一步地所述清零时间阈值为10s。进一步地所述步骤S1中的所述环形缓冲区存储空间S为:S=R×1024×1024×T÷8÷D,其中R代表媒体流传输的码率,其单位为Mbps,D代表每一所述数据包的大小,单位为Byte,T表示客户端发送多次重传请求所需的总时间。进一步地T≤3秒。进一步地所述步骤S1还包括:设定转发模式,所述转发模式包括单纯转发模式、精确重传模式和全缓存模式。一种媒体流转分发的系统,包括:传输模块,内置于服务器中,用于将监控前端打包的数据包发送至客户端,并接收所述客户端丢失数据包后发送的重传请求;重传请求记录创建模块,用于在所述服务器与每一发送重传请求的客户端均创建一条重传请求记录,所述重传请求记录该客户端针对同一重传包的重传请求的引用计数;所述服务器收到来自同一个客户端针对同一重传包的重传请求时,该重传请求记录中的引用计数加一;所述服务器根据重传请求记录发送重传包给相应的客户端,每发送一次重传包,该条重传请求记录中与该重传包对应的引用计数减一,直至该条重传请求记录中针对所有重传包的引用计数均为零,清除该条重传请求记录。进一步地还包括:环形缓冲区模块,所述服务器将所有数据包存储至环形缓冲区模块内;所述服务器收到来自客户端的重传请求后,在所述环形缓冲区模块内查找是否存在该重传请求对应的重传包,若不存在,进入所述重传请求记录创建模块中;若存在,进入重传发送模块,所述重传发送模块用于通过所述服务器从所述缓冲区模块中提取该重传包发送至客户端。进一步地所述监控前端包括:打包模块,用于将媒体流数据根据RTP协议打包,并且为每一打包后媒体流数据均添加一包含序列号的RTP包头形成RTP数据包;所述客户端包括:丢包判断模块,用于接收所述RTP数据包,获得每一RTP数据包中RTP包头中的序列号,根据序列号是否连续判断是否丢失数据包;所述重传请求为RTCP重传请求数据包,其中包含丢失的RTP数据包的序列号以及数量。进一步地所述重传请求记录创建模块种所述服务器创建的每一所述重传请求记录,在到达清零时间阈值后自动清除。进一步地所述清零时间阈值为10s。进一步地所述环形缓冲区存储空间S为:S=R×1024×1024×T÷8÷D,其中R代表媒体流传输的码率,其单位为Mbps,D代表每一所述数据包的大小,单位为Byte,T表示客户端发送多次重传请求所需的总时间。进一步地T≤3秒。进一步地还包括:转发模式设定模块,用于设定转发模式,所述转发模式包括单纯转发模式、精确重传模式和全缓存模式。本专利技术的上述技术方案相比现有技术具有以下优点:(1)本专利技术所述的一种媒体流转分发的方法及其系统,不局限于点对点的通信,适用于一对多客户端的视频监控系统,通过采用RTP协议传输媒体流数据,满足了媒体流数据传输的实时性和高可靠性。并且针对不同的客户端创建重传请求记录并进行相应的计数,保证了只为丢包客户端发送重传包,一定程度上减轻了网本文档来自技高网
...
一种媒体流转分发的方法及其系统

【技术保护点】
一种媒体流转分发的方法,其特征在于,包括如下步骤:S1:监控前端将媒体流数据打包成数据包并通过服务器发送至客户端,所述服务器接收客户端丢失数据包后发送的重传请求;S2:所述服务器与每一发送重传请求的客户端均创建一条重传请求记录,所述重传请求记录该客户端针对同一重传包的重传请求的引用计数;所述服务器收到来自同一个客户端针对同一重传包的重传请求时,该重传请求记录中的引用计数加一;S3:所述服务器根据重传请求记录发送重传包给相应的客户端,每发送一次重传包,该条重传请求记录中与该重传包对应的引用计数减一,直至该条重传请求记录中针对所有重传包的引用计数均为零,清除该条重传请求记录。

【技术特征摘要】
1.一种媒体流转分发的方法,其特征在于,包括如下步骤:
S1:监控前端将媒体流数据打包成数据包并通过服务器发送至客户端,
所述服务器接收客户端丢失数据包后发送的重传请求;
S2:所述服务器与每一发送重传请求的客户端均创建一条重传请求记录,
所述重传请求记录该客户端针对同一重传包的重传请求的引用计数;所述服
务器收到来自同一个客户端针对同一重传包的重传请求时,该重传请求记录
中的引用计数加一;
S3:所述服务器根据重传请求记录发送重传包给相应的客户端,每发送
一次重传包,该条重传请求记录中与该重传包对应的引用计数减一,直至该
条重传请求记录中针对所有重传包的引用计数均为零,清除该条重传请求记
录。
2.根据权利要求1所述的媒体流转分发的方法,其特征在于:
所述步骤S1还包括:所述服务器将所有数据包存储至环形缓冲区内;所
述服务器收到来自客户端的重传请求后,在所述环形缓冲区内查找是否存在
该重传请求对应的重传包,若不存在,进入所述步骤S2;若存在,进入步骤
S4:所述服务器从所述缓冲区中提取该重传包发送至客户端。
3.根据权利要求1或2所述的媒体流转分发的方法,其特征在于,所
述步骤S1中:
所述监控前端将媒体流数据根据RTP协议打包,并且为每一打包后媒体流
数据均添加一包含序列号的RTP包头形成RTP数据包;
所述客户端接收所述RTP数据包,获得每一RTP数据包中RTP包头中的序

\t列号,根据序列号是否连续判断是否丢失数据包;
所述重传请求为RTCP重传请求数据包,其中包含丢失的RTP数据包的序
列号以及数量。
4.根据权利要求1-3任一所述的媒体流转分发的方法,其特征在于,
所述步骤S2中:
所述服务器创建的每一所述重传请求记录,在到达清零时间阈值后自动清
除。
5.根据权利要求4所述的媒体流转分发的方法,其特征在于,所述清
零时间阈值为10s。
6.根据权利要求2-5任一所述的媒体流转分发的方法,其特征在于,
所述步骤S1中的所述环形缓冲区存储空间S为:
S=R×1024×1024×T÷8÷D,
其中R代表媒体流传输的码率,其单位为Mbps,D代表每一所述数据包
的大小,单位为Byte,T表示客户端发送多次重传请求所需的总时间。
7.根据权利要求6所述的媒体流转分发的方法,其特征在于,T≤3秒。
8.根据权利要求1-7任一所述的媒体流转分发的方法,其特征在于,
所述步骤S1还包括:
设定转发模式,所述转发模式包括单纯转发模式、精确重传模式和全缓
存模式。
9.一种媒体流转分发的系统,其特征在于,包括:
传输模块,内...

【专利技术属性】
技术研发人员:梁黎陈卫东
申请(专利权)人:苏州科达科技股份有限公司
类型:发明
国别省市:江苏;32

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

1