一种流媒体分发传输分级别自动减帧控制方法技术

技术编号:8803446 阅读:224 留言:0更新日期:2013-06-13 07:27
本发明专利技术是一种流媒体分发自适应网络传输分级别自动减帧控制方法,使用了基于TCP传输协议的具有自适应的流媒体实时数据传输控制的视频流媒体系统,本方法通过视频流媒体系统为每个唯一编号的视频资源创建一个分发服务单元,并且通过创建相应的内存空间来对视频资源的数据帧进行相应的处理,以便自动判断视频数据的发送状况和对客户端网络进行等级评估,并且根据评估的具体结果自动实现自动减帧的QoS决策控制,从而较好的保证了流媒体实时传输质量,有效的避免视频画面抖动、马赛克、花屏、拖尾等异常现象发生,减轻了应用层实现逻辑的复杂性,提升了视频体验的实时性和流畅性。

【技术实现步骤摘要】

本专利技术涉及计算机网络多媒体通信
,特别涉及一种流媒体分发自适应网络传输分级别自动减帧控制方法。
技术介绍
随着流媒体技术的不断进步,大容量高并发的视频监控系统平台、视频会议系统平台、网站流媒体视频点播/直播服务平台等网络流媒体的应用正逐渐在人们的办公、日常生活中发挥着越来越重要的作用。当前的IP网络仅能提供一种“尽力而为”的服务,无法对传输速率、网络抖动、传输延时、丢包率、包错误率、包乱序等要求较高的实时流媒体传输提供有效的服务质量(QoS)保证。QoS (Quality of Service)服务质量,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要QoS,比如Web应用,或E-mail设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,QoS能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。在现实应用中,视频流媒体系统的媒体分发服务单元经常要面临着一个大容量的并发客户群访问;在这些客户群中,有的客户单元网络带宽较好,有的客户单元则网络带宽较差;当他们同时访问同一视频资源时候,需要分发服务单元根据各个客户单元的网路环境自适应的进行流媒体实时数据的传输,提高流媒体实时传输质量(QoS),从而有效的避免视频画面抖动、马赛克、花屏、拖尾等异常现象发生,提升视频体验的实时性和流畅性;目前,大部分视频流媒体系统没有进行自适应的流媒体实时数据传输控制的视频系统,也没有提供自适应网络的传输控制方法;或者是提供了基于UDP协议之上的实时传输协议(RTP )与实时传输控制协议(RTCP )的流媒体自适应传输方法。因此在网络抖动、传输延时、丢包率等严重的复杂网络环境下,往往使得流媒体实时传输质量(QoS)无法得到保证,从而导致一些视频画面的抖动、马赛克、花屏、拖尾、卡塞等异常现象发生;在使用了基于UDP传输之上的RTP/RTCP协议进行传输控制的系统中,虽然在某些环境下得到较好的效果,但在某些环境下表现的却非常糟糕;由于实质是采用UDP协议进行流媒体传输,UDP本身没有拥塞控制机制,不具有TCP传输友好性,而且也不保证流媒体数据的可靠传输,往往在网络不稳定情况下,比如乱序、丢包严重情况,RTP/RTCP本身不提供重传,在应用程序层解决又加大了难度,也违背了 RTP实时传输的原则,从而无法较好的保证流媒体传输质量。
技术实现思路
本专利技术的目的是提供一种流媒体分发自适应网络传输分级别自动减帧控制方法,该方法使用了基于TCP传输协议的具有自适应的流媒体实时数据传输控制的视频流媒体系统,其特征在于,包括以下步骤:步骤一,视频流媒体系统为每个唯一编号的视频资源创建一个分发服务单元;步骤二,每个分发服务单元通过操作系统API向操作系统预申请一个对应的内存空间,并将其定义为该分发服务单元的内存池,用于接收视频源数据帧的推送输入;步骤三,当每个唯一编号的视频资源的数据帧推送输入到该分发服务单元时,该分发服务单元通过内存池API在内存池中申请一个对应每个唯一编号的内存空间,用于保存该数据帧,同时把该数据帧封装为一个带引用计数的智能对象帧,初始引用计数为1,被引用一次计数加1,离开作用域即解引用一次计数减1,当该对象引用计数为O时,该对象自动释放内存到内存池中;步骤四,该分发服务单元接收客户单元的媒体信令请求,把该客户单元用于媒体传输的TCP连接放入到客户连接队列中,同时为该客户单元创建指定容量的智能对象帧发送队列;步骤五,该分发服务单元把客户连接TCP的套接字设置为非阻塞模式,以判断发送结果和避免发送阻塞,实现实时传输目的;步骤六,当数据源的数据帧推送输入到来时,该分发服务单元遍历客户连接队列,把步骤三中生成的智能对象帧放入每个客户连接的智能对象帧发送队列尾部;步骤七,该分发服务单元取出每个客户端待发送的智能对象帧,继续上次发送位置处发送数据;步骤八,该分发服务单元基于每个指定容量的智能对象帧发送队列的当前长度,计算出每个智能对象帧队列使用情况,并且根据每个智能对象帧发送队列使用情况做出网络等级评估:步骤九,该分发服务单元根据判断出来的网络等级评估结果,进行,实现正常发送、丢B帧、丢B/P帧、只保留最后一个关键帧的自动减帧QoS决策控制。所述步骤四中所述的指定容量的最大的预定义值为100,初始设定值为O。所述在步骤七中,当没有待发送的智能对象帧或者智能对象帧发送完毕时,取出发送队列头部智能对象帧,并且将其赋值给待发送的智能对象帧。所述在步骤七中,当智能对象帧的发送过程中出现发送非完整一帧数据的情况时,分发服务单元自动记录上次发送的偏移位置。所述在步骤八、九中,所述计算出的每个智能对象发送队列的使用情况以该队列的当前长度除以步骤四中设定的最大预定值100而得出,并且按照表一对应关系决定网络等级。表一智能对象与决定网络等级对应关系本文档来自技高网
...

【技术保护点】
一种流媒体分发自适应网络传输分级别自动减帧控制方法,该方法使用了基于TCP传输协议的具有自适应的流媒体实时数据传输控制的视频流媒体系统,其特征在于,包括以下步骤:步骤一,视频流媒体系统为每个唯一编号的视频资源创建一个分发服务单元;步骤二,每个分发服务单元通过操作系统API向操作系统预申请一个对应的内存空间,并将其定义为该分发服务单元的内存池,用于接收视频源数据帧的推送输入;步骤三,当每个唯一编号的视频资源的数据帧推送输入到该分发服务单元时,该分发服务单元通过内存池API在内存池中申请一个对应每个唯一编号的内存空间,用于保存该数据帧,同时把该数据帧封装为一个带引用计数的智能对象帧,初始引用计数为1,被引用一次计数加1,离开作用域即解引用一次计数减1,当该对象引用计数为0时,该对象自动释放内存到内存池中;步骤四,该分发服务单元接收客户单元的媒体信令请求,把该客户单元用于媒体传输的TCP连接放入到客户连接队列中,同时为该客户单元创建指定容量的智能对象帧发送队列;步骤五,该分发服务单元把客户连接TCP的套接字设置为非阻塞模式,以判断发送结果和避免发送阻塞,实现实时传输目的;步骤六,当数据源的数据帧推送输入到来时,该分发服务单元遍 历客户连接队列,把步骤三中生成的智能对象帧放入每个客户连接的智能对象帧发送队列尾部;步骤七,该分发服务单元取出每个客户端待发送的智能对象帧,继续上次发送位置处发送数据;步骤八,该分发服务单元基于每个指定容量的智能对象帧发送队列的当前长度,计算出每个智能对象帧队列使用情况,并且根据每个智能对象帧发送队列使用情况做出网络等级评估:步骤九,该分发服务单元根据判断出来的网络等级评估结果,进行QoS决策,实现正常发送、丢B帧、丢B/P帧、只保留最后一个关键帧的自动减帧QoS决策控制。...

【技术特征摘要】
1.一种流媒体分发自适应网络传输分级别自动减帧控制方法,该方法使用了基于TCP传输协议的具有自适应的流媒体实时数据传输控制的视频流媒体系统,其特征在于,包括以下步骤: 步骤一,视频流媒体系统为每个唯一编号的视频资源创建一个分发服务单元; 步骤二,每个分发服务单元通过操作系统API向操作系统预申请一个对应的内存空间,并将其定义为该分发服务单元的内存池,用于接收视频源数据帧的推送输入; 步骤三,当每个唯一编号的视频资源的数据帧推送输入到该分发服务单元时,该分发服务单元通过内存池API在内存池中申请一个对应每个唯一编号的内存空间,用于保存该数据帧,同时把该数据帧封装为一个带引用计数的智能对象帧,初始引用计数为1,被引用一次计数加1,离开作用域即解引用一次计数减1,当该对象引用计数为O时,该对象自动释放内存到内存池中; 步骤四,该分发服务单元接收客户单元的媒体信令请求,把该客户单元用于媒体传输的TCP连接放入到客户连接队列中,同时为该客户单元创建指定容量的智能对象帧发送队列; 步骤五,该分发服务单元把客户连接TCP的套接字设置为非阻塞模式,以判断发送结果和避免发送阻塞,实现实时传输目的; 步骤六,当数据源的数据帧推送输入到来时,该分发服务单元遍历客户连接队列,把步骤三中生成的智能对象帧放入每个客户连接的智能对象帧发送队列尾部; 步骤七,该分发服务单元取出每个客户端待发送的...

【专利技术属性】
技术研发人员:吕亮亮郑传江张辉陈鸿强王晓亮
申请(专利权)人:北京佳讯飞鸿电气股份有限公司
类型:发明
国别省市:

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

1