CN103152649B - 一种流媒体分发传输分级别自动减帧控制方法 - Google Patents
一种流媒体分发传输分级别自动减帧控制方法 Download PDFInfo
- Publication number
- CN103152649B CN103152649B CN201310037503.1A CN201310037503A CN103152649B CN 103152649 B CN103152649 B CN 103152649B CN 201310037503 A CN201310037503 A CN 201310037503A CN 103152649 B CN103152649 B CN 103152649B
- Authority
- CN
- China
- Prior art keywords
- frame
- streaming media
- smart object
- distribution services
- services unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明是一种流媒体分发自适应网络传输分级别自动减帧控制方法,使用了基于TCP传输协议的具有自适应的流媒体实时数据传输控制的视频流媒体系统,本方法通过视频流媒体系统为每个唯一编号的视频资源创建一个分发服务单元,并且通过创建相应的内存空间来对视频资源的数据帧进行相应的处理,以便自动判断视频数据的发送状况和对客户端网络进行等级评估,并且根据评估的具体结果自动实现自动减帧的QoS决策控制,从而较好的保证了流媒体实时传输质量,有效的避免视频画面抖动、马赛克、花屏、拖尾等异常现象发生,减轻了应用层实现逻辑的复杂性,提升了视频体验的实时性和流畅性。<!--1-->
Description
技术领域
本发明涉及计算机网络多媒体通信技术领域,特别涉及一种流媒体分发自适应网络传输分级别自动减帧控制方法。
背景技术
随着流媒体技术的不断进步,大容量高并发的视频监控系统平台、视频会议系统平台、网站流媒体视频点播/直播服务平台等网络流媒体的应用正逐渐在人们的办公、日常生活中发挥着越来越重要的作用。当前的IP网络仅能提供一种“尽力而为”的服务,无法对传输速率、网络抖动、传输延时、丢包率、包错误率、包乱序等要求较高的实时流媒体传输提供有效的服务质量(QoS)保证。QoS(QualityofService)服务质量,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要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,当该对象引用计数为0时,该对象自动释放内存到内存池中;
步骤四,该分发服务单元接收客户单元的媒体信令请求,把该客户单元用于媒体传输的TCP连接放入到客户连接队列中,同时为该客户单元创建指定容量的智能对象帧发送队列;
步骤五,该分发服务单元把客户连接TCP的套接字设置为非阻塞模式,以判断发送结果和避免发送阻塞,实现实时传输目的;
步骤六,当数据源的数据帧推送输入到来时,该分发服务单元遍历客户连接队列,把步骤三中生成的智能对象帧放入每个客户连接的智能对象帧发送队列尾部;
步骤七,该分发服务单元取出每个客户端待发送的智能对象帧,继续上次发送位置处发送数据;
步骤八,该分发服务单元基于每个指定容量的智能对象帧发送队列的当前长度,计算出每个智能对象帧发送队列使用情况,并且根据每个智能对象帧发送队列使用情况做出网络等级评估:
步骤九,该分发服务单元根据判断出来的网络等级评估结果,进行,实现正常发送、丢B帧、丢B/P帧、只保留最后一个关键帧的自动减帧QoS决策控制之一。
所述步骤四中所述的指定容量的最大预定值为100,初始设定值为0。
所述在步骤七中,当没有待发送的智能对象帧或者智能对象帧发送完毕时,取出发送队列头部智能对象帧,并且将其赋值给待发送的智能对象帧。
所述在步骤七中,当智能对象帧的发送过程中出现发送非完整一帧数据的情况时,分发服务单元自动记录上次发送的偏移位置。
所述在步骤八、九中,所述计算出的每个智能对象发送队列的使用情况以该队列的当前长度除以步骤四中设定的智能对象帧发送队列的最大预定值为100而得出,并且按照表一对应关系决定网络等级。
表一智能对象与决定网络等级对应关系
智能对象发送队列使用 | 网络等级 | QoS决策 |
0-40% | D级拥塞 | 正常发送 |
41-80% | C级拥塞 | 丢B帧 |
81-99% | B级拥塞 | 丢B/P帧 |
99-100% | A级拥塞 | 只保留最近一个I帧 |
根据分发服务单元所判断出来的拥塞等级,进行QoS决策,并且实现表一所示的正常发送、丢B帧、丢B/P帧、只保留最后一个关键帧的自动减帧QoS决策控制策略之一。
本发明的有益效果是,该方法能够自适应复杂网络情况并且适用于实时视频数据分发传输。该方法使用TCP作为视频数据传输协议,克服了UDP传输的一些缺点与限制,同时在TCP传输的基础上又加入了针对不同网络环境的客户单元自适应分发传输控制策略,从而较好的保证了流媒体实时传输质量(QoS),有效的避免视频画面抖动、马赛克、花屏、拖尾等异常现象发生,减轻了应用层实现逻辑的复杂性,提升了视频体验的实时性和流畅性。
附图说明
图1所示为分发服务单元和摄像头对应关系
图2所示为带引用计数智能对象帧形成过程
图3所示为分发服务单元的逻辑流程图
图4所示为客户端智能对象帧发送队列使用情况计算方法
具体实施方式
本发明提供一种流媒体分发自适应网络传输分级别自动减帧控制方法。下面结合附图,对优选实施例作详细说明。
基于TCP传输协议的流媒体分发自适应网络传输分级别自动减帧控制方法的流程逻辑如下:
如图1所示,视频流媒体系统为每个唯一编号的摄像头视频资源创建一个分发服务单元。如图2所示,分发服务单元通过操作系统(API)预向操作系统申请10MB大小的内存用于接收摄像头视频源数据帧的推送输入,并将其定义为分发单元的内存池。
如图2所示,当每个唯一编号的视频源数据帧推送输入到分发服务单元时,分发服务单元通过内存池操作系统(API)申请一个特定的内存用于保存该数据帧,同时把该数据帧封装为一个带引用计数的智能对象帧(或者直接使用boost开发库智能指针),初始引用计数为1,被引用一次计数加1,离开作用域即解引用一次计数减1,当该对象引用计数为0时候,该对象自动释放内存到内存池中。
如图3所示,分发服务单元接收客户单元的媒体信令请求,把该客户单元用于媒体传输的TCP连接放入到客户连接队列中,同时为该客户单元创建指定容量为最大预定值为100且初始设定值为0的智能对象帧发送队列。同时,把客户连接TCP的套接字设置为非阻塞模式,以判断发送结果和避免发送阻塞,实现实时传输目的。数据源的数据帧推送输入到来时,分发服务单元遍历客户连接队列,把上述的智能对象帧放入每个客户连接的智能对象帧发送队列尾部;同时分发服务单元取出每个客户端待发送智能对象帧,继续上次发送位置处发送数据。当没有待发送智能对象帧或者发送完毕,则取出发送队列头部智能对象帧赋值给待发送帧对象。当在发送过程中出现发送非完整一帧数据情况时,分发服务单元会自动记录上次发送偏移位置。当然,最好的情况是每个客户端智能对象帧发送队列的首尾相等,即每次放入到队列的智能对象帧立即被发送出去,这表明客户单元网络非常好。
如图4所示,当数据产生和数据发送速度不匹配的时候,会引起智能对象帧发送队列长度的增加,这种情况的原因就是目标客户端网络不好,数据发送缓慢,分发服务单元通过智能对象帧发送队列的当前长度与为该客户单元创建指定容量的最大预定值为100的比值来确定客户端智能对象帧发送队列使用情况,并且按照图4所示来确定具体的拥塞等级。
所述计算出的每个智能对象发送队列的使用情况以该队列的当前长度除以步骤四中设定的智能对象帧发送队列的最大预定值为100而得出,并且按照表一对应关系决定网络等级。
表一智能对象与决定网络等级对应关系
智能对象发送队列使用 | 网络等级 | QoS决策 |
0-40% | D级拥塞 | 正常发送 |
41-80% | C级拥塞 | 丢B帧 |
81-99% | B级拥塞 | 丢B/P帧 |
99-100% | A级拥塞 | 只保留最近一个I帧 |
根据分发服务单元所判断出来的拥塞等级,进行QoS决策,并且实现表一所示的正常发送、丢B帧、丢B/P帧、只保留最后一个关键帧的自动减帧QoS决策控制策略之一。
这样,相对于现有技术,通过将本发明应用到视频监控系统,会获得视频数据传输的很大改进;具体表现在:
1)减轻了媒体流传输策略控制实现的逻辑复杂性;
2)使得视频流媒体系统在大容量高并发的客户群访问下,依然可以对不同网络环境的客户单元采取自适应的自动减帧传输控制策略,大大保证了视频传输服务质量,表现出了较好的用户体验;
3)视频流媒体系统的分发服务单元针对不同环境的客户单元表现出了公平的调度策略,均衡的分配了系统资源,使得各客户单元之间互不因为环境的不同而相互影响。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (5)
1.一种流媒体分发自适应网络传输分级别自动减帧控制方法,该方法使用了基于TCP传输协议的具有自适应的流媒体实时数据传输控制的视频流媒体系统,其特征在于,包括以下步骤:
步骤一,视频流媒体系统为每个唯一编号的视频资源创建一个分发服务单元;
步骤二,每个分发服务单元通过操作系统(API)向操作系统预申请一个对应的内存空间,并将其定义为该分发服务单元的内存池,用于接收视频源数据帧的推送输入;
步骤三,当每个唯一编号的视频源数据帧推送输入到该分发服务单元时,该分发服务单元通过内存池API在内存池中申请一个对应每个唯一编号的内存空间,用于保存该数据帧,同时把该数据帧封装为一个带引用计数的智能对象帧,初始引用计数为1,被引用一次计数加1,离开作用域即解引用一次计数减1,当该对象引用计数为0时,该对象自动释放内存到内存池中;
步骤四,该分发服务单元接收客户单元的媒体信令请求,把该客户单元用于媒体传输的TCP连接放入到客户连接队列中,同时为该客户单元创建指定容量的智能对象帧发送队列;
步骤五,该分发服务单元把客户连接TCP的套接字设置为非阻塞模式,以判断发送结果和避免发送阻塞,实现实时传输目的;
步骤六,当数据源的数据帧推送输入到来时,该分发服务单元遍历客户连接队列,把步骤三中生成的智能对象帧放入每个客户连接的智能对象帧发送队列尾部;
步骤七,该分发服务单元取出每个客户端待发送的智能对象帧,继续上次发送位置处发送数据;
步骤八,该分发服务单元基于每个指定容量的智能对象帧发送队列的当前长度,计算出每个智能对象帧发送队列使用情况,并且根据每个智能对象帧发送队列使用情况做出网络等级评估:
步骤九,该分发服务单元根据判断出来的网络等级评估结果,进行QoS决策,实现正常发送、丢B帧、丢B/P帧、只保留最后一个关键帧的自动减帧QoS决策控制之一。
2.如权利要求1所述的一种流媒体分发自适应网络传输分级别自动减帧控制方法,其特征在于:
所述步骤四中的指定容量的最大预定值为100,初始设定值为0。
3.如权利要求1所述的一种流媒体分发自适应网络传输分级别自动减帧控制方法,其特征在于:所述步骤七中,当没有待发送的智能对象帧或者智能对象帧发送完毕时,取出发送队列头部智能对象帧,并且将其赋值给待发送的智能对象帧。
4.如权利要求1所述的一种流媒体分发自适应网络传输分级别自动减帧控制方法,其特征在于:所述步骤七中,当智能对象帧的发送过程中出现发送非完整一帧数据的情况时,分发服务单元自动记录上次发送的偏移位置。
5.如权利要求1所述的一种流媒体分发自适应网络传输分级别自动减帧控制方法,其特征在于:在步骤八、九中,所述计算出的每个智能对象发送队列的使用情况以该队列的当前长度除以步骤四中设定的智能对象帧发送队列的最大预定值为100而得出,并且按照表一对应关系决定网络等级;
表一智能对象与决定网络等级对应关系
根据分发服务单元所判断出来的拥塞等级,进行QoS决策,并且实现表一所示的正常发送、丢B帧、丢B/P帧、只保留最后一个关键帧的自动减帧QoS决策控制策略之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310037503.1A CN103152649B (zh) | 2013-01-30 | 2013-01-30 | 一种流媒体分发传输分级别自动减帧控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310037503.1A CN103152649B (zh) | 2013-01-30 | 2013-01-30 | 一种流媒体分发传输分级别自动减帧控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103152649A CN103152649A (zh) | 2013-06-12 |
CN103152649B true CN103152649B (zh) | 2016-01-06 |
Family
ID=48550477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310037503.1A Expired - Fee Related CN103152649B (zh) | 2013-01-30 | 2013-01-30 | 一种流媒体分发传输分级别自动减帧控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103152649B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104394484A (zh) * | 2014-11-12 | 2015-03-04 | 海信集团有限公司 | 一种无线实时流媒体传输方法 |
CN104539917A (zh) * | 2015-02-03 | 2015-04-22 | 成都金本华科技股份有限公司 | 一种提高视频图像清晰度的方法 |
CN108419103B (zh) * | 2017-02-09 | 2020-01-17 | 杭州海康威视数字技术股份有限公司 | 一种视频传输方法及装置 |
CN112866345B (zh) * | 2020-12-31 | 2022-12-16 | 珠海派诺科技股份有限公司 | 一种基于WebSocket的流媒体低延时通信实现方法、电子设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1352846A (zh) * | 1999-01-14 | 2002-06-05 | 艾利森电话股份有限公司 | 自适应抖动缓存 |
CN1839597A (zh) * | 2003-08-21 | 2006-09-27 | 维迪亚特企业公司 | 对无线通信网络的质量体验(qoe)度量 |
CN1906910A (zh) * | 2003-11-24 | 2007-01-31 | 松下电器产业株式会社 | 利用通用否定应答报告块和损失行程长度编码报告块的反馈提供 |
CN101057439A (zh) * | 2004-11-17 | 2007-10-17 | 夏普株式会社 | 发送器、接收器以及通信系统 |
CN101646077A (zh) * | 2009-09-09 | 2010-02-10 | 南京工业大学 | 一种传感器网络中自适应的多媒体流控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8180029B2 (en) * | 2007-06-28 | 2012-05-15 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
-
2013
- 2013-01-30 CN CN201310037503.1A patent/CN103152649B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1352846A (zh) * | 1999-01-14 | 2002-06-05 | 艾利森电话股份有限公司 | 自适应抖动缓存 |
CN1839597A (zh) * | 2003-08-21 | 2006-09-27 | 维迪亚特企业公司 | 对无线通信网络的质量体验(qoe)度量 |
CN1906910A (zh) * | 2003-11-24 | 2007-01-31 | 松下电器产业株式会社 | 利用通用否定应答报告块和损失行程长度编码报告块的反馈提供 |
CN101057439A (zh) * | 2004-11-17 | 2007-10-17 | 夏普株式会社 | 发送器、接收器以及通信系统 |
CN101646077A (zh) * | 2009-09-09 | 2010-02-10 | 南京工业大学 | 一种传感器网络中自适应的多媒体流控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103152649A (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10469410B2 (en) | System and method for improving an aggregated throughput of simultaneous connections | |
US9596281B2 (en) | Transport accelerator implementing request manager and connection manager functionality | |
CN105340234B (zh) | 在电缆Wi-Fi网络上用于多屏幕视频应用的自适应资源管理 | |
WO2022247550A1 (zh) | 数据重传处理方法、装置、计算机设备和存储介质 | |
US7821939B2 (en) | Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture | |
CN106533970B (zh) | 面向云计算数据中心网络的差分流传输控制方法及装置 | |
JP5276589B2 (ja) | 遠隔通信ネットワークにおける情報転送の最適化方法 | |
US9930097B2 (en) | Transport accelerator systems and methods | |
US8542586B2 (en) | Proportional bandwidth sharing of the excess part in a MEF traffic profile | |
US20120140621A1 (en) | Incast Congestion Control in a Network | |
WO2013124790A1 (en) | Methods and apparatus for managing network resources used by multimedia streams in a virtual pipe | |
KR20040068880A (ko) | 스트리밍 데이터에 대한 리액티브 대역폭 제어 | |
CN103152649B (zh) | 一种流媒体分发传输分级别自动减帧控制方法 | |
CN111741249B (zh) | 一种网络拥塞检测方法及装置 | |
Hwang et al. | Deadline and incast aware TCP for cloud data center networks | |
WO2023029994A1 (zh) | 视频通话处理方法、装置、设备及存储介质 | |
US9584420B2 (en) | Switching between loss-based and delay-based mode for real-time media congestion controllers | |
US20130311668A1 (en) | Methods And Systems For Providing Fairness And Stability To Video Streams | |
US20180227231A1 (en) | Identifying Network Conditions | |
US9577947B2 (en) | System and architecture to optimize video traffic over internet protocol networks | |
US9148379B1 (en) | Method and system for prioritizing audio traffic in IP networks | |
Erbad et al. | Sender-side buffers and the case for multimedia adaptation | |
Liu et al. | Queue management algorithm for multi-terminal and multi-service models of priority | |
Akamatsu et al. | Equation-based multicast congestion control in data center networks | |
Sun et al. | A TCP-friendly congestion control scheme for real-time packet video using prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160106 Termination date: 20220130 |