CN103124379B - 一种流媒体推送速率控制方法和装置 - Google Patents
一种流媒体推送速率控制方法和装置 Download PDFInfo
- Publication number
- CN103124379B CN103124379B CN201110366850.XA CN201110366850A CN103124379B CN 103124379 B CN103124379 B CN 103124379B CN 201110366850 A CN201110366850 A CN 201110366850A CN 103124379 B CN103124379 B CN 103124379B
- Authority
- CN
- China
- Prior art keywords
- time
- frame number
- streaming media
- propelling movement
- difference
- 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.)
- Active
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种流媒体推送速率控制方法和装置。连续推送的流媒体数据的帧数大于等于帧数阈值时,计算播放时间减去推送时间的差值,当差值大于时间阈值上限时,延迟设定时间之后推送流媒体。本发明还可以在差值小于时间阈值下限时,调整帧数阈值。本发明可以对推送速率进行控制,达到推送速率与播放速率相适配的目的。
Description
技术领域
本发明涉及计算机多媒体技术领域,尤其涉及一种自适应的流媒体推送速率控制方法和装置。
背景技术
随着宽带网络的建设和移动互联网的发展,网络多媒体技术的应用日益广泛。流媒体是一种采用流式传输技术的媒体传输方式。流媒体技术通过将多媒体信息以数据流的方式进行传输,接收方可以一边接收一边处理,不需要等待整个媒体文件接收完才开始处理,从而减少了接收方的响应时间。
流媒体传输技术存在两种实现方法:
第一,顺序流传输。也称渐进流式传输,本质上是顺序下载,并在下载文件的同时可让用户观看在线媒体。
第二,实时流传输。通过采用专用的流媒体服务器与传输协议,包括实时传输协议(RTP)、实时传输控制协议(RTCP)、实时流协议(RTSP)、会话描述协议(SDP)和资源预留协议(RSVP)等,以保证媒体的实时性和连续性。RTP协议不提供对推送速率的控制,而RTCP、RTSP协议对推送速率的控制,则依赖于接收方的相关信息反馈。
在实际应用中,推送速率大多依赖于网络的传输能力。当网络状况较好时,推送的速率很快,这对接收方的处理能力提出很高的要求。当接收方(特别是手机终端)的处理能力不足时,会导致接收方来不及处理而造成大量数据丢失,严重影响接收方的媒体播放效果。
发明内容
鉴于以上,本发明提出一种流媒体推送速率控制方法和装置。
本发明提出的一种流媒体推送速率控制方法,包括以下步骤:
判断连续推送的流媒体数据的帧数是否大于等于帧数阈值,如果是,计算已推送流媒体数据的播放时间减去推送时间的差值;
判断差值是否大于时间阈值上限,如果是,计算延迟推送时间;
在延迟推送时间之后推送流媒体数据。
进一步,计算已推送流媒体数据的播放时间减去推送时间的差值之后,还包括以下步骤:
判断所述差值是否小于时间阈值下限,如果是,计算重新调整的帧数阈值。
进一步,所述延迟推送时间为所述差值乘以已设置的延迟系数p1,0<p1<1。
进一步,所述时间阈值下限为所述时间阈值上限乘以p2,0<p2<1。
进一步,重新调整的帧数阈值为帧数阈值系数p3乘以调整前的帧数阈值,p3>1。
本发明提出的一种流媒体推送速率控制装置,包括:
参数设置单元,配置于设置参数,包括延迟系数p1、系数p2、帧数阈值系数p3、时间阈值上限以及帧数阈值;
判断单元,配置于判断连续推送的流媒体数据的帧数是否大于等于帧数阈值,配置于判断播放时间减去推送时间的差值是否大于时间阈值上限;
计算单元,配置于在连续推送的流媒体数据的帧数大于等于帧数阈值时,计算播放时间减去推送时间的差值;配置于在播放时间减去推送时间的差值大于时间阈值上限时,计算延迟推送时间;
推送单元,配置于在延迟推送时间之后推送流媒体数据。
进一步,所述判断单元还配置于判断所述差值是否小于时间阈值下限;
所述计算单元还配置于在所述差值是否小于时间阈值下限时,计算重新调整的帧数阈值。
进一步,所述延迟推送时间为所述差值乘以已设置的延迟系数p1,0<p1<1。
进一步,所述时间阈值下限为所述时间阈值上限乘以p2,0<p2<1。
进一步,重新调整的帧数阈值为帧数阈值系数p3乘以调整前的帧数阈值,p3>1。
本发明可以解决在流媒体推送过程中由于推送速率过快导致接收方来不及处理而造成大量数据丢失的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出本发明实施例中流媒体推送速率控制的方法流程示意图。
图2示出本发明实施例中流媒体推送速率控制装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1示出本发明实施例中流媒体推送速率控制的方法流程示意图。该方法包括以下步骤:
步骤101、初始化各个相关参数,设置即将推送的帧序号N=0,已连续推送的数据的帧数h=0,并根据系统的实际状态设置延迟系数p1、系数p2、帧数阈值系数p3、时间阈值上限Tc以及帧数阈值Hv。
步骤102、根据系统的实际推送策略,对从第N帧开始的Na帧数据进行推送(Na的值可变)。更新下次开始推送的帧序号为N=N+Na,计算从第0帧开始的N帧数据的播放时间T和推送时间t。
这里的推送策略是指在进行推送时,可以逐帧推送,也可以一次推送多帧,在每次推送时进行计算。
播放时间T是指从数据开始推送时刻到当前时刻已推送的媒体数据在播放器中播放所需的时间,例如可由发送方根据数据帧内部带的时间戳计算得到。
推送时间t可以理解为发送时间,是指从数据开始推送时刻到当前时刻的时间差。
步骤103、计算本次连续推送的数据的帧数h=h+Na。这里的连续推送,是指中间没有进行检查的。
步骤104、判断已连续推送的数据的帧数h是否大于等于帧数阈值Hv,如果是,则进入下一步检查步骤105,否则返回到步骤102继续推送。
步骤105、计算从第0帧开始的N帧数据的播放时间T减去推送时间t的差值Δt,判断差值Δt是否大于时间阈值上限Tc,如果是,则认为推送速率过快须延迟一定时间,以减缓推送速率,进入步骤106,否则进入下一个判定步骤107。
步骤106、延迟推送,计算延迟推送时间,在延迟推送时间之后推送流媒体数据。延迟推送时间只要满足下面的关系即可,延迟推送时间+推送时间<播放时间,例如,延迟推送时间为p1*Δt,其中,p1为延迟系数,0<p1<1,Tc为时间阈值上限,继续步骤109。
步骤107、在该实施例中,还可以判断Δt是否小于时间阈值下限,该时间阈值下限例如p2*Tc,0<P2<1,如果是,可判定为检查的间隔太小,则进入步骤108,否则回到步骤109继续推送。
数据由发送方推送后,接收方接收并进行同步处理(例如播放),接收方需要的推送速率不能慢于数据内容的播放速率。并且考虑接收方的处理时间,所以发送方以接近播放速度的速度进行推送。
步骤108、计算重新调整的帧数阈值,Hv=p3*Hv,p3是帧数阈值系数,p3>1,并给出延迟推送警告,继续步骤109。帧数阈值可根据推送情况进行自动调整,以自适应控制。
步骤109、本次检查结束,重置初始化h=0。从步骤102~步骤108可以看作是一轮检查,继续执行步骤110。
步骤110、判断是否已经是最后一帧,如果是,则结束,否则进入步骤102,继续编码和新一轮的检查。
本发明提出的技术方案相对于现有技术,具备以下优点:
第一、按需传输,在固定编码参数的条件下,根据视频解码时间戳(播放时间)调整推送的速度,也即控制单一进程对CPU、内存的占用,实现对CPU资源的分时复用,以达到最大并发数,即本发明的推迟策略实际就是进程本身sleep,让出CPU给其它进程,从而达到支持更多进程同时进行的效果。从而获得最大的系统容量,降低维护成本。
第二、单向控制,不需接收端支持RTCP协议,控制成本低,应用范围广泛。本发明支持大部分移动终端,适合应用于移动互联网领域,极大提升按流量计算运营的效益。
第三、自适应调整控制策略,可以根据运行情况动态调整帧数阈值、延迟参数等控制参数。
图2示出本发明实施例中流媒体推送速率控制装置的结构示意图。该装置包括:参数设置单元21、判断单元22、计算单元23以及推送单元24。
参数设置单元21,配置于设置参数,包括延迟系数p1、系数p2、帧数阈值系数p3、时间阈值上限Tc以及帧数阈值Hv。
延迟系数p1,常量,0<p1<1,可取固定参数,例如0.8,用以调节延迟推送时间的比例,起线性变换的作用。
系数p2,0<P2<1。
帧数阈值系数p3,常量,p3>1,可取固定参数,例如1.8,用以调节帧数阈值的比例,起线性变换的作用。
时间阈值上限Tc,常量,可根据系统状态按策略进行调整。时间阈值上限Tc反映了检查的粒度,可以根据实际需要取不同的值。例如时间要求比较精确的,Tc可以取较小的值0.1s,或者比较粗粒度的1s,甚至10s。
帧数阈值Hv,变量,反映了检查的粒度,可根据运行情况进行自动调整,自适应调整检查的频率。可以结合实际应用中的编码采用的方法,设置合适的帧数作为阈值。
判断单元22,配置于判断连续推送的流媒体数据的帧数是否大于等于帧数阈值Hv,配置于判断播放时间减去推送时间的差值是否大于时间阈值上限Tc;
计算单元23,配置于在连续推送的流媒体数据的帧数大于等于帧数阈值Hv时,计算播放时间减去推送时间的差值;配置于在播放时间减去推送时间的差值大于时间阈值上限Tc时,计算延迟推送时间,所述延迟推送时间例如为p1*Δt。
推送单元24,配置于在延迟推送时间之后推送流媒体数据。
本发明通过比较流媒体的播放时间和推送时间,引入延迟系数,通过在推送过程中加入适当的延迟推送时间,对推送速率进行控制,达到推送速率与播放速率相适配的目的。
本发明还可以根据实际情况,调整检查的时间间隔,本发明的实施例中,装置中相应单元执行以下操作。
所述判断单元22还配置于判断所述差值是否小于时间阈值下限;
所述计算单元23还配置于在所述差值是否小于时间阈值下限时,计算重新调整的帧数阈值,所述时间阈值下限例如为p2*Tc,重新调整的帧数阈值例如为p3*Hv,p3是帧数阈值系数,p3>1。
本发明的以上实施例中,采用系数的方式,各个系数的取值例如p1=0.5,Tc=1s,Hv=20,主要考虑阈值的影响因子的线性变化的关系。本领域技术人员应该可以理解,所述说明只是用于举例,可以在以上计算公式的基础上进行相应的变型或修改,即系数与参数的关系不仅仅是线性关系。所作的变型或修改都应覆盖在本权利要求的保护范围之内。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (10)
1.一种流媒体推送速率控制方法,包括以下步骤:
判断连续推送的流媒体数据的帧数是否大于等于帧数阈值,如果是,计算已推送流媒体数据的播放时间减去推送时间的差值;
判断差值是否大于时间阈值上限,如果是,计算延迟推送时间;
在延迟推送时间之后推送流媒体数据。
2.根据权利要求1所述流媒体推送速率控制方法,计算已推送流媒体数据的播放时间减去推送时间的差值之后,还包括以下步骤:
判断所述差值是否小于时间阈值下限,如果是,计算重新调整的帧数阈值。
3.根据权利要求1或2所述流媒体推送速率控制方法,其中,所述延迟推送时间为所述差值乘以已设置的延迟系数p1,0<p1<1。
4.根据权利要求2所述流媒体推送速率控制方法,其中,所述时间阈值下限为所述时间阈值上限乘以p2,0<p2<1。
5.根据权利要求2或4所述流媒体推送速率控制方法,其中,重新调整的帧数阈值为帧数阈值系数p3乘以调整前的帧数阈值,p3>1。
6.一种流媒体推送速率控制装置,包括:
参数设置单元,配置于设置参数,包括延迟系数p1、系数p2、帧数阈值系数p3、时间阈值上限以及帧数阈值;
判断单元,配置于判断连续推送的流媒体数据的帧数是否大于等于帧数阈值,配置于判断播放时间减去推送时间的差值是否大于时间阈值上限;
计算单元,配置于在连续推送的流媒体数据的帧数大于等于帧数阈值时,计算播放时间减去推送时间的差值;配置于在播放时间减去推送时间的差值大于时间阈值上限时,计算延迟推送时间;
推送单元,配置于在延迟推送时间之后推送流媒体数据。
7.根据权利要求6所述流媒体推送速率控制装置,其中:
所述判断单元还配置于判断所述差值是否小于时间阈值下限;
所述计算单元还配置于在所述差值小于时间阈值下限时,计算重新调整的帧数阈值。
8.根据权利要求6或7所述流媒体推送速率控制装置,其中,所述延迟推送时间为所述差值乘以已设置的延迟系数p1,0<p1<1。
9.根据权利要求7所述流媒体推送速率控制装置,其中,所述时间阈值下限为所述时间阈值上限乘以p2,0<p2<1。
10.根据权利要求7或9所述流媒体推送速率控制装置,其中,重新调整的帧数阈值为帧数阈值系数p3乘以调整前的帧数阈值,p3>1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110366850.XA CN103124379B (zh) | 2011-11-18 | 2011-11-18 | 一种流媒体推送速率控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110366850.XA CN103124379B (zh) | 2011-11-18 | 2011-11-18 | 一种流媒体推送速率控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103124379A CN103124379A (zh) | 2013-05-29 |
CN103124379B true CN103124379B (zh) | 2016-07-06 |
Family
ID=48455204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110366850.XA Active CN103124379B (zh) | 2011-11-18 | 2011-11-18 | 一种流媒体推送速率控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103124379B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107920108A (zh) * | 2016-10-11 | 2018-04-17 | 华为技术有限公司 | 一种媒体资源的推送方法、客户端及服务器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296158A (zh) * | 2007-04-26 | 2008-10-29 | 深圳市同洲电子股份有限公司 | 一种流媒体数据传输方法及其数据传输装置 |
CN101075957A (zh) * | 2007-06-26 | 2007-11-21 | 上海大学 | Avs流媒体传输控制方法 |
CN101090369B (zh) * | 2007-08-01 | 2010-07-14 | 中兴通讯股份有限公司 | 一种在流媒体系统中控制数据包发送速率的方法 |
KR101172430B1 (ko) * | 2007-08-17 | 2012-08-08 | 삼성전자주식회사 | 비트율 제어 방법 및 그 장치 |
-
2011
- 2011-11-18 CN CN201110366850.XA patent/CN103124379B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103124379A (zh) | 2013-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10499071B2 (en) | Dynamic bit rate adaptation over bandwidth varying connection | |
US11677799B2 (en) | Client feedback enhanced methods and devices for efficient adaptive bitrate streaming | |
CN104956631B (zh) | 用于执行链路感知自适应流传输的设备和方法 | |
CN105247437B (zh) | 同步多个ott流传输客户端 | |
Akhshabi et al. | Server-based traffic shaping for stabilizing oscillating adaptive streaming players | |
US9532062B2 (en) | Controlling player buffer and video encoder for adaptive video streaming | |
US9462032B2 (en) | Streaming media content | |
RU2392753C2 (ru) | Способ подачи устройству команды не выполнять синхронизацию или ввести задержку синхронизации для мультимедийных потоков | |
Swaminathan et al. | Low latency live video streaming using HTTP chunked encoding | |
EP2959715B1 (en) | Media distribution network with media burst transmission capabilities | |
CN103179107A (zh) | 多径环境自适应流传输系统及方法 | |
CN104967872A (zh) | 基于动态自适应码率传输协议hls流媒体的直播方法和服务器 | |
CN104380275A (zh) | 用于http伪流的基于积分控制器的定步 | |
US20130282871A1 (en) | Streaming service transmitting/receiving device and method | |
US20160337708A9 (en) | Media distribution network system with media burst transmission via an access network | |
Liang et al. | Balancing interruption frequency and buffering penalties in VBR video streaming | |
CN104581340A (zh) | 客户端、流媒体数据接收方法和流媒体数据传输系统 | |
CN103124379B (zh) | 一种流媒体推送速率控制方法和装置 | |
CN105338376A (zh) | 一种流媒体码率的控制方法、系统及流媒体服务器 | |
Evensen et al. | Adaptive media streaming to mobile devices: challenges, enhancements, and recommendations | |
Griwodz et al. | Tune to lambda patching | |
CN103546824A (zh) | 流媒体发送速率的控制方法和装置 | |
Pereira et al. | Dynamic adaptive streaming over http and progressive download: Comparative considerations | |
Kim et al. | Analysis and improvement of MPEG-DASH-based internet live broadcasting Services in Real-world Environments | |
Montagud et al. | Design, development and assessment of control schemes for IDMS in a standardized RTCP-based solution |
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 |