一种网络播放数据缓冲方法

文档序号:7779814阅读:215来源:国知局
一种网络播放数据缓冲方法
【专利摘要】本发明公开了一种网络播放数据缓冲方法,包括步骤:A1、设置缓冲区数据最小值min、缓冲区数据最大值max以及平滑播放时间playtime;A2、更新实时网络带宽bandwidth和实时视频码率bitrate,缓冲视频数据;A3、根据平滑播放时间playtime和实时视频码率bitrate计算播放所需数据量playsize;A4、如果当前缓冲数据量cur_data_size大于播放所需数据量playsize则执行步骤A5,否则执行步骤A2;A5、停止缓冲视频数据并对视频数据进行解码输出;A6、返回步骤A2。本发明使得在网络带宽确定的条件下,播放视频码率低的视频不用再缓冲和播放视频码率较高的视频时一样的数据大小,使播放更加流畅平滑;在视频码率确定的情况下,在网络带宽较好的情况下不用缓冲和网络环境较差时一样的数据大小,从而使播放更加流畅平滑。
【专利说明】一种网络播放数据缓冲方法
【技术领域】
[0001]本发明涉及网络视频播放【技术领域】,具体涉及一种网络播放数据缓冲方法。
【背景技术】
[0002]目前,手机、平板电脑、dongle等产品越来越普及,给广大用户带来极大便利和享受,而网络视频播放是这些产品不可或缺的重要功能,网络视频分辨率越来越高,目前的网络播放缓冲数据的机制在现有网络带宽下,没有更好的处理视频分辨率和网络带宽差异带来的影响,导致用户体验不佳。现有网络视频播放的缓冲机制并没有考虑网络带宽和视频码率的不同,而是缓冲固定的数据量。如此一来,便有如下两方面的问题:在网络带宽相同时,低码率的视频也需要缓冲和高码率视频一样的数据大小,从而导致缓冲时间延长。在视频码率相同时,网络带宽较好时也需要缓冲和网络带宽较差时一样的数据大小,从而导致缓冲时间延长。

【发明内容】

[0003]本发明要解决的技术问题在于,针对现有技术的不足,提供一种网络播放数据缓冲方法,克服现有技术的缓冲方法缓冲固定的数据量,导致缓冲时间过长的缺陷。
[0004]本发明为解决上述技术问题所采用的技术方案为:
[0005]一种网络播放数据缓冲方法,包括步骤:
[0006]Al、设置缓冲区数据最小值min、缓冲区数据最大值max以及平滑播放时间playtime ;
[0007]A2、更新实时网络带宽bandwidth和实时视频码率bitrate,缓冲视频数据;
[0008]A3、根据所述平滑播放时间playtime和实时视频码率bitrate计算播放所需数据量 playsize ;
[0009]A4、如果所述当前缓冲数据量cur_data_size大于所述播放所需数据量playsize则执行步骤A5,否则执行步骤A2 ;
[0010]A5、停止缓冲视频数据并对所述视频数据进行解码输出;
[0011]A6、返回步骤A2。
[0012]根据本发明的实施例,所述步骤A3还包括步骤:
[0013]A31、如果所述播放所需数据量playsize小于所述缓冲区数据最小值min,则设置所述播放所需数据量playsize的值为所述缓冲区数据最小值min。
[0014]根据本发明的实施例,所述步骤A3还包括步骤:
[0015]A32、如果所述播放所需数据量playsize大于所述缓冲区数据最大值max,则设置所述播放所需数据量playsize的值为所述缓冲区数据最大值max。
[0016]根据本发明的实施例,所述步骤A3还包括步骤:
[0017]A33、如果所述实时网络带宽bandwidth大于所述实时视频码率bitrate,则设置所述播放所需数据量playsize的值为所述缓冲区数据最小值min。[0018]实施本发明的技术方案,具有以下有益效果:本发明使得在网络带宽确定的条件下,播放视频码率低的视频不用再缓冲和播放视频码率较高的视频时一样的数据大小,使播放更加流畅平滑;在视频码率确定的情况下,在网络带宽较好的情况下不用缓冲和网络环境较差时一样的数据大小,从而使播放更加流畅平滑。
【专利附图】

【附图说明】
[0019]下面通过参考附图并结合实例具体地描述本发明,本发明的优点和实现方式将会更加明显,其中附图所示内容仅用于对本发明的解释说明,而不构成对本发明的任何意义上的限制,在附图中:
[0020]图1为本发明网络播放数据缓冲方法流程图;
[0021]图2为本发明是否启动缓冲的判定流程图。
【具体实施方式】
[0022]如图1所示,本发明网络播放数据缓冲方法,包括步骤:
[0023]Al、设置缓冲区数据最小值min、缓冲区数据最大值max以及平滑播放时间playtime ;
[0024]A2、更新实时网络带宽bandwidth和实时视频码率bitrate,缓冲视频数据;
[0025]A3、根据所述平滑播放时间playtime和实时视频码率bitrate计算播放所需数据量 playsize ;
[0026]A4、如果所述当前缓冲数据量cur_data_size大于所述播放所需数据量playsize则执行步骤A5,否则执行步骤A2 ;
[0027]A5、停止缓冲视频数据并对所述视频数据进行解码输出;
[0028]A6、返回步骤A2。
[0029]如图2所示,在确定是否启动缓冲时,所述步骤A3还包括步骤:
[0030]A31、如果所述播放所需数据量playsize小于所述缓冲区数据最小值min,则设置所述播放所需数据量playsize的值为所述缓冲区数据最小值min。
[0031]A32、如果所述播放所需数据量playsize大于所述缓冲区数据最大值max,则设置所述播放所需数据量playsize的值为所述缓冲区数据最大值max。
[0032]A33、如果所述实时网络带宽bandwidth大于所述实时视频码率bitrate,则设置所述播放所需数据量playsize的值为所述缓冲区数据最小值min。
[0033]本发明确定网络播放何时进行数据缓冲时,使用如下的参数:
[0034]I)实时网络带宽 bandwidth (kbps)。
[0035]2)实时视频码率 bitrate (kbps)。
[0036]3)视频平均码率 average_bitrate (kbps)。
[0037]4)缓冲区数据最小值min (byte)。
[0038]5)缓冲区数据最大值max (byte)。
[0039]6)平滑播放时间 playtime (S)。
[0040]7)启动播放需要的数据量playsize (byte)。
[0041]8)当前缓冲数据量 cur_data_size (byte)。[0042]其中:
[0043]playsize=playtime*br。
[0044]进一步地优化是对上式计算出的playsize做限制:
[0045]I)视频刚开始播放时还没有计算出实时网络带宽和实时视频码率,所以设置laysize=min, 一是可以确保有足够的数据解码第一帧从而避免卡顿,二是防止网络带宽理想的情况下因缓冲数据太多而导致启动播放慢的问题。
[0046]2)要保证min〈playsize〈max的关系,max限制缓冲的数据不能太大,从而避免缓冲太多数据,占用过多内存,min限制最小数据量以避免播放中因数据太少卡顿或者音画不同步。
[0047]3)在播放的过程中,如果实时网络带宽大于实时视频码率,则设置playsize=min,这种情形下,视频播放流畅。
[0048]缓冲区数据最小值min、缓冲区数据最大值max、平滑播放时间playtime三个参数可以通过调用接口设置,如果播放器没有设置这三个值,则取默认的经验值。
[0049]根据不同的方案和需求,在实时网络带宽bandwidth小于实时视频码率bitrate的时候,视频无法流畅播放,肯定是需要缓冲的,这时有两种选择,一是缓冲很少的数据就开始播放,缓冲的时间比较短,但播放的时间比较少又开始缓冲;二是一次缓冲比较多的数据,缓冲的时间比较长,但是启动播放后可以播放较长的时间。“设置平滑播放时间”就是设置在暂停之后能流畅播放的时间,缓冲机制根据平滑播放时间和实时码率计算缓冲数据量的大小。设置最小缓冲值是为了在启动播放的时候有足够的数据解码,设置最大缓冲值是为了防止网络比较好的时候缓冲时间太长。在播放的过程中,根据最近1000次从网络读到的数据总量和总时间,计算出实时视频码率bitrate,因为同一个视频在不同的时间段码率是不一样的,所以需要计算实时码率,可以更加精确的计算当前缓冲的数据能播放多长时间。在播放的过程中根据最近100次从网络读到的数据和读数据所用的总时间计算实时网络带宽bandwidth,其作用是如果网络带宽比视频码率还要大,意味着当前网络能保证视频流畅播放而不需要缓冲,此时只需要保证缓冲够最小缓冲值min即可启动播放。现假设设置最大缓冲值max为20M,最小缓冲值为512KB,播放一个视频平均码率为IOOOKbps的视频,设置平滑播放时间15s,开始播放时由于没有计算出实时码率,设置playsize=min。假设视频播放20s后实时网络带宽bandwidth为500Kbps,实时视频码率bitrate为1500Kbps,那么启动播放的数据量为1500*15Kb,而且实时网络带宽bandwidth小于实时视频码率bitrate,512KB〈1500*15Kb〈20M,需要缓冲1500*15Kb数据才能启动播放。再假设播放10分钟后实时视频码率bitrate为500Kbps,而实时网络带宽为700Kbs,此时只需要保证缓冲数据达到512KB,这是为了防止网络不稳定导致数据突然减少引起的音视频不同步等问题,起到一个保护的作用。
[0050]本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。
【权利要求】
1.一种网络播放数据缓冲方法,其特征在于,包括步骤: Al、设置缓冲区数据最小值min、缓冲区数据最大值max以及平滑播放时间playtime ; A2、更新实时网络带宽bandwidth和实时视频码率bitrate,缓冲视频数据; A3、根据所述平滑播放时间playtime和实时视频码率bitrate计算播放所需数据量playsize ; A4、如果所述当前缓冲数据量cur_data_size大于所述播放所需数据量playsize则执行步骤A5,否则执行步骤A2 ; A5、停止缓冲视频数据并对所述视频数据进行解码输出; A6、返回步骤A2。
2.根据权利要求1所述的网络播放数据缓冲方法,其特征在于:所述步骤A3还包括步骤: A31、如果所述播放所需数据量playsize小于所述缓冲区数据最小值min,则设置所述播放所需数据量playsize的值为所述缓冲区数据最小值min。
3.根据权利要求2所述的网络播放数据缓冲方法,其特征在于:所述步骤A3还包括步骤: A32、如果所述播放所需数据量playsize大于所述缓冲区数据最大值max,则设置所述播放所需数据量playsize的值为所述缓冲区数据最大值max。
4.根据权利要求3所述的网络播放数据缓冲方法,其特征在于:所述步骤A3还包括步骤: A33、如果所述实时网络带宽bandwidth大于所述实时视频码率bitrate,则设置所述播放所需数据量playsize的值为所述缓冲区数据最小值min。
【文档编号】H04N21/462GK103841456SQ201310670385
【公开日】2014年6月4日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】魏宏强, 陈小川 申请人:珠海全志科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1