CN104917688A - 一种流媒体网关的码率控制方法 - Google Patents
一种流媒体网关的码率控制方法 Download PDFInfo
- Publication number
- CN104917688A CN104917688A CN201410090459.5A CN201410090459A CN104917688A CN 104917688 A CN104917688 A CN 104917688A CN 201410090459 A CN201410090459 A CN 201410090459A CN 104917688 A CN104917688 A CN 104917688A
- Authority
- CN
- China
- Prior art keywords
- data
- length
- buffer queue
- reception module
- streaming media
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种流媒体网关的码率控制方法,流媒体网关包括数据接收模块、数据发送模块以及缓冲区,数据接收模块能够控制上游数据源的平均发送速率;该方法包括:开启数据接收模块,向上游数据源请求数据,将数据追加到缓冲区队列;监测缓冲区队列的长度,当达到第一阈值时,激活数据发送模块,从缓冲区队列取数据,按照数据流预定码率开始向下游发送数据;持续监测缓冲区队列的长度,如果超过上警戒长度,且数据接收模块处于激活状态,关闭数据接收模块;如果低于一适中长度,且数据接收模块处于关闭状态,则开启数据接收模块;如果低于下警戒长度,且数据接收模块处于激活状态,则上游数据源以较当前平均发送速率更大的速率发送数据。
Description
技术领域
本发明涉及网络通信领域,特别涉及一种流媒体网关的码率控制方法。
背景技术
流媒体业务的分发和传输过程广泛使用了HTTP协议。在NGB架构或NGOD架构的广播电视网络中,流媒体服务器通过基于TCP的HTTP协议从内容分发网络获取流式数据,经过处理后,以UDP方式推送给IPQAM等设备,进而发送给终端用户。流媒体服务器接收数据和推送数据的平均速率是一致的,均为节目流的预定码率。然而在实际网络传输过程中,数据包到达流媒体服务器的速率会发送抖动。
流媒体服务器下游的IPQAM对于数据发送速率的平滑性要求很高,而其上游内容分发网络传来的数据由于经过IP网络的传输,抖动可能非常大。因此,流媒体服务器必须对接收到的数据进行流量整形。可行的做法是使用一定长度的缓冲区队列暂存数据,接收到的包追加到队尾,同时周期性地按照一定速率从队头取出一些包,发送到下游,这种方法能够有效地平滑数据速率的抖动。
然而,缓冲区的空间毕竟有限,难以应对非常大的上游抖动。由于数据离开队头的速率是平滑的,当上游速率长期偏高时,队列会越来越长,直到发生上溢。而如果上游速率长期过低,队列长度会越来越短,直到发生下溢。上溢会导致数据内容的丢失,而下溢则导致队列无数据可发,发送速率不能保持平稳。
发明内容
本发明的目的在于克服现有技术中的流量整形方法会造成数据内容丢失或发送速率无法保持平稳的缺陷,从而提供一种流媒体网关的码率控制方法。
为了实现上述目的,本发明提供了一种流媒体网关的码率控制方法,所述流媒体网关至少包括数据接收模块、数据发送模块以及缓冲区,所述数据接收模块能够控制上游数据源的平均发送速率;该方法包括:
步骤1)、开启所述数据接收模块,由所述数据接收模块向上游数据源请求数据,数据接收模块接收到数据后,将所述数据追加到缓冲区队列;
步骤2)、监测缓冲区队列的长度,当达到第一阈值时,激活数据发送模块,所述数据发送模块从缓冲区队列取数据,按照数据流预定码率开始向下游发送数据;
步骤3)、在数据发送模块向下游发送数据的过程中,持续监测缓冲区队列的长度,如果所述缓冲区队列长度超过了上警戒长度,且数据接收模块处于激活状态,则关闭数据接收模块;如果所述缓冲区队列长度低于一适中长度,且数据接收模块处于关闭状态,则开启数据接收模块;如果所述缓冲区队列长度低于下警戒长度,且数据接收模块处于激活状态,则数据接收模块要求上游数据源以较当前平均发送速率更大的速率发送数据。
上述技术方案中,在步骤1)中,所述数据接收模块向上游数据源请求数据时,要求上游数据源发送数据的平均速率高于数据流预定码率。
上述技术方案中,所述第一阈值的大小为缓冲区队列上限长度的一个中间值。
上述技术方案中,所述上警戒长度为能被认定缓冲区队列即将发生上溢的长度,所述上警戒长度的大小在上限长度0.5倍-1倍之间。
上述技术方案中,所述下警戒长度是指能被认定缓冲区队列即将发生下溢的长度,所述下警戒长度的大小在上限长度0-0.5倍之间。
上述技术方案中,所述适中长度是介于下警戒长度和上警戒长度之间的一个长度值。
上述技术方案中,在所述的步骤3)中,当数据接收模块被关闭时,记录关闭前最后接收的数据在数据流中所处的位置,在下次被激活时从该位置重新开始向上游数据源请求数据。
本发明的优点在于:
本发明能够有效保障发送模块以平稳的速率向下游发送数据。
附图说明
图1是本发明的码率控制方法所涉及的模块之间的数据流向图;
图2是本发明的码率控制方法的流程图。
具体实施方式
现结合附图对本发明作进一步的描述。
参考图1,本发明的码率控制方法所适用的流媒体网关至少包括数据接收模块、缓冲区以及数据发送模块;其中的数据接收模块通过抖动性网络(如IP网络)从上游数据源请求并接收数据,所接收到的数据经缓冲区缓存后,通过数据发送模块向下游发送。所述数据接收模块与上游数据源通信时所采用的通信协议必须允许接收模块能够控制上游数据源的平均发送速率。
参考图2,本发明的方法包括:
步骤1)、开启数据接收模块,由所述数据接收模块向上游数据源请求数据,数据接收模块接收到数据后,将所述数据追加到缓冲区队列的队尾;
步骤2)、监测缓冲区队列的长度,当达到第一阈值时,激活数据发送模块,所述数据发送模块从缓冲区队列的队头取走部分数据,按照数据流预定码率开始向下游平稳地发送数据;
步骤3)、在数据发送模块向下游发送数据的过程中,持续监测缓冲区队列的长度,如果所述缓冲区队列长度超过了上警戒长度,且数据接收模块处于激活状态,则关闭数据接收模块,暂时停止数据接收;如果所述缓冲区队列长度低于一适中长度,且数据接收模块处于关闭状态,则开启数据接收模块;如果队列长度低于下警戒长度,且数据接收模块处于激活状态,则数据接收模块要求上游数据源以较当前平均发送速率更大的速率发送数据。
下面对本发明方法中的相关步骤做进一步描述。
在步骤1)中,所述数据接收模块向上游数据源请求数据时,要求上游数据源发送数据的平均速率高于数据流预定码率,在本实施例中,上游数据源发送数据的平均速率为数据流预定码率的1.2倍,在其他实施例中,上游数据源发送数据的平均速率也可以是高于数据流预定码率的其他倍数。
在步骤2)中,所述第一阈值的大小为缓冲区队列上限长度的一个中间值,在本实施例中,所述第一阈值的大小为缓冲区队列上限长度的0.5倍,在其他实施例中,也可根据需要进行调整,如所述第一阈值的大小为缓冲区队列上限长度的0.45倍或0.6倍等。
在步骤3)中,所述上警戒长度为可认定缓冲区队列即将发生上溢的长度,在本实施例中,其大小为上限长度0.9倍,在其他实施例中,上警戒长度的大小在上限长度0.5倍-1倍之间。
在步骤3)中,所述下警戒长度是指可认定缓冲区队列即将发生下溢的长度,在本实施例中,其大小为上限长度0.1倍,在其他实施例中,下警戒长度的大小在上限长度0-0.5倍之间。
在步骤3)中,所述适中长度是介于下警戒长度和上警戒长度之间的一个长度值,在本实施例中,其大小为上限长度0.5倍。
在所述的步骤3)中,当数据接收模块被关闭时,记录关闭前最后接收的数据在数据流中所处的位置,在下次被激活时从该位置重新开始向上游数据源请求数据。
在所述的步骤3)中,所述的较当前平均发送速率更大的速率为当前平均发送速率的1.2倍。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1.一种流媒体网关的码率控制方法,其特征在于,所述流媒体网关至少包括数据接收模块、数据发送模块以及缓冲区,所述数据接收模块能够控制上游数据源的平均发送速率;该方法包括:
步骤1)、开启所述数据接收模块,由所述数据接收模块向上游数据源请求数据,数据接收模块接收到数据后,将所述数据追加到缓冲区队列;
步骤2)、监测缓冲区队列的长度,当达到第一阈值时,激活数据发送模块,所述数据发送模块从缓冲区队列取数据,按照数据流预定码率开始向下游发送数据;
步骤3)、在数据发送模块向下游发送数据的过程中,持续监测缓冲区队列的长度,如果所述缓冲区队列长度超过了上警戒长度,且数据接收模块处于激活状态,则关闭数据接收模块;如果所述缓冲区队列长度低于一适中长度,且数据接收模块处于关闭状态,则开启数据接收模块;如果所述缓冲区队列长度低于下警戒长度,且数据接收模块处于激活状态,则数据接收模块要求上游数据源以较当前平均发送速率更大的速率发送数据。
2.根据权利要求1所述的流媒体网关的码率控制方法,其特征在于,在步骤1)中,所述数据接收模块向上游数据源请求数据时,要求上游数据源发送数据的平均速率高于数据流预定码率。
3.根据权利要求1所述的流媒体网关的码率控制方法,其特征在于,所述第一阈值的大小为缓冲区队列上限长度的一个中间值。
4.根据权利要求1所述的流媒体网关的码率控制方法,其特征在于,所述上警戒长度为能被认定缓冲区队列即将发生上溢的长度,所述上警戒长度的大小在上限长度0.5倍-1倍之间。
5.根据权利要求1所述的流媒体网关的码率控制方法,其特征在于,所述下警戒长度是指能被认定缓冲区队列即将发生下溢的长度,所述下警戒长度的大小在上限长度0-0.5倍之间。
6.根据权利要求1所述的流媒体网关的码率控制方法,其特征在于,所述适中长度是介于下警戒长度和上警戒长度之间的一个长度值。
7.根据权利要求1所述的流媒体网关的码率控制方法,其特征在于,在所述的步骤3)中,当数据接收模块被关闭时,记录关闭前最后接收的数据在数据流中所处的位置,在下次被激活时从该位置重新开始向上游数据源请求数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410090459.5A CN104917688A (zh) | 2014-03-12 | 2014-03-12 | 一种流媒体网关的码率控制方法 |
PCT/CN2014/093451 WO2015135349A1 (zh) | 2014-03-12 | 2014-12-10 | 一种流媒体网关的码率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410090459.5A CN104917688A (zh) | 2014-03-12 | 2014-03-12 | 一种流媒体网关的码率控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104917688A true CN104917688A (zh) | 2015-09-16 |
Family
ID=54070893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410090459.5A Pending CN104917688A (zh) | 2014-03-12 | 2014-03-12 | 一种流媒体网关的码率控制方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104917688A (zh) |
WO (1) | WO2015135349A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109982080A (zh) * | 2017-12-27 | 2019-07-05 | 深圳市优必选科技有限公司 | 一种视频传输的方法、存储介质、机器人及控制系统 |
CN110049355A (zh) * | 2018-01-17 | 2019-07-23 | 华为技术有限公司 | 多媒体文件播放方法及装置 |
CN112328202A (zh) * | 2020-11-26 | 2021-02-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置及电子设备和存储介质 |
CN112996044A (zh) * | 2021-02-03 | 2021-06-18 | 深圳震有科技股份有限公司 | 一种5g通信虚拟化网元网络拥塞的控制方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1444358A (zh) * | 2002-03-13 | 2003-09-24 | 威盛电子股份有限公司 | 以太网交换控制器及其拥塞控制方法 |
CN101009657A (zh) * | 2007-02-02 | 2007-08-01 | 华为技术有限公司 | 缓存队列输出速率测量、Iub带宽分配的方法和装置 |
CN101159700A (zh) * | 2007-11-27 | 2008-04-09 | 杭州华三通信技术有限公司 | 一种流量控制方法和控制设备 |
US20080151881A1 (en) * | 2004-01-22 | 2008-06-26 | Hain-Ching Liu | Method and system for transporting data over network |
CN101621833A (zh) * | 2009-08-13 | 2010-01-06 | 中兴通讯股份有限公司 | 一种报文流量控制方法和基站控制器 |
CN101841486A (zh) * | 2010-06-01 | 2010-09-22 | 杭州华三通信技术有限公司 | 一种消息的传输方法和设备 |
-
2014
- 2014-03-12 CN CN201410090459.5A patent/CN104917688A/zh active Pending
- 2014-12-10 WO PCT/CN2014/093451 patent/WO2015135349A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1444358A (zh) * | 2002-03-13 | 2003-09-24 | 威盛电子股份有限公司 | 以太网交换控制器及其拥塞控制方法 |
US20080151881A1 (en) * | 2004-01-22 | 2008-06-26 | Hain-Ching Liu | Method and system for transporting data over network |
CN101009657A (zh) * | 2007-02-02 | 2007-08-01 | 华为技术有限公司 | 缓存队列输出速率测量、Iub带宽分配的方法和装置 |
CN101159700A (zh) * | 2007-11-27 | 2008-04-09 | 杭州华三通信技术有限公司 | 一种流量控制方法和控制设备 |
CN101621833A (zh) * | 2009-08-13 | 2010-01-06 | 中兴通讯股份有限公司 | 一种报文流量控制方法和基站控制器 |
CN101841486A (zh) * | 2010-06-01 | 2010-09-22 | 杭州华三通信技术有限公司 | 一种消息的传输方法和设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109982080A (zh) * | 2017-12-27 | 2019-07-05 | 深圳市优必选科技有限公司 | 一种视频传输的方法、存储介质、机器人及控制系统 |
CN110049355A (zh) * | 2018-01-17 | 2019-07-23 | 华为技术有限公司 | 多媒体文件播放方法及装置 |
CN112328202A (zh) * | 2020-11-26 | 2021-02-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置及电子设备和存储介质 |
CN112328202B (zh) * | 2020-11-26 | 2023-02-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置及电子设备和存储介质 |
CN112996044A (zh) * | 2021-02-03 | 2021-06-18 | 深圳震有科技股份有限公司 | 一种5g通信虚拟化网元网络拥塞的控制方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015135349A1 (zh) | 2015-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11190570B2 (en) | Video encoding using starve mode | |
US11546399B2 (en) | Method and apparatus for providing a low latency transmission system using adjustable buffers | |
US9532062B2 (en) | Controlling player buffer and video encoder for adaptive video streaming | |
US10686704B2 (en) | Method and apparatus for providing a low latency transmission system using adaptive buffering estimation | |
KR101286830B1 (ko) | 늦은 멀티캐스트 참여의 고속 채널 변경 | |
US10567465B2 (en) | Streaming video over a network | |
EP3042301B1 (en) | System and method for real-time traffic delivery | |
US20160006667A1 (en) | Anti-packet-loss real-time communication method, system and related device based on hierarchical coding | |
CN107979582B (zh) | 一种udp数据流传输方法及其装置 | |
RU2013112376A (ru) | Устройство, способ и система для управления передачей данных | |
CN105357592A (zh) | 一种流媒体自适应传输选择性丢帧方法 | |
WO2014134177A3 (en) | Adaptive streaming techniques | |
CN104917688A (zh) | 一种流媒体网关的码率控制方法 | |
JP2006217589A (ja) | ビデオ会議装置、装置、ビデオ会議システム、方法およびこの方法を実行するように適合された命令プログラムを含んだデバイス可読媒体または波形 | |
WO2014074650A3 (en) | Performance improvement of network protocols using proxy servers | |
EP3560207A1 (en) | Managing congestion response during content delivery | |
CN105450651B (zh) | 一种监控视频码流动态路由选择的方法及装置 | |
CN104980819A (zh) | 一种视频传输方法及装置 | |
KR20120129990A (ko) | 다수의 단말기의 유니캐스트 송신으로부터의 점진적인 천이를 제공하는 제어기 | |
WO2018218957A1 (zh) | 一种流量控制方法、设备及系统 | |
CN104333795A (zh) | 一种不依赖时间戳的实时视频码流播放速度控制方法 | |
US9986010B2 (en) | System and method for controlling video and/or audio streams in a web browser | |
CN105245946B (zh) | 可变码率媒体流的流量控制方法、装置以及系统 | |
US11665220B2 (en) | Monitoring and surveillance system arranged for processing video data associated with a vehicle, as well as corresponding devices and method | |
RU2013129160A (ru) | Способ управления скоростью передачи видеопотока |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150916 |
|
RJ01 | Rejection of invention patent application after publication |