CN103402136A - 自适应调整缓存的控制方法、装置及自适应播放器 - Google Patents
自适应调整缓存的控制方法、装置及自适应播放器 Download PDFInfo
- Publication number
- CN103402136A CN103402136A CN201310323556XA CN201310323556A CN103402136A CN 103402136 A CN103402136 A CN 103402136A CN 201310323556X A CN201310323556X A CN 201310323556XA CN 201310323556 A CN201310323556 A CN 201310323556A CN 103402136 A CN103402136 A CN 103402136A
- Authority
- CN
- China
- Prior art keywords
- buffer
- reception
- current
- size
- occupation rate
- 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.)
- Granted
Links
Images
Abstract
本发明提供了一种自适应调整缓存的控制方法、装置及自适应播放器,该方法中在播放器播放流媒体文件的过程中,持续计算接收缓冲区的接收占有率、播放缓冲区的播放占有率和当前网络健康指数,并根据当前网络健康指数、接收占有率和播放占有率的大小,动态调整当前的接收缓冲区和当前播放缓冲区的大小。当前播放缓冲区和当前接收缓冲区的大小组成总缓冲区,由于当前播放缓冲区和当前接收缓冲区随着当前网络健康指数动态变化,当前网络健康指数能够反映当前的网络速度的快慢,因此总缓冲区也随着当前网络健康指数动态变化,因此本发明提供的方法能够网络速度动态调整总缓冲区的大小,能够达到既不丢弃数据包又能保证资源的充分利用的目的。
Description
技术领域
本发明涉及流媒体播放领域,尤其涉及一种自适应调整缓存的控制方法、装置及自适应播放器。
背景技术
随着时代的进步,人类使用电子设备观看流媒体已经成为习惯,流媒体播放的过程为,服务器将编码过后的流媒体数据封装成符合流媒体实时传输RTP协议的数据包并通过网络发送到流媒体播放器,流媒体播放器按一定速度接收数据包,并按一定速度播放数据包,从而播放流媒体文件。
然而在现实生活中,由于网络状况不稳定,会引起服务器向流媒体播放器发送的数据包存在时延抖动,进而造成流媒体播放器的数据不同步,因此为了实现流媒体同步连续播放,目前使用的为缓存技术,在流媒体播放器中增加缓冲区用于存储服务器发送的数据包。
但是现有的流媒体的播放器内缓冲区的大小都是固定值,由于流媒体的播放依赖于网络,流媒体播放器的播放数据包的是速度一定的,当网络速度快时,服务器发送的数据包会超出播放缓冲区的容量,播放器便会采用丢包策略,丢弃部分数据包,此时再播放数据包时便会产生花屏,当网络速度较慢时,发送数据包的频率变慢,缓冲区便会剩余大量的空间,造成浪费。因此现在需要一种能够根据网络速度自适应动态缓冲区大小的方法,以便达到既不丢弃数据包又能保证资源的充分利用的目的。
发明内容
本发明提供了一种自适应调整缓存的控制方法、装置及自适应播放器,采用本发明提供的自适应调整缓存的控制方法,能够根据网络速度自适应动态缓冲区大小,能够达到既不丢弃数据包又能保证资源的充分利用的目的。
为了实现上述目的,本发明采用以下技术手段:
一种自适应调整缓存的控制方法,包括:
接收缓冲区接收服务器的发送的流媒体文件的数据包,通过解码器将解码后的数据包发送至播放缓冲区,并播放解码后的数据包;
分别计算所述接收缓冲区中数据包的接收占有率和所述播放缓冲区中解码后的数据包的播放占有率;
通过计算确定当前网络健康指数;
依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小;
重新执行上述步骤直到所述流媒体文件播放完成。
优选的,所述依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小包括:
若所述当前网络健康指数下降,所述接收占有率小于预设接收下限且所述播放占有率小于预设播放下限,则将所述接收缓冲区和所述播放缓冲区减小一定程度后的大小作为所述当前接收缓存区的大小和所述当前播放缓存区的大小;
若所述当前网络健康指数下降,所述接收占有率小于所述预设接收下限且所述播放占有率大于预设播放上限,则暂停所述解码器的解码进程;
若所述当前网络健康指数增加,所述接收占有率大于预设接收上限,则将所述接收缓冲区增加一定程度后的大小作为所述当前接收缓存区的大小;
若所述当前网络健康指数增加,所述播放占有率大于预设播放上限,则暂停所述解码器的解码进程。
优选的,所述将所述接收缓冲区和所述播放缓冲区减小一定程度后的大小作为所述当前接收缓存区的大小和所述当前播放缓存区的大小包括:
将所述接收缓冲区的大小与所述接收占有率的乘积作为所述当前接收缓存区的大小;
将所述播放缓冲区的大小与所述播放占有率的乘积作为所述当前播放缓存区的大小。
优选的,所述将所述接收缓冲区增加一定程度后的大小作为所述当前接收缓存区的大小包括:
将所述接收缓冲区的大小与所述接收占有率倒数的乘积作为所述当前接收缓存区的大小。
优选的,所述通过计算确定当前网络健康指数包括:
记录每个数据包由所述服务器的发送时间和到达播放器的到达时间;
依次将连续多个数据包分为一组;
计算每组的平均时延;
将当前组的平均时延和前一组的平均时延相减得到当前时延差;
若所述当前时延差大于零,表示所述当前网络健康指数下降;
若所述当前时延差小于零,表示所述当前网络健康指数增加。
优选的,在所述接收缓冲区接收服务器的发送的流媒体文件的数据包之前还包括:
根据所述预设接收下限确定所述接收缓冲区的初始大小和所述播放缓冲区的初始大小。
优选的,所述根据所述预设接收下限确定所述接收缓冲区的初始大小和所述播放缓冲区的初始大小包括:
在所述服务器发送数据包的过程中的抓取数据,获得与多个时间段对应的多个数据段;
根据所述多个时间段和所述多个数据段,计算所述服务器的平均发送速率;
将所述平均发送速率与所述接收缓冲区的最小缓冲区时间相乘,得到所述接收缓冲区预设下限的大小;
将所述接收缓冲区预设下限的大小与所述预设接收下限相除,得到所述接收缓冲区的初始大小;
所述播放缓冲区的初始大小等于所述接收缓冲区的初始大小。
优选的,在依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小之后还包括:
判断所述当前接收缓冲区和所述当前播放缓冲区组成的总缓冲区是否欠载;
若是,则设置播放器的实时播放速率小于预设正常播放速率;
若否,则设置播放器的实时播放速率为所述预设正常播放速率。
优选的,判断所述当前接收缓冲区和所述当前播放缓冲区组成的总缓冲区是否欠载包括:
重新分别计算所述当前接收缓冲区中数据包的当前接收占有率和所述当前播放缓冲区中解码后的数据包的当前播放占有率;
将所述当前接收占有率和所述当前播放占有率的和值作为总缓冲区的总占有率;
若所述总占有率大于预设总缓存区限值,则表示所述总缓冲区没有欠载;
若所述总占有率小于所述预设总缓存区限值,则表示所述总缓冲区欠载。
优选的,所述设置播放器的实时播放速率小于预设正常播放速率包括:
设置所述播放器的实时播放速率为预设参数与正常播放速率的乘积,所述预设参数在75%与100%之间。
一种自适应调整缓存的控制装置,包括:
接收播放单元,用于接收缓冲区接收服务器的发送的流媒体文件的数据包,通过解码器将解码后的数据包发送至播放缓冲区,并播放解码后的数据包;
第一计算单元,用于分别计算所述接收缓冲区中数据包的接收占有率和所述播放缓冲区中解码后的数据包的播放占有率;
第二计算单元,用于通过计算确定当前网络健康指数;
第一确定单元,用于依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小。
优选的,还包括:
第二确定单元,用于根据所述预设接收下限确定所述接收缓冲区的初始大小和所述播放缓冲区的初始大小。
优选的,还包括:
判断执行单元,用于判断所述当前接收缓冲区和所述当前播放缓冲区组成的总缓冲区是否欠载,若是,则设置播放器的实时播放速率小于预设正常播放速率,若否,则设置播放器的实时播放速率为所述预设正常播放速率。
一种自适应播放器,具有所述的自适应调整缓存的控制装置。
本发明提供了一种自适应调整缓存的控制方法,该方法中在播放器播放流媒体文件的过程中,持续计算接收缓冲区的接收占有率、播放缓冲区的播放占有率和当前网络健康指数,并根据当前网络健康指数、接收占有率和播放占有率的大小,动态调整当前的接收缓冲区和当前播放缓冲区的大小。
当前播放缓冲区和当前接收缓冲区的大小组成总缓冲区,由于当前播放缓冲区和当前接收缓冲区随着当前网络健康指数动态变化,当前网络健康指数能够反映当前的网络速度的快慢,因此总缓冲区也随着当前网络健康指数(即网络速度)动态变化,因此本发明提供的方法能够网络速度动态调整总缓冲区的大小,能够达到既不丢弃数据包又能保证资源的充分利用的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的自适应调整缓存的控制方法的流程图;
图2为本发明实施例公开的流媒体文件播放系统的结构示意图;
图3为本发明实施例公开的自适应调整缓存的控制方法中计算网络健康指数的流程图;
图4为本发明实施例公开的又一自适应调整缓存的控制方法的流程图;
图5为本发明实施例公开的自适应调整缓存的控制方法中确定播放缓冲区和接收缓冲区的初始大小的流程图;
图6为本发明实施例公开的自适应调整缓存的控制方法确定总缓冲区是否欠载的流程图;
图7为本发明实施例公开的又一自适应调整缓存的控制方法的流程图;
图8为本发明实施例公开的自适应调整缓存的控制装置的结构示意图;
图9为本发明实施例公开的又一自适应调整缓存的控制装置的结构示意图;
图10为本发明实施例公开的自适应播放器播放流媒体文件的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供了自适应调整缓存的控制方法的一种实施例,包括:
步骤S101:接收缓冲区接收服务器的发送的流媒体文件的数据包,通过解码器将解码后的数据包发送至播放缓冲区,并播放解码后的数据包;
播放器本身有两个缓冲区:接收缓冲区、播放缓存区,如图2所示为流媒体文件的播放系统的结构示意图,在该系统中服务器将流媒体文件的数据包发送至播放器,播放器接收服务器发送的流媒体文件的数据包,并将其存储至接收缓冲区,其存储结构为链式队列,播放器对通过解码器对接收缓冲区的数据包进行解码,得到解码后的数据包,并将其存储至播放缓冲区,其存储结构为顺序队列,播放器将从播放缓冲区中依次播放数据包。
该步骤表示播放器开始播放流媒体文件,并在接收缓存区存储数据包,在播放缓存区中存储解码后的数据包。
步骤S102:分别计算所述接收缓冲区中数据包的接收占有率和所述播放缓冲区中解码后的数据包的播放占有率;
播放器根据接收缓冲区中数据包的大小与接收缓冲区的大小相除得到接收缓冲区中数据包的接收占有率,根据播放缓冲区中解码后的数据包的大小与播放缓冲区的大小相除得到播放缓冲区中解码后数据包的播放占有率,计算接收占有率和播放占有率的目的是为了判断接收缓冲区和播放缓冲区内的数据包多少,以便为后续对接收缓冲区和播放缓冲区的动态调整做准备。
步骤S103:通过计算确定当前网络健康指数;
如图3所示,为计算当前网络健康指数的流程图,包括:
步骤S201:记录每个数据包由所述服务器的发送时间和到达播放器的到达时间;
服务器在发送流媒体文件的数据包时,会在数据包中包含当前的发送时间,播放器在接收到数据包后也会及时记录当前接收数据包的到达时间,因此播放器可以在接收到每个数据包时,获得每个数据包在服务器的发送时间和达到播放器的到达时间,两者的时间差即为在网络中的传输时间,也称为传输时延。
步骤S202:依次将连续多个数据包分为一组;
播放器依次接收多个数据包,并对接收的数据包进行计数操作,当数据包的数量达到一定数量后,将从计数开始至计数至一定数量时的多个数据包分为一组,并继续接收数据包,重新开始计数操作直到达到一定数量后,再次将一定数量的多个数据包作为一组。
步骤S203:计算每组的平均时延;
播放器在接收完一组数据包之后,便开始重新构建下一组数据包,同时播放器计算上一组的中多个数据包的平均时延,即将该组内多个数据包的多个传输时延进行求和然后取平均值,得到该组多个数据包的平均时延。
按照上述计算平均时延的方法依次计算每个组的平均时延。每一组的平均时延代表该组数据包由服务器发送至播放器的时延时间,平均时延越大,表示当前的网络速度越慢、网络健康指数越小,平均时延越小,表示当前网络速度越快、网络健康指数大。
步骤S204:将当前组的平均时延和前一组的平均时延相减得到当前时延差;
播放器最新组建的包括一定数量数据包的组称为当前组,按上述方法计算得到当前组的平均时延,然后将当前组的平均时延和当前组前一组的平均时延进行相减,得到当前时延差。
步骤S205:若所述当前时延差大于零,表示所述当前网络健康指数下降;
若当前时延差大于零,表示当前组的平均时延大于前一组的平均时延,则表示当前的网络速度较前一组变慢、网络健康指数下降。
步骤S206:若所述当前时延差小于零,表示所述当前网络健康指数增加。
若当前时延差小于零,表示当前组的平均时延小于前一组的平均时延,则表示当前的网络速度较前一组变快、网络健康指数增加。
步骤S207:若所述当前时延差等于零,表示所述当前网络健康指数不变。
数据包在网络上传输具有时间局部性,如果对单个数据包进行时延比较,不但计算量增加而且很难反映网络的变化动态,本发明采用分组比较的方法,不仅可以在组内积累时延抖动,而且更有利于反应网络的变化。
步骤S104:依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小;
播放器依据当前网络健康指数、接收占有率和播放占有率确定当前接收缓存区和当前播放缓存区的大小,可以分为以下四种情况:
在说明以下四种情况之前首先说明四个名词,预设接收上限、预设接收下限、预设播放上限和预设播放下限,以上四个名词都为百分比,为由工程师根据实际情况预先设定的百分比,四者之间的关系为:预设接收上限等于预设播放上限,预设接收下限等于预设播放下限。
其中,预设接收上限为接收缓冲区中能够存储的数据包的上限值,预设接收下限为接收缓冲区中接收数据包的下限值,同理,预设播放上限为播放缓冲区中能够存储的数据包的上限值,预设播放下限为播放缓冲区中播放数据包的下限值。
第一种:若所述当前网络健康指数下降,所述接收占有率小于预设接收下限且所述播放占有率小于预设播放下限,则将所述接收缓冲区和所述播放缓冲区减小一定程度后的大小作为所述当前接收缓存区的大小和所述当前播放缓存区的大小;
若当前网络健康指数下降,即为此时的网络速度变慢,接收缓冲区中数据包的接收占有率小于预设接收下限,且播放缓冲区中占有率小于预设播放下限,在网络速度变慢的情况下,接收缓冲区和播放缓冲区在一段时间内,不会被数据包填满,相反接收缓冲区和播放缓冲区在一段时间内会存有多余空间,为了防止接收缓冲区和播放缓冲区资源的浪费,需要重新确定当前接收缓冲区和当前播放缓冲区的大小,将原有接收缓冲区和播放缓冲区的大小减小一定程度,然后将减小后的接收缓冲区和播放缓冲区作为当前的接收缓冲区和当前的播放缓冲区。
第二种:若所述当前网络健康指数下降,所述接收占有率小于所述预设接收下限且所述播放占有率大于预设播放上限,则暂停所述解码器的解码进程;
若当前网络健康指数下降,表示当前的网络速度变慢,在接收缓存区的接收占有率小于预设接收下限值,表明接收缓冲区存有大量空余空间,播放缓冲区的占有率大于预设播放上限,表明播放缓冲区没有多余的空间容纳接收缓冲区发送的解码后的数据包,因此此时暂定接收缓冲区至播放缓冲区之间的解码器的解码进程,一方面为服务器发送数据包至接收缓冲区预留时间,使播放缓冲区中存有足够的数据包供解码器使用,另一方面为播放缓冲区播放已有的数据包预留时间。
第三种:若所述当前网络健康指数上升,所述接收占有率大于预设接收上限,则将所述接收缓冲区增加一定程度后的大小作为所述当前接收缓存区的大小;
若当前网络健康指数增加,表示当前的网络速度变快,接收缓冲区的接收占有率大于接收数据包能够存储的预设接收上限,表明接收缓冲区的空间不够使用,在网络健康指数增加的过程中,接收缓冲区的数据包肯定越来越多,因此为了防止接收缓冲区丢包,造成播放过程中出现花屏的现象,此时增加原有接收缓冲区的大小,将增大后的缓冲区作为当前的接收缓冲区。
第四种:若所述当前网络健康指数增加,所述播放占有率大于预设播放上限,则暂停所述解码器的解码进程。
若当前的网络健康指数增加,播放缓冲区的播放占有率大于预设播放上限,表明此时播放缓冲区的空间过小、不够用,由于网络资源有限,不必额外增加播放缓冲区的大小,仅需要暂停解码器解码,这样播放缓冲区即可时间处理播放缓冲区的数据包,以便播放占有率小于预设播放上限。
步骤S105:重新执行步骤S101-S104直到所述流媒体文件播放完成。
循环执行步骤S101-S104,直到播放器播放完成流媒体文件,这样在整个流媒体播放过程中都能够动态调整播放缓存区和接收缓冲区的大小,使得缓冲区能够动态适应网络速度的变化。
本发明提供了一种自适应调整缓存的控制方法,该方法中在播放器播放流媒体文件的过程中,持续计算接收缓冲区的接收占有率、播放缓冲区的播放占有率和当前网络健康指数,并根据当前网络健康指数、接收占有率和播放占有率的大小,动态调整当前的接收缓冲区和当前播放缓冲区的大小。
当前播放缓冲区和当前接收缓冲区的大小组成总缓冲区,由于当前播放缓冲区和当前接收缓冲区随着当前网络健康指数动态变化,当前网络健康指数能够反映当前的网络速度的快慢,因此总缓冲区也随着当前网络健康指数(即网络速度)动态变化,因此本发明提供的方法能够网络速度动态调整总缓冲区的大小,能够达到既不丢弃数据包又能保证资源的充分利用的目的。
如图4所示,本发明提供了自适应调整缓存的控制方法的另一种实施例,包括:
步骤S301:根据所述预设接收下限确定所述接收缓冲区的初始大小和所述播放缓冲区的初始大小;
如图5所示,为确定接收缓冲区和播放缓冲区的初始大小的流程图,包括:
步骤S401:在所述服务器发送数据包的过程中的抓取数据,获得与多个时间段对应的多个数据段;
步骤S402:根据所述多个时间段和所述多个数据段,计算所述服务器的平均发送速率;通过步骤S401和步骤S402得到服务器的平均发送速率。
步骤S403:将所述平均发送速率与所述接收缓冲区的最小缓冲区时间相乘,得到所述接收缓冲区预设下限的大小;
最小缓冲区时间为预先由工程确定的值,其为接收缓冲区内部能够容许的最小缓冲区时间。服务器的平均发送速率与最小缓冲区时间相乘即可得到接收缓冲区的预设下限的大小。
步骤S404:将所述接收缓冲区预设下限的大小与所述预设接收下限相除,得到所述接收缓冲区的初始大小;
根据预先确定的预设接收下限,预设接收下限为一个百分比,为预设下限的大小在整个接收缓冲区中的占有率。因此将预设下限的大小与预设接收下限相除,即可得到整个接收缓冲区的大小。
步骤S405:所述播放缓冲区的初始大小等于所述接收缓冲区的初始大小。
在初始时,设置播放缓冲区的大小与接收缓冲区的大小一致,因此播放缓冲区的初始大小等于接收缓冲区的初始大小。
通过步骤S401-S405确定了接收缓冲区的初始大小和播放缓冲区的初始大小,并且接收缓冲区的初始大小和播放缓冲区的初始大小都是依据服务器的平均发送速率确定的,所以接收缓冲区的初始大小和播放缓冲区的初始大小与当前服务器的发送速率有一定联系,因此接收缓冲区的初始大小和播放缓冲区的初始大小也本发明动态调整缓冲区的一种实现方式。
步骤S302:接收缓冲区接收服务器的发送的流媒体文件的数据包,通过解码器将解码后的数据包发送至播放缓冲区,并播放解码后的数据包;
步骤S303:分别计算所述接收缓冲区中数据包的接收占有率和所述播放缓冲区中解码后的数据包的播放占有率;
步骤S304:通过计算确定当前网络健康指数;
步骤S305:依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小;
步骤S306:判断所述当前接收缓冲区和所述当前播放缓冲区组成的总缓冲区是否欠载,若是则进入步骤S307,若否则进入步骤S308;
为了保证播放器能够播放正常流媒体文件,在缓冲区欠载的情况下,调整接收缓存区和播放缓冲区的大小,已经不能满足正常播放流媒体文件的需求,需要执行调整当前播放器播放速度的策略,因此需要判断缓冲区是否欠载,欠载指的是总缓冲区的数据包数据量不够正常播放速度需求。
如图6所示,为确定当前总缓冲区是否欠载的流程图,包括:
步骤S501:重新分别计算所述当前接收缓冲区中数据包的当前接收占有率和所述当前播放缓冲区中解码后的数据包的当前播放占有率;
播放器的总缓冲区包括接收缓冲区和播放缓冲区,在步骤S305中缓冲区发生了变化,因此需要重新确定当前接收缓冲区中数据包的当前接收占有率和当前播放缓冲区中解码后的数据包的当前播放占有率。
步骤S502:将所述当前接收占有率和所述当前播放占有率的和值作为总缓冲区的总占有率;
步骤S503:若所述总占有率大于预设总缓存区限值,则表示所述总缓冲区没有欠载;
步骤S504:若所述总占有率小于所述预设总缓存区限值,则表示所述总缓冲区欠载。
预设总缓存区限值是一个预先确定的总缓存区包含数据包的下限值,为一个百分比,当总缓冲区的占有率大于预设总缓存区限值时,表示总缓冲区没有欠载,当总缓冲区的占有率小于预设总缓存区限值时,表示总缓冲区处于欠载状态。
步骤S307:若是,则设置播放器的实时播放速率小于预设正常播放速率;
若总缓冲区处于欠载状态,则减小播放器的实时播放速率,以便服务器能够有足够的时间发送数据包到播放器,具体的,设置播放器的实时播放速率为预设参数与正常播放速率的乘积,预设参数在75%与100%之间。
步骤S308:若否,则设置播放器的实时播放速率为所述预设正常播放速率。
若总缓冲区没有欠载,则播放器的播放实时速率为正常播放速率。步骤S307与步骤S308中提到正常播放速率与步骤S402中确定的服务器平均发送速率是一致的,服务器按平均发送速率发送数据包,播放器按平均发送速率播放数据包,这是最理想化的情况。
步骤S309:重新执行上述步骤直到所述流媒体文件播放完成。
本发明提供了一种自适应调整缓存的控制方法,该方法中在播放器初始播放时根据服务器的发送速度,确定播放器接收缓冲区和播放缓冲区的初始大小,因为服务器的发送速度是变化的,因此播放器接收缓冲区和播放缓冲区的初始大小也为自动调整缓冲区的表现。在播放流媒体文件的播放过程中,根据当前网络健康指数、接收占有率和播放占有率的大小,动态调整当前的接收缓冲区和当前播放缓冲区的大小。因此本发明提供的方法能够网络速度动态调整总缓冲区的大小,能够达到既不丢弃数据包又能保证资源的充分利用的目的。
如图7所示,本发明提供了一种自适应调整缓存的具体实施例,包括:
步骤S601:确定接收缓冲区的初始大小C1和播放缓冲区的初始大小C2;
预先设定接收缓冲区的预设接收下限为LD1,接收缓冲区的预设接收上限为LU1,播放缓冲区的预设播放下限为LD2,播放缓冲区的预设播放上限为LU2,例如:LD1=20%,LD2=20%,LU1=80%,LU2=80%。
播放器根据以下公式确定C1的大小:
计算接收缓冲区的初始大小:C1=Vt/LD1;
播放缓冲区的初始大小:C2=C1;
其中,Vi为服务器发送第i个数据包时的发送速率;
Di为播放器抓取服务器的第i个数据段;
Ti或T为播放器抓取第i个数据段时对应的时间段;
V为服务器的平均发送速率;
l为抓取数据段的总数量;
t为最小缓冲区时间;
LD1为接收缓冲区预设下限。
步骤S602:播放器经服务器获取流媒体文件的数据包并播放数据包,即接收缓冲区接收服务器的发送的流媒体文件的数据包,通过解码器将解码后的数据包发送至播放缓冲区,并播放解码后的数据包;
步骤S603:分别计算所述接收缓冲区中数据包的接收占有率和所述播放缓冲区中解码后的数据包的播放占有率;
设接收缓冲区的数据包为X1,播放缓冲区的数据包为X2,接收缓冲区的数据包的接收占有率为F1,播放区中解码后的数据包播放的占有率为F2。则
步骤S604:通过计算确定当前网络健康指数;
假设流媒体数据包在服务器端的发送时间为t,到达接收端的时间为t′;Δt表示数据包的在网络中的传输时延,T表示缓存中最新接收n个数据的平均时延;R表示缓冲区中最新接收的相邻n个数据包的平均时延抖动。
一个数据包的传输时延:Δt=t′-t;
n个数据包的平均时延:
相邻两组的时延差:
由分析可知,R<0表示数据包的传输时延在减小,说明网络健康指数在增加;R>0表示数据包的传输时延在增加,说明网络健康指数在下降,R=0表示数据包的传输时延不变,网络健康指数不变。
步骤S605:依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小;
设当前接收缓存区的大小为C11,当前播放缓冲区的大小为C22,依据当前网络健康指数R、接收占有率F1和播放占有率F2确定当前接收缓存区C11和当前播放缓存区的大小C22包括以下四种情况:
第一种:若所述当前网络健康指数下降,接收占有率小于预设接收下限且所述播放占有率小于预设播放下限,则将接收缓冲区和播放缓冲区减小一定程度后的大小作为当前接收缓存区的大小和所述当前播放缓存区的大小;
即当R<0,F1<LD1且F2<LD2,C11=αC1,C22=βC2,其中α<1,β<1。
因为F1<1,F2<1,所以可以设定α=F1,β=F2,此时C11=F1*C1,C22=F2*C2。
第二种:当前网络健康指数下降,接收占有率小于所述预设接收下限且播放占有率大于预设播放上限,则暂停所述解码器的解码进程;
当R<0,F1<LD1且F2>LU2,则暂定解码器的解码进程,此时不改变播放缓冲区和播放缓冲区的大小,C11=C1,C22=C2。
第三种:若当前网络健康指数增加,所述接收占有率大于预设接收上限,则将所述接收缓冲区增加一定程度后的大小作为所述当前接收缓存区的大小;
当R>0,F1>LU1,则C11=δC11,δ>1,因为此时F1小于1,所以可以设定 此时
第四种:若所述当前网络健康指数增加,所述播放占有率大于预设播放上限,则暂停所述解码器的解码进程。
当R>0,F2>LU2,则暂定解码器的解码进程,此时不改变播放缓冲区和播放缓冲区的大小,C11=C1,C22=C2。
在其余情况下不改变播放缓冲区和接收缓冲区的大小和解码器的进程。
步骤S606:判断所述当前接收缓冲区和所述当前播放缓冲区组成的总缓冲区是否欠载;
设定总缓冲区大小为C,C=C11+C22,重新确定C11,C22中的接收占有率F11和播放占有率F22。总缓冲区C的总占有率为F,F=F11+F22。设定预设总缓存区限值为FM,当F>FM,则表示所述总缓冲区没有欠载;F<FM则表示所述总缓冲区欠载。
步骤S607:若是,则设置播放器的实时播放速率小于预设正常播放速率;
播放器的实时播放速率为v,预设正常播放速率为V与服务器的平均播放速率一致,当总缓冲区欠载时,设置v=γV,75%<γ<1,由于人眼可以接受的播放速率变化为最大值25%,在速率改变25%以内人眼以为播放速率不便,播放器为正常播放状态。
步骤S608:若否,则设置播放器的实时播放速率为预设正常播放速率。
若总缓冲区没有欠载,则播放器的播放实时速率为正常播放速率,即v=V。
步骤S609:重新执行步骤S601-S608直到所述流媒体文件播放完成。
如图8所示,本发明还提供了一种自适应调整缓存的控制装置,包括:
接收播放单元100,用于接收缓冲区接收服务器的发送的流媒体文件的数据包,通过解码器将解码后的数据包发送至播放缓冲区,并播放解码后的数据包;
第一计算单元200,用于分别计算所述接收缓冲区中数据包的接收占有率和所述播放缓冲区中解码后的数据包的播放占有率;
第二计算单元300,用于通过计算确定当前网络健康指数;
第一确定单元400,用于依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小。
如图9所示,本发明的自适应调整缓存的控制装置,还包括:
第二确定单元500,用于根据所述预设接收下限确定所述接收缓冲区的初始大小和所述播放缓冲区的初始大小。
判断执行单元600,用于判断所述当前接收缓冲区和所述当前播放缓冲区组成的总缓冲区是否欠载,若是,则设置播放器的实时播放速率小于预设正常播放速率,若否,则设置播放器的实时播放速率为所述预设正常播放速率。
本发明还提供了一种自适应播放器,该播放器具有如图8或图9所示的自适应调整缓存的控制装置。
如图10所示,自适应播放器中的具体实现包括:
步骤S701:初始化用户图像界面;
步骤S702:初始化音视频输出设备;
步骤S703:读取流媒体文件;
步骤S704:选择音视频分离器进行音视频同步,并播放流媒体文件;
步骤S705:判断流媒体文件是否播放完成?若是则退出,若否则进入步骤S706。
步骤S706:接收控制事件并执行控制事件,跳转至步骤S703。
其中控制事件的输入包括两部分控制信息,一是来自用户输入的播放控制信息,例如播放、停止、快进、快退等信息;二是来自播放器自身控制信息,这些信息即为网络变化时对缓存的调整以及播放速度的调整。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种自适应调整缓存的控制方法,其特征在于,包括:
接收缓冲区接收服务器的发送的流媒体文件的数据包,通过解码器将解码后的数据包发送至播放缓冲区,并播放解码后的数据包;
分别计算所述接收缓冲区中数据包的接收占有率和所述播放缓冲区中解码后的数据包的播放占有率;
通过计算确定当前网络健康指数;
依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小;
重新执行上述步骤直到所述流媒体文件播放完成。
2.如权利要求1所述的方法,其特征在于,所述依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小包括:
若所述当前网络健康指数下降,所述接收占有率小于预设接收下限且所述播放占有率小于预设播放下限,则将所述接收缓冲区和所述播放缓冲区减小一定程度后的大小作为所述当前接收缓存区的大小和所述当前播放缓存区的大小;
若所述当前网络健康指数下降,所述接收占有率小于所述预设接收下限且所述播放占有率大于预设播放上限,则暂停所述解码器的解码进程;
若所述当前网络健康指数增加,所述接收占有率大于预设接收上限,则将所述接收缓冲区增加一定程度后的大小作为所述当前接收缓存区的大小;
若所述当前网络健康指数增加,所述播放占有率大于预设播放上限,则暂停所述解码器的解码进程。
3.如权利要求2所述的方法,其特征在于,所述将所述接收缓冲区和所述播放缓冲区减小一定程度后的大小作为所述当前接收缓存区的大小和所述当前播放缓存区的大小包括:
将所述接收缓冲区的大小与所述接收占有率的乘积作为所述当前接收缓存区的大小;
将所述播放缓冲区的大小与所述播放占有率的乘积作为所述当前播放缓存区的大小。
4.如权利要求2所述的方法,其特征在于,所述将所述接收缓冲区增加一定程度后的大小作为所述当前接收缓存区的大小包括:
将所述接收缓冲区的大小与所述接收占有率倒数的乘积作为所述当前接收缓存区的大小。
5.如权利要求1所述的方法,其特征在于,所述通过计算确定当前网络健康指数包括:
记录每个数据包由所述服务器的发送时间和到达播放器的到达时间;
依次将连续多个数据包分为一组;
计算每组的平均时延;
将当前组的平均时延和前一组的平均时延相减得到当前时延差;
若所述当前时延差大于零,表示所述当前网络健康指数下降;
若所述当前时延差小于零,表示所述当前网络健康指数增加。
6.如权利要求1所述的方法,其特征在于,在所述接收缓冲区接收服务器的发送的流媒体文件的数据包之前还包括:
根据所述预设接收下限确定所述接收缓冲区的初始大小和所述播放缓冲区的初始大小。
7.如权利要求6所述的方法,其特征在于,所述根据所述预设接收下限确定所述接收缓冲区的初始大小和所述播放缓冲区的初始大小包括:
在所述服务器发送数据包的过程中的抓取数据,获得与多个时间段对应的多个数据段;
根据所述多个时间段和所述多个数据段,计算所述服务器的平均发送速率;
将所述平均发送速率与所述接收缓冲区的最小缓冲区时间相乘,得到所述接收缓冲区预设下限的大小;
将所述接收缓冲区预设下限的大小与所述预设接收下限相除,得到所述接收缓冲区的初始大小;
所述播放缓冲区的初始大小等于所述接收缓冲区的初始大小。
8.如权利要求1所述的方法,其特征在于,在依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小之后还包括:
判断所述当前接收缓冲区和所述当前播放缓冲区组成的总缓冲区是否欠载;
若是,则设置播放器的实时播放速率小于预设正常播放速率;
若否,则设置播放器的实时播放速率为所述预设正常播放速率。
9.如权利要求8所述的方法,其特征在于,判断所述当前接收缓冲区和所述当前播放缓冲区组成的总缓冲区是否欠载包括:
重新分别计算所述当前接收缓冲区中数据包的当前接收占有率和所述当前播放缓冲区中解码后的数据包的当前播放占有率;
将所述当前接收占有率和所述当前播放占有率的和值作为总缓冲区的总占有率;
若所述总占有率大于预设总缓存区限值,则表示所述总缓冲区没有欠载;
若所述总占有率小于所述预设总缓存区限值,则表示所述总缓冲区欠载。
10.如权利要求8所述的方法,其特征在于,所述设置播放器的实时播放速率小于预设正常播放速率包括:
设置所述播放器的实时播放速率为预设参数与正常播放速率的乘积,所述预设参数在75%与100%之间。
11.一种自适应调整缓存的控制装置,其特征在于,包括:
接收播放单元,用于接收缓冲区接收服务器的发送的流媒体文件的数据包,通过解码器将解码后的数据包发送至播放缓冲区,并播放解码后的数据包;
第一计算单元,用于分别计算所述接收缓冲区中数据包的接收占有率和所述播放缓冲区中解码后的数据包的播放占有率;
第二计算单元,用于通过计算确定当前网络健康指数;
第一确定单元,用于依据所述当前网络健康指数、所述接收占有率和所述播放占有率确定当前接收缓存区和当前播放缓存区的大小。
12.如权利要求11所述的装置,其特征在于,还包括:
第二确定单元,用于根据所述预设接收下限确定所述接收缓冲区的初始大小和所述播放缓冲区的初始大小。
13.如权利要求11所述的装置,其特征在于,还包括:
判断执行单元,用于判断所述当前接收缓冲区和所述当前播放缓冲区组成的总缓冲区是否欠载,若是,则设置播放器的实时播放速率小于预设正常播放速率,若否,则设置播放器的实时播放速率为所述预设正常播放速率。
14.一种自适应播放器,其特征在于,具有如权利要求11-13任意一项权利要求所述的自适应调整缓存的控制装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310323556.XA CN103402136B (zh) | 2013-07-29 | 2013-07-29 | 自适应调整缓存的控制方法、装置及自适应播放器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310323556.XA CN103402136B (zh) | 2013-07-29 | 2013-07-29 | 自适应调整缓存的控制方法、装置及自适应播放器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103402136A true CN103402136A (zh) | 2013-11-20 |
CN103402136B CN103402136B (zh) | 2016-05-11 |
Family
ID=49565640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310323556.XA Expired - Fee Related CN103402136B (zh) | 2013-07-29 | 2013-07-29 | 自适应调整缓存的控制方法、装置及自适应播放器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103402136B (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731524A (zh) * | 2013-12-24 | 2015-06-24 | Ls产电株式会社 | 设置缓存器容量的方法 |
WO2015113243A1 (zh) * | 2014-01-29 | 2015-08-06 | 华为终端有限公司 | 网络视频播放方法、装置和电子设备 |
CN105227588A (zh) * | 2014-05-28 | 2016-01-06 | 中国移动通信集团公司 | 一种流媒体文件的下载方法及用户终端 |
CN105451100A (zh) * | 2015-12-07 | 2016-03-30 | 贵阳朗玛信息技术股份有限公司 | 一种播放视频流的方法及装置 |
CN105681883A (zh) * | 2016-01-07 | 2016-06-15 | 深圳Tcl数字技术有限公司 | 音频数据推送方法及系统 |
CN105847942A (zh) * | 2016-04-01 | 2016-08-10 | 青岛海信宽带多媒体技术有限公司 | 媒体数据缓冲方法、媒体数据缓冲装置及智能电视 |
CN107205160A (zh) * | 2017-06-27 | 2017-09-26 | 青岛海信电器股份有限公司 | 一种针对服务器下发的视频的播放方法及装置 |
CN107529097A (zh) * | 2016-06-20 | 2017-12-29 | 北京信威通信技术股份有限公司 | 一种自适应调整视频缓冲大小的方法及装置 |
CN107612912A (zh) * | 2017-09-20 | 2018-01-19 | 北京京东尚科信息技术有限公司 | 一种设置播放参数的方法和装置 |
CN108495177A (zh) * | 2018-03-30 | 2018-09-04 | 北京三体云联科技有限公司 | 一种音频变速处理方法及装置 |
CN109121020A (zh) * | 2018-09-12 | 2019-01-01 | 中国地质大学(武汉) | 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备 |
CN109121019A (zh) * | 2018-09-12 | 2019-01-01 | 中国地质大学(武汉) | 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备 |
CN109525887A (zh) * | 2018-12-27 | 2019-03-26 | 长沙理工大学 | 一种在线视频的自调节播放方法、系统及装置 |
CN109819303A (zh) * | 2019-03-06 | 2019-05-28 | Oppo广东移动通信有限公司 | 数据输出方法及相关设备 |
CN110417514A (zh) * | 2019-07-22 | 2019-11-05 | 北京地平线机器人技术研发有限公司 | 数据发送方法和装置、数据接收方法和装置 |
CN110620793A (zh) * | 2019-10-31 | 2019-12-27 | 苏州浪潮智能科技有限公司 | 一种提高音频质量的方法、设备及介质 |
CN110677730A (zh) * | 2018-07-03 | 2020-01-10 | 微鲸科技有限公司 | 播放控制方法及装置 |
WO2020026013A1 (zh) * | 2018-07-31 | 2020-02-06 | 优视科技新加坡有限公司 | 数据传输方法、装置、设备/终端/服务器及计算机可读存储介质 |
WO2020044086A1 (zh) * | 2018-08-27 | 2020-03-05 | 优视科技新加坡有限公司 | 一种文件传输与播放的方法、装置和设备/终端/服务器 |
CN111586529A (zh) * | 2020-05-08 | 2020-08-25 | 北京三体云联科技有限公司 | 音频数据处理方法、装置、终端和计算机可读存储介质 |
CN111736796A (zh) * | 2020-05-15 | 2020-10-02 | 深圳市战音科技有限公司 | 实时流数据处理方法、装置、设备和存储介质 |
CN111798212A (zh) * | 2020-07-02 | 2020-10-20 | 中铁十六局集团第一工程有限公司 | 一种施工企业设备运行状态监测及维护预警智能终端 |
CN112911377A (zh) * | 2021-02-01 | 2021-06-04 | 华录智达科技股份有限公司 | 一种视频播放和缓存间适配系统及算法 |
CN113972962A (zh) * | 2020-07-25 | 2022-01-25 | 华为技术有限公司 | 一种缓冲区管理方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912224B1 (en) * | 1997-11-02 | 2005-06-28 | International Business Machines Corporation | Adaptive playout buffer and method for improved data communication |
CN101296158A (zh) * | 2007-04-26 | 2008-10-29 | 深圳市同洲电子股份有限公司 | 一种流媒体数据传输方法及其数据传输装置 |
CN101316334A (zh) * | 2008-07-07 | 2008-12-03 | 中兴通讯股份有限公司 | 一种处理电视媒体数据的方法及电视手机 |
-
2013
- 2013-07-29 CN CN201310323556.XA patent/CN103402136B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912224B1 (en) * | 1997-11-02 | 2005-06-28 | International Business Machines Corporation | Adaptive playout buffer and method for improved data communication |
CN101296158A (zh) * | 2007-04-26 | 2008-10-29 | 深圳市同洲电子股份有限公司 | 一种流媒体数据传输方法及其数据传输装置 |
CN101316334A (zh) * | 2008-07-07 | 2008-12-03 | 中兴通讯股份有限公司 | 一种处理电视媒体数据的方法及电视手机 |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731524A (zh) * | 2013-12-24 | 2015-06-24 | Ls产电株式会社 | 设置缓存器容量的方法 |
CN104731524B (zh) * | 2013-12-24 | 2018-01-12 | Ls产电株式会社 | 设置缓存器容量的方法 |
WO2015113243A1 (zh) * | 2014-01-29 | 2015-08-06 | 华为终端有限公司 | 网络视频播放方法、装置和电子设备 |
CN105227588A (zh) * | 2014-05-28 | 2016-01-06 | 中国移动通信集团公司 | 一种流媒体文件的下载方法及用户终端 |
CN105451100B (zh) * | 2015-12-07 | 2019-04-09 | 贵阳朗玛信息技术股份有限公司 | 一种播放视频流的方法及装置 |
CN105451100A (zh) * | 2015-12-07 | 2016-03-30 | 贵阳朗玛信息技术股份有限公司 | 一种播放视频流的方法及装置 |
CN105681883A (zh) * | 2016-01-07 | 2016-06-15 | 深圳Tcl数字技术有限公司 | 音频数据推送方法及系统 |
CN105681883B (zh) * | 2016-01-07 | 2019-05-31 | 深圳Tcl数字技术有限公司 | 音频数据推送方法及系统 |
CN105847942A (zh) * | 2016-04-01 | 2016-08-10 | 青岛海信宽带多媒体技术有限公司 | 媒体数据缓冲方法、媒体数据缓冲装置及智能电视 |
CN107529097A (zh) * | 2016-06-20 | 2017-12-29 | 北京信威通信技术股份有限公司 | 一种自适应调整视频缓冲大小的方法及装置 |
CN107205160A (zh) * | 2017-06-27 | 2017-09-26 | 青岛海信电器股份有限公司 | 一种针对服务器下发的视频的播放方法及装置 |
CN107612912A (zh) * | 2017-09-20 | 2018-01-19 | 北京京东尚科信息技术有限公司 | 一种设置播放参数的方法和装置 |
CN107612912B (zh) * | 2017-09-20 | 2022-02-25 | 北京京东尚科信息技术有限公司 | 一种设置播放参数的方法和装置 |
CN108495177A (zh) * | 2018-03-30 | 2018-09-04 | 北京三体云联科技有限公司 | 一种音频变速处理方法及装置 |
CN108495177B (zh) * | 2018-03-30 | 2021-07-13 | 北京世纪好未来教育科技有限公司 | 一种音频变速处理方法及装置 |
CN110677730A (zh) * | 2018-07-03 | 2020-01-10 | 微鲸科技有限公司 | 播放控制方法及装置 |
WO2020026013A1 (zh) * | 2018-07-31 | 2020-02-06 | 优视科技新加坡有限公司 | 数据传输方法、装置、设备/终端/服务器及计算机可读存储介质 |
WO2020044086A1 (zh) * | 2018-08-27 | 2020-03-05 | 优视科技新加坡有限公司 | 一种文件传输与播放的方法、装置和设备/终端/服务器 |
CN109121020B (zh) * | 2018-09-12 | 2020-01-17 | 中国地质大学(武汉) | 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备 |
CN109121019A (zh) * | 2018-09-12 | 2019-01-01 | 中国地质大学(武汉) | 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备 |
CN109121019B (zh) * | 2018-09-12 | 2020-01-17 | 中国地质大学(武汉) | 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备 |
CN109121020A (zh) * | 2018-09-12 | 2019-01-01 | 中国地质大学(武汉) | 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备 |
CN109525887B (zh) * | 2018-12-27 | 2021-06-18 | 长沙理工大学 | 一种在线视频的自调节播放方法、系统及装置 |
CN109525887A (zh) * | 2018-12-27 | 2019-03-26 | 长沙理工大学 | 一种在线视频的自调节播放方法、系统及装置 |
CN109819303B (zh) * | 2019-03-06 | 2021-04-23 | Oppo广东移动通信有限公司 | 数据输出方法及相关设备 |
CN109819303A (zh) * | 2019-03-06 | 2019-05-28 | Oppo广东移动通信有限公司 | 数据输出方法及相关设备 |
CN110417514B (zh) * | 2019-07-22 | 2022-02-01 | 北京地平线机器人技术研发有限公司 | 数据发送方法和装置、数据接收方法和装置 |
CN110417514A (zh) * | 2019-07-22 | 2019-11-05 | 北京地平线机器人技术研发有限公司 | 数据发送方法和装置、数据接收方法和装置 |
CN110620793A (zh) * | 2019-10-31 | 2019-12-27 | 苏州浪潮智能科技有限公司 | 一种提高音频质量的方法、设备及介质 |
CN110620793B (zh) * | 2019-10-31 | 2022-03-15 | 苏州浪潮智能科技有限公司 | 一种提高音频质量的方法、设备及介质 |
CN111586529A (zh) * | 2020-05-08 | 2020-08-25 | 北京三体云联科技有限公司 | 音频数据处理方法、装置、终端和计算机可读存储介质 |
CN111736796A (zh) * | 2020-05-15 | 2020-10-02 | 深圳市战音科技有限公司 | 实时流数据处理方法、装置、设备和存储介质 |
CN111798212B (zh) * | 2020-07-02 | 2021-03-26 | 中铁十六局集团第一工程有限公司 | 一种施工企业设备运行状态监测及维护预警智能终端 |
CN111798212A (zh) * | 2020-07-02 | 2020-10-20 | 中铁十六局集团第一工程有限公司 | 一种施工企业设备运行状态监测及维护预警智能终端 |
CN113972962A (zh) * | 2020-07-25 | 2022-01-25 | 华为技术有限公司 | 一种缓冲区管理方法及相关装置 |
CN113972962B (zh) * | 2020-07-25 | 2023-02-03 | 华为技术有限公司 | 一种缓冲区管理方法及相关装置 |
CN112911377A (zh) * | 2021-02-01 | 2021-06-04 | 华录智达科技股份有限公司 | 一种视频播放和缓存间适配系统及算法 |
CN112911377B (zh) * | 2021-02-01 | 2022-10-21 | 华录智达科技股份有限公司 | 一种视频播放和缓存间适配系统及算法 |
Also Published As
Publication number | Publication date |
---|---|
CN103402136B (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103402136B (zh) | 自适应调整缓存的控制方法、装置及自适应播放器 | |
CN103051955B (zh) | 流媒体播放方法及装置 | |
CN103152651B (zh) | 一种自动调节流媒体缓冲区播放门限的方法和系统 | |
CN109600610B (zh) | 一种数据编码方法、终端及计算机可读存储介质 | |
CN109218847B (zh) | 一种下载控制方法、装置以及多媒体终端 | |
WO2014107946A1 (zh) | 一种无线网络下视频实时传输的码率平滑方法 | |
CN107205160A (zh) | 一种针对服务器下发的视频的播放方法及装置 | |
US20170083262A1 (en) | System and method for controlling memory frequency using feed-forward compression statistics | |
EP2661694A1 (en) | Systems and methods for performing adaptive bitrate streaming based upon stream delay and "channel rate | |
CN107371061A (zh) | 一种视频流播放方法、装置及设备 | |
US9379990B2 (en) | System and method for streaming a media file from a server to a client device | |
CN111263153B (zh) | 视频编码方法、装置、设备及存储介质 | |
CN102547449A (zh) | 一种控制终端缓冲媒体流数据的方法、机顶盒及媒体服务器 | |
US20110282884A1 (en) | Method and Device for Recording Media | |
US10200433B2 (en) | Client device, a method for receiving a streaming media data and a streaming media data transmission system | |
CN110601872A (zh) | 一种传输方法及装置、存储介质 | |
CN100568835C (zh) | 一种基于丢包率的网络状态估计方法 | |
WO2016082176A1 (zh) | 一种数据阈值预测方法与相关装置 | |
CN101483542B (zh) | 一种对网络流媒体音视频的多维度的访问量统计方法 | |
CN104509061B (zh) | 流媒体数据传输的调节方法及装置 | |
CN102316491A (zh) | 一种移动终端调整媒体码率的方法和移动终端 | |
CN104025524A (zh) | 流媒体传输方法及装置、通信设备 | |
CN114501145A (zh) | 视频传输的码率控制方法、装置、电子装置和存储介质 | |
CN109218809B (zh) | 一种流媒体的播放方法和装置 | |
WO2015182054A1 (en) | Communication device and data processing method |
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 |
Granted publication date: 20160511 Termination date: 20180729 |
|
CF01 | Termination of patent right due to non-payment of annual fee |