一种视频播放方法及装置的制造方法

文档序号:10539514阅读:737来源:国知局
一种视频播放方法及装置的制造方法
【专利摘要】本申请公开一种视频播放方法及装置。在该方法中,首先获取视频的播放状态,若所述视频的播放状态为卡顿状态,则扩展所述视频的视频缓冲区,并在视频缓冲过程中,将从服务器读取到的视频文件存储至扩展后的视频缓冲区中。通过本申请公开的视频播放方法及装置,能够在视频播放出现卡顿的情况下,扩展视频的视频缓冲区,并将视频文件存储至扩展后的视频缓冲区中,相对于现有技术来说,本申请中,通过扩展后的视频缓冲区,能够存储更多容量的视频文件,从而在视频恢复播放之后,缓解画面卡顿的现象。
【专利说明】
_种视频播放方法及装置
技术领域
[0001]本发明实施例涉及互联网技术领域,尤其涉及一种视频播放方法及装置。
【背景技术】
[0002]目前,观看视频成为一种常用的娱乐方式。用户可通过多种终端设备,如手机、平板电脑和智能电视等访问互联网,获取视频文件,并根据视频文件实现视频播放。
[0003]另外,受到网络抖动的影响,视频在播放过程中有时会出现画面卡顿的现象。这种情况下,为了提高观影体验,用户通常暂停视频播放,在暂停的时间段内,终端设备进行视频缓冲。所述视频缓冲指的是终端设备继续访问互联网,读取视频文件,并将读取到的视频文件存储至视频缓冲区。在恢复视频播放之后,终端设备读取所述视频缓冲区中存储的视频文件并播放,以缓解画面卡顿现象。
[0004]但是,发明人在本申请的研究过程中发现,采用现有技术进行视频播放时,若视频缓冲区的空间较小,则缓冲过程中只能存储较小容量的视频文件,在恢复视频播放之后,存储的视频文件播放结束后往往会再次出现画面卡顿。

【发明内容】

[0005]为克服相关技术中存在的问题,本发明实施例提供一种视频播放方法及装置。
[0006]为了解决上述技术问题,本发明实施例公开了如下技术方案:
[0007]根据本发明实施例的第一方面,提供一种视频播放方法,包括:
[0008]在视频播放过程中,获取所述视频的播放状态,其中,所述视频的播放状态包括:顺畅状态和卡顿状态;
[0009]若所述视频的播放状态为卡顿状态,扩展所述视频的视频缓冲区;
[0010]在所述视频缓冲的过程中,将从服务器读取到的视频文件存储至扩展后的所述视频缓冲区中。
[0011 ]优选的,所述扩展所述视频的视频缓冲区包括:
[0012]获取本次扩展所述视频的视频缓冲区时所需的扩展倍数m;
[0013]根据所述扩展倍数m扩展所述视频缓冲区,以使所述视频缓冲区扩展后的容量为扩展前的原始容量的m倍。
[0014]优选的,所述扩展所述视频的视频缓冲区包括:
[0015]获取所述视频在发生卡顿时,所述视频中未播放部分的容量,并且,获取当前的网速以及视频播放速率;
[0016]根据所述视频中未播放部分的容量、当前的网速和视频播放速度,计算所述视频在顺畅播放的情况下,需要缓冲的视频容量;
[0017]根据所述需要缓冲的视频容量,扩展所述视频缓冲区,以使扩展后的所述视频缓冲区的容量不小于所述需要缓冲的视频容量。
[0018]优选的,所述获取本次扩展所述视频的视频缓冲区时所需的扩展倍数m,包括:
[0019]获取终端设备当前的内存使用情况;
[0020]根据预设的内存使用情况和扩展倍数之间的映射关系,以及所述终端设备当前的内存使用情况,获取本次所需的扩展倍数m。
[0021]优选的,所述获取视频的播放状态,包括:
[0022]在所述视频播放过程中,若在预设的第一时间段内,所述视频出现η次以上的中断现象,则确定所述视频的播放状态为卡顿状态,其中,η为预设的整数;
[0023]或者,在所述视频播放过程中,若出现视频中断,且中断的时间超过预设的第二时间段,则确定所述视频的播放状态为卡顿状态。
[0024]优选的,所述扩展所述视频的视频缓冲区,包括:
[0025]获取扩展前的视频缓冲区的第一地址;
[0026]获取缓冲区中的空白缓冲区,并从所述空白缓冲区中查找目标缓冲区,其中,所述目标缓冲区的地址与所述第一地址最近,且所述目标缓冲区的容量为待扩展容量,将所述目标缓冲区作为视频缓冲区;
[0027]其中,设定扩展前的视频缓冲区的容量为原始容量,扩展后的视频缓冲区的容量为扩展后容量,所述扩展后容量与原始容量之间的差值为所述待扩展容量。
[0028]优选的,还包括:
[0029]在本次视频播放结束后,将所述视频缓冲区的容量调整至扩展前的原始容量;
[0030]或者,在扩展所述视频的视频缓冲区后,若确定所述视频的播放状态为顺畅状态,则将所述视频缓冲区的容量调整至扩展前的原始容量。
[0031 ]根据本发明实施例的第二方面,提供一种视频播放装置,包括:
[0032]播放状态获取模块,用于在视频播放过程中,获取所述视频的播放状态,其中,所述视频的播放状态包括:顺畅状态和卡顿状态;
[0033]缓冲区扩展模块,用于若所述视频的播放状态为卡顿状态,扩展所述视频的视频缓冲区;
[0034]存储模块,用于在所述视频缓冲的过程中,将从服务器读取到的视频文件存储至扩展后的所述视频缓冲区中。
[0035]优选的,所述缓冲区扩展模块包括:
[0036]扩展倍数获取单元,用于获取本次扩展所述视频的视频缓冲区时所需的扩展倍数m;
[0037]第一扩展单元,用于根据所述扩展倍数m扩展所述视频缓冲区,以使所述视频缓冲区扩展后的容量为扩展前的原始容量的m倍。
[0038]优选的,所述缓冲区扩展模块包括:
[0039]参数获取单元,用于获取所述视频在发生卡顿时,所述视频中未播放部分的容量,并且,获取当前的网速以及视频播放速率;
[0040]计算单元,用于根据所述视频中未播放部分的容量、当前的网速和视频播放速度,计算所述视频在顺畅播放的情况下,需要缓冲的视频容量;
[0041 ]第二扩展单元,用于根据所述需要缓冲的视频容量,扩展所述视频缓冲区,以使扩展后的所述视频缓冲区的容量不小于所述需要缓冲的视频容量。
[0042]优选的,所述扩展倍数获取单元包括:
[0043]第一获取子单元,用于获取终端设备当前的内存使用情况;
[0044]第二获取子单元,用于根据预设的内存使用情况和扩展倍数之间的映射关系,以及所述终端设备当前的内存使用情况,获取本次所需的扩展倍数m。
[0045]优选的,所述播放状态获取模块包括:
[0046]第一播放状态获取单元,用于在所述视频播放过程中,若在预设的第一时间段内,所述视频出现η次以上的中断现象,则确定所述视频的播放状态为卡顿状态,其中,η为预设的整数;
[0047]或者,第二播放状态获取单元,用于在所述视频播放过程中,若出现视频中断,且中断的时间超过预设的第二时间段,则确定所述视频的播放状态为卡顿状态。
[0048]I优选的,所述缓冲区扩展模块包括:
[0049]地址获取单元,用于获取扩展前的视频缓冲区的第一地址;
[0050]目标缓冲区获取单元,用于获取缓冲区中的空白缓冲区,并从所述空白缓冲区中查找目标缓冲区,其中,所述目标缓冲区的地址与所述第一地址最近,且所述目标缓冲区的容量为待扩展容量,将所述目标缓冲区作为视频缓冲区;
[0051]其中,设定扩展前的视频缓冲区的容量为原始容量,扩展后的视频缓冲区的容量为扩展后容量,所述扩展后容量与原始容量之间的差值为所述待扩展容量。
[0052]优选的,还包括:
[0053]第一调整模块,用于在本次视频播放结束后,将所述视频缓冲区的容量调整至扩展前的原始容量;
[0054]或者,第二调整模块,用于在扩展所述视频的视频缓冲区后,若确定所述视频的播放状态为顺畅状态,则将所述视频缓冲区的容量调整至扩展前的原始容量。
[0055]本发明的实施例提供的技术方案可以包括以下有益效果:
[0056]本申请公开一种视频播放方法及装置。该方法中,首先获取视频的播放状态,若所述视频的播放状态为卡顿状态,则扩展所述视频的视频缓冲区,并在视频缓冲过程中,将从服务器读取到的视频文件存储至扩展后的视频缓冲区中。
[0057]通过本申请公开的视频播放方法及装置,能够在视频播放出现卡顿的情况下,扩展视频的视频缓冲区,并将视频文件存储至扩展后的视频缓冲区中,相对于现有技术来说,本申请中,通过扩展后的视频缓冲区,能够存储更多容量的视频文件,从而在视频恢复播放之后,缓解画面卡顿的现象。
[0058]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
【附图说明】
[0059]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0060]图1是根据本发明一示例性实施例示出的一种视频播放方法的工作流程示意图;
[0061]图2是根据本发明一示例性实施例示出的一种视频播放方法中,扩展视频缓冲区的工作流程示意图;
[0062]图3是根据本发明一示例性实施例示出的一种视频播放装置的结构示意图。
【具体实施方式】
[0063]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0064]本申请公开一种视频播放方法及装置,以解决现有技术中,视频在播放过程中出现画面卡顿的问题。
[0065]本申请的实施例一公开一种视频播放方法。参见图1所示的工作流程示意图,所述视频播放方法包括以下步骤:
[0066]步骤S11、在视频播放过程中,获取所述视频的播放状态,其中,所述视频的播放状态包括:顺畅状态和卡顿状态。
[0067]步骤S12、若所述视频的播放状态为卡顿状态,扩展所述视频的视频缓冲区。
[0068]若所述视频的播放状态为卡顿状态,会影响用户的观影体验,因此,用户往往会对终端设备进行操作,使视频暂停播放。在暂停的时间内,终端设备仍然会从服务器中读取视频文件,并将读取到的视频文件存储至视频缓冲区中。这种情况下,为了能够在视频缓冲区中存储的较多的视频文件,本申请公开的方案中,需要扩展所述视频的视频缓冲区。
[0069]步骤S13、在所述视频缓冲的过程中,将从服务器读取到的视频文件存储至扩展后的所述视频缓冲区中。
[0070]本申请的第一实施例公开一种视频播放方法,该方法中,首先获取视频的播放状态,若所述视频的播放状态为卡顿状态,则扩展所述视频的视频缓冲区,并在视频缓冲过程中,将从服务器读取到的视频文件存储至扩展后的视频缓冲区中。
[0071]通过本申请公开的视频播放方法,能够在视频播放出现卡顿的情况下,扩展视频的视频缓冲区,并将视频文件存储至扩展后的视频缓冲区中,相对于现有技术来说,本申请中,通过扩展后的视频缓冲区,能够存储更多容量的视频文件,从而在视频恢复播放之后,缓解画面卡顿的现象。
[0072]本申请公开的视频播放方法中,公开了在视频的播放状态为卡顿状态时,扩展所述视频的视频缓冲区的步骤。该步骤可通过多种方式实现。
[0073]在其中一种方式中,所述扩展所述视频的视频缓冲区包括:
[0074]首先,获取本次扩展所述视频的视频缓冲区时所需的扩展倍数m;
[0075]然后,根据所述扩展倍数m扩展所述视频缓冲区,以使所述视频缓冲区扩展后的容量为扩展前的原始容量的m倍。
[0076]例如,若本次所需的扩展倍数m为2,这种情况下,根据所述扩展倍数m扩展所述视频缓冲区后,扩展后的视频缓冲区为扩展钱的原始容量的2倍。
[0077]在另一种方式中,所述扩展所述视频的视频缓冲区包括:将所述视频缓冲区的容量扩展至预设的容量。
[0078]这种情况下,需要预先对扩展后的视频缓冲区的容量进行设置,从而在扩展后,使所述视频缓冲区的容量达到所述预设的容量。
[0079]进一步的,在另一种方式中,参见图2所示的流程示意图,所述扩展所述视频的视频缓冲区包括以下步骤:
[0080]步骤S21、获取所述视频在发生卡顿时,所述视频中未播放部分的容量,并且,获取当前的网速以及视频播放速率。
[0081]步骤S22、根据所述视频中未播放部分的容量、当前的网速和视频播放速率,计算所述视频在顺畅播放的情况下,需要缓冲的视频容量。
[0082]由于在视频播放过程中,终端设备仍然能够从服务器中读取视频文件,因此,该步骤中,需要结合所述视频中未播放部分的容量、当前的网速和视频播放速度等各个因素,计算视频若顺畅播放,需要缓冲的视频容量。
[0083]步骤S23、根据所述需要缓冲的视频容量,扩展所述视频缓冲区,以使扩展后的所述视频缓冲区的容量不小于所述需要缓冲的视频容量。通常情况下,扩展后的视频缓冲区的容量通常等于所述需要缓冲的视频容量。
[0084]例如,若在步骤S21中,确定视频中未播放部分的容量为1MB,当前的网速为IMB/S,视频播放速度为2MB/S。这种情况下,可设置扩展后的视频缓冲区的容量为6MB。当视频暂停播放后,扩展后视频缓冲区中存储的视频文件为6MB,当恢复视频的播放后,由于视频播放速度为2MB/S,因此,经过3秒的时间,会将暂停播放时存储的视频文件播放完,但是,在这3秒的时间段内,由于当前的网速为1MB/S,则在播放过程中,视频缓冲区中又会存储3MB的视频文件,此时剩余的未缓冲的视频文件为1MB。而播放这3MB的视频文件的视频文件耗时为1.5秒,1.5秒的时间内,可在视频缓冲区中存储1.5MB的视频文件,多于所述剩余的未缓冲的视频文件。结合上述过程可知,若将视频缓冲区的容量扩展为6MB,即可实现视频的顺畅播放。
[0085]通过步骤S21至步骤S23的操作,能够实现对视频缓冲区的扩展,并且,通过该方式进行视频缓冲区的扩展,能够保障视频的顺畅播放。
[0086]另外,若本申请公开的视频播放方法中,根据扩展倍数m扩展所述视频缓冲区的容量,可预先设置扩展倍数m。这种情况下,需要预先对所述扩展倍数m进行设置并存储,当需要对视频缓冲区进行扩展时,根据预先的设置,确定所述扩展倍数m。该方法中,由于扩展倍数m预先设置并存储,因此可以快速获取所述扩展倍数m。
[0087]在另一种方式中,所述获取本次扩展所述视频的视频缓冲区时所需的扩展倍数m,包括以下步骤:
[0088]首先,获取终端设备当前的内存使用情况;
[0089]然后,根据预设的内存使用情况和扩展倍数之间的映射关系,以及所述终端设备当前的内存使用情况,获取本次所需的扩展倍数m。
[0090]在该方式中,需要预先设定内存使用情况和扩展倍数之间的映射关系。在该映射关系中,通常设定内存使用率较高的情况下,所对应的扩展倍数m较小,而所述内存使用率较低的情况下,所对应的扩展倍数m较大。
[0091]通过上述方式,能够根据终端设备的内存使用情况,灵活的扩展视频缓冲区。其中,若终端设备的内存使用率较高,则终端设备中其他程序可能需要占用较多的缓冲空间,这种情况下,在映射关系中,设定其对应的扩展倍数m较小,从而使视频缓冲区的扩展幅度较小,能够为其他程序预留较多缓冲空间。若终端设备的内存使用率较低,则终端设备中其他程序占用的缓冲空间可能较小,这种情况下,在映射关系中,设定其对应的扩展倍数m较大,从而使视频缓冲区的扩展幅度较大。
[0092]进一步的,本申请公开的视频播放方法中,需要获取视频的播放状态,以便根据所述视频的播放状态确定是否需要扩展视频缓冲区。本申请中,可通过多种方法获取视频的播放状态。
[0093]在其中一种方式中,所述获取视频的播放状态包括:
[0094]在所述视频播放过程中,若在预设的第一时间段内,所述视频出现η次以上的中断现象,则确定所述视频的播放状态为卡顿状态,其中,η为预设的整数。
[0095]例如,若预设的第一时间段为10分钟,η为3,则在视频播放过程中,10分钟之内视频出现3次或更多次中断,则确定视频的播放状态为卡顿状态。
[0096]相应的,这种情况下,若所述视频未出现中断现象,或者视频虽然出现中断现象,但是在预设的第一时间段内,视频中断的次数少于η次,则确定视频的播放状态为顺畅状
??τ O
[0097]或者,在另一种方式中,所述获取视频的播放状态包括:
[0098]在所述视频播放过程中,若出现视频中断,且中断的时间超过预设的第二时间段,则确定所述视频的播放状态为卡顿状态。
[0099]例如,可设定第二时间段为I分钟,则在视频播放过程中,若视频中断的时间超过I分钟,则确定所述视频的播放状态为卡顿状态。
[0100]相应的,这种情况下,若所述视频未出现中断现象,或者视频虽然出现中断现象,但是视频中断的时间未超过所述预设的第二时间段,则能够确定视频的播放状态为顺畅状
??τ O
[0101]通过上述公开的方案,能够获取视频的播放状态,以便后续根据所述视频的播放状态,确定是否扩展视频缓冲区。
[0102]进一步的,在本申请公开的视频播放方法中,所述扩展所述视频的视频缓冲区包括:
[0103]首先,获取扩展前的视频缓冲区的第一地址;
[0104]然后,获取缓冲区中的空白缓冲区,并从所述空白缓冲区中查找目标缓冲区,其中,所述目标缓冲区的地址与所述第一地址最近,且所述目标缓冲区的容量为待扩展容量,将所述目标缓冲区作为视频缓冲区。
[0105]其中,设定扩展前的视频缓冲区的容量为原始容量,扩展后的视频缓冲区的容量为扩展后容量,所述扩展后容量与原始容量之间的差值为所述待扩展容量。
[0106]例如,若在扩展前,视频缓冲区的容量为1MB,扩展后的视频缓冲区的容量为30ΜΒ,则所述原始容量为1MB,所述扩展后容量为30ΜΒ,所述待扩展容量为20ΜΒ。在获取所述第一地址后,在整个缓冲区中,查询与所述第一地址最接近,且容量为20ΜΒ的缓冲区域作为目标缓冲区,并将该目标缓冲区扩展为视频缓冲区。
[0107]这种情况下,若扩展前的视频缓冲区与目标缓冲区之间不存在被占用的缓冲区域,则所述扩展前的视频缓冲区的结束地址为所述目标缓冲区的开始地址,从而便于实现对视频文件的存储。
[0108]另外,在另一种扩展方式中,还可以根据原始容量和扩展容量获取待扩展容量,然后在空白缓冲区中任意选取容量为所述待扩展容量的缓冲区域,将其作为目标缓冲区,并将所述目标缓冲区作为视频缓冲区,从而实现对视频缓冲区的扩展。
[0109]进一步的,本申请公开的视频播放方法还包括:
[0110]在本次视频播放结束后,将所述视频缓冲区的容量调整至扩展前的原始容量。
[0111]或者,本申请公开的视频播放方法还包括:在扩展所述视频的视频缓冲区后,若确定所述视频的播放状态为顺畅状态,则将所述视频缓冲区的容量调整至扩展前的原始容量。
[0112]在扩展视频缓冲区后,从服务器中读取的视频文件存储在扩展后的视频缓冲区中,这种情况下,终端设备中存储的视频文件的容量较大,从而在清除视频缓冲区中的视频文件时,会耗费较多时间,甚至在清除过程中会影响终端设备的响应速度。因此,本申请公开的视频播放方法中,在本次视频播放结束后,执行将所述视频缓冲区的容量调整至扩展前的原始容量的操作,以便下次视频播放时,仍然采用原始容量的视频缓冲区进行视频的缓冲,或者,在视频播放状态为顺畅状态时,将所述视频缓冲区的容量调整中扩展前的原始容量,避免在视频缓冲区中存储较大容量的视频文件,减少后续清除视频缓冲区中的视频文件所耗费的时间。
[0113]相应的,本申请的第二实施例公开一种视频播放装置,参见图3所示的结构示意图,所述视频播放装置包括:播放状态获取模块100、缓冲区扩展模块200和存储模块300。
[0114]其中,所述播放状态获取模块100,用于在视频播放过程中,获取所述视频的播放状态,其中,所述视频的播放状态包括:顺畅状态和卡顿状态;
[0115]所述缓冲区扩展模块200,用于若所述视频的播放状态为卡顿状态,扩展所述视频的视频缓冲区;
[0116]所述存储模块300,用于在所述视频缓冲的过程中,将从服务器读取到的视频文件存储至扩展后的所述视频缓冲区中。
[0117]通过本申请公开的视频播放装置,能够在视频播放出现卡顿的情况下,扩展视频的视频缓冲区,并将视频文件存储至扩展后的视频缓冲区中,相对于现有技术来说,本申请中,通过扩展后的视频缓冲区,能够存储更多容量的视频文件,从而在视频恢复播放之后,缓解画面卡顿的现象。
[0118]另外,在本申请公开的视频播放装置中,在视频的播放状态为卡顿状态时,通过所述缓冲区扩展模块扩展所述视频的视频缓冲区。其中,所述缓冲区扩展模块可为多种形式。
[0119]在其中一种形式中,所述缓冲区扩展模块包括:扩展倍数获取单元和第一扩展单
J L ο
[0120]其中,所述扩展倍数获取单元,用于获取本次扩展所述视频的视频缓冲区时所需的扩展倍数m;
[0121 ]所述第一扩展单元,用于根据所述扩展倍数m扩展所述视频缓冲区,以使所述视频缓冲区扩展后的容量为扩展前的原始容量的m倍。
[0122]例如,若本次所需的扩展倍数m为2,这种情况下,根据所述扩展倍数m扩展所述视频缓冲区后,扩展后的视频缓冲区为扩展钱的原始容量的2倍。
[0123]在另一种形式中,所述缓冲区扩展模块包括:参数获取单元、计算单元和第二扩展单元。
[0124]参数获取单元,用于获取所述视频在发生卡顿时,所述视频中未播放部分的容量,并且,获取当前的网速以及视频播放速率;
[0125]计算单元,用于根据所述视频中未播放部分的容量、当前的网速和视频播放速度,计算所述视频在顺畅播放的情况下,需要缓冲的视频容量;
[0126]第二扩展单元,用于根据所述需要缓冲的视频容量,扩展所述视频缓冲区,以使扩展后的所述视频缓冲区的容量不小于所述需要缓冲的视频容量。
[0127]由于在视频播放过程中,终端设备仍然能够从服务器中读取视频文件,因此,所述计算单元需要结合所述视频中未播放部分的容量、当前的网速和视频播放速度等各个因素,计算视频若顺畅播放,需要缓冲的视频容量。
[0128]例如,若确定视频中未播放部分的容量为1MB,当前的网速为1MB/S,视频播放速度为2MB/S。这种情况下,可设置扩展后的视频缓冲区的容量为6MB。当视频暂停播放后,扩展后视频缓冲区中存储的视频文件为6MB,当恢复视频的播放后,由于视频播放速度为2MB/S,因此,经过3秒的时间,会将暂停播放时存储的视频文件播放完,但是,在这3秒的时间段内,由于当前的网速为1MB/S,则在播放过程中,视频缓冲区中又会存储3MB的视频文件,此时剩余的未缓冲的视频文件为1MB。而播放这3MB的视频文件的视频文件耗时为1.5秒,1.5秒的时间内,可在视频缓冲区中存储1.5MB的视频文件,多于所述剩余的未缓冲的视频文件。结合上述过程可知,若将视频缓冲区的容量扩展为6MB,即可实现视频的顺畅播放。
[0129]通过参数获取单元、计算单元和第二扩展单元,能够实现对视频缓冲区的扩展,并且,通过上述三个单元进行视频缓冲区的扩展,能够保障视频的顺畅播放。
[0130]若本申请公开的视频播放方法中,根据扩展倍数m扩展所述视频缓冲区的容量,可预先设置扩展倍数m。这种情况下,所述扩展倍数获取单元预先对所述扩展倍数m进行设置并存储,当需要对视频缓冲区进行扩展时,根据预先的设置,确定所述扩展倍数m。
[0131]另外,在另一种形式中,所述扩展倍数获取单元包括:
[0132]第一获取子单元,用于获取终端设备当前的内存使用情况;
[0133]第二获取子单元,用于根据预设的内存使用情况和扩展倍数之间的映射关系,以及所述终端设备当前的内存使用情况,获取本次所需的扩展倍数m。
[0134]通过第一获取子单元和第二获取子单元,能够根据终端设备的内存使用情况,灵活的扩展视频缓冲区。其中,若终端设备的内存使用率较高,则终端设备中其他程序可能需要占用较多的缓冲空间,这种情况下,在映射关系中,设定其对应的扩展倍数m较小,从而使视频缓冲区的扩展幅度较小,能够为其他程序预留较多缓冲空间。若终端设备的内存使用率较低,则终端设备中其他程序占用的缓冲空间可能较小,这种情况下,在映射关系中,设定其对应的扩展倍数m较大,从而使视频缓冲区的扩展幅度较大。
[0135]进一步的,本申请公开的视频播放装置中,需要通过播放状态获取模块获取视频的播放状态,其中,所述播放状态获取模块包括:
[0136]第一播放状态获取单元,用于在所述视频播放过程中,若在预设的第一时间段内,所述视频出现η次以上的中断现象,则确定所述视频的播放状态为卡顿状态,其中,η为预设的整数。
[0137]或者,所述播放状态获取模块包括:第二播放状态获取单元,用于在所述视频播放过程中,若出现视频中断,且中断的时间超过预设的第二时间段,则确定所述视频的播放状态为卡顿状态。
[0138]进一步的,所述缓冲区扩展模块包括:
[0139]地址获取单元,用于获取扩展前的视频缓冲区的第一地址;
[0140]目标缓冲区获取单元,用于获取缓冲区中的空白缓冲区,并从所述空白缓冲区中查找目标缓冲区,其中,所述目标缓冲区的地址与所述第一地址最近,且所述目标缓冲区的容量为待扩展容量,将所述目标缓冲区作为视频缓冲区;
[0141]其中,设定扩展前的视频缓冲区的容量为原始容量,扩展后的视频缓冲区的容量为扩展后容量,所述扩展后容量与原始容量之间的差值为所述待扩展容量。
[0142]例如,若在扩展前,视频缓冲区的容量为1M B,扩展后的视频缓冲区的容量为30MB,则所述原始容量为1MB,所述扩展后容量为30MB,所述待扩展容量为20MB。在获取所述第一地址后,在整个缓冲区中,查询与所述第一地址最接近,且容量为20MB的缓冲区域作为目标缓冲区,并将该目标缓冲区扩展为视频缓冲区。
[0143]这种情况下,若扩展前的视频缓冲区与目标缓冲区之间不存在被占用的缓冲区域,则所述扩展前的视频缓冲区的结束地址为所述目标缓冲区的开始地址,从而便于实现对视频文件的存储。
[0144]另外,所述缓冲区扩展模块还可以根据原始容量和扩展容量获取待扩展容量,然后在空白缓冲区中任意选取容量为所述待扩展容量的缓冲区域,将其作为目标缓冲区,并将所述目标缓冲区作为视频缓冲区,从而实现对视频缓冲区的扩展。
[0145]进一步的,本申请公开的视频播放装置还包括:
[0146]第一调整模块,用于在本次视频播放结束后,将所述视频缓冲区的容量调整至扩展前的原始容量;
[0147]或者,第二调整模块,用于在扩展所述视频的视频缓冲区后,若确定所述视频的播放状态为顺畅状态,则将所述视频缓冲区的容量调整至扩展前的原始容量。
[0148]在扩展视频缓冲区后,从服务器中读取的视频文件存储在扩展后的视频缓冲区中,这种情况下,终端设备中存储的视频文件的容量较大,从而在清除视频缓冲区中的视频文件时,会耗费较多时间,甚至在清除过程中会影响终端设备的响应速度。
[0149]因此,本申请公开的视频播放装置中,在本次视频播放结束后,通过所述第一调整模块将所述视频缓冲区的容量调整至扩展前的原始容量的操作,以便下次视频播放时,仍然采用原始容量的视频缓冲区进行视频的缓冲,或者,在视频播放状态为顺畅状态时,通过所述第二调整模块将所述视频缓冲区的容量调整中扩展前的原始容量,避免在视频缓冲区中存储较大容量的视频文件,减少后续清除视频缓冲区中的视频文件所耗费的时间。
[0150]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0151]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0152]应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【主权项】
1.一种视频播放方法,其特征在于,包括: 在视频播放过程中,获取所述视频的播放状态,其中,所述视频的播放状态包括:顺畅状态和卡顿状态; 若所述视频的播放状态为卡顿状态,扩展所述视频的视频缓冲区; 在所述视频缓冲的过程中,将从服务器读取到的视频文件存储至扩展后的所述视频缓冲区中。2.根据权利要求1所述的视频播放方法,其特征在于,所述扩展所述视频的视频缓冲区包括: 获取本次扩展所述视频的视频缓冲区时所需的扩展倍数m; 根据所述扩展倍数m扩展所述视频缓冲区,以使所述视频缓冲区扩展后的容量为扩展前的原始容量的m倍。3.根据权利要求1所述的视频播放方法,其特征在于,所述扩展所述视频的视频缓冲区包括: 获取所述视频在发生卡顿时,所述视频中未播放部分的容量,并且,获取当前的网速以及视频播放速率; 根据所述视频中未播放部分的容量、当前的网速和视频播放速度,计算所述视频在顺畅播放的情况下,需要缓冲的视频容量; 根据所述需要缓冲的视频容量,扩展所述视频缓冲区,以使扩展后的所述视频缓冲区的容量不小于所述需要缓冲的视频容量。4.根据权利要求2所述的视频播放方法,其特征在于,所述获取本次扩展所述视频的视频缓冲区时所需的扩展倍数m,包括: 获取终端设备当前的内存使用情况; 根据预设的内存使用情况和扩展倍数之间的映射关系,以及所述终端设备当前的内存使用情况,获取本次所需的扩展倍数m。5.根据权利要求1所述的视频播放方法,其特征在于,所述获取视频的播放状态,包括: 在所述视频播放过程中,若在预设的第一时间段内,所述视频出现η次以上的中断现象,则确定所述视频的播放状态为卡顿状态,其中,η为预设的整数; 或者, 在所述视频播放过程中,若出现视频中断,且中断的时间超过预设的第二时间段,则确定所述视频的播放状态为卡顿状态。6.根据权利要求1所述的视频播放方法,其特征在于,所述扩展所述视频的视频缓冲区,包括: 获取扩展前的视频缓冲区的第一地址; 获取缓冲区中的空白缓冲区,并从所述空白缓冲区中查找目标缓冲区,其中,所述目标缓冲区的地址与所述第一地址最近,且所述目标缓冲区的容量为待扩展容量,将所述目标缓冲区作为视频缓冲区; 其中,设定扩展前的视频缓冲区的容量为原始容量,扩展后的视频缓冲区的容量为扩展后容量,所述扩展后容量与原始容量之间的差值为所述待扩展容量。7.根据权利要求1至6任一项所述的视频播放方法,其特征在于,还包括: 在本次视频播放结束后,将所述视频缓冲区的容量调整至扩展前的原始容量; 或者, 在扩展所述视频的视频缓冲区后,若确定所述视频的播放状态为顺畅状态,则将所述视频缓冲区的容量调整至扩展前的原始容量。8.一种视频播放装置,其特征在于,包括: 播放状态获取模块,用于在视频播放过程中,获取所述视频的播放状态,其中,所述视频的播放状态包括:顺畅状态和卡顿状态; 缓冲区扩展模块,用于若所述视频的播放状态为卡顿状态,扩展所述视频的视频缓冲区; 存储模块,用于在所述视频缓冲的过程中,将从服务器读取到的视频文件存储至扩展后的所述视频缓冲区中。9.根据权利要求8所述的视频播放装置,其特征在于,所述缓冲区扩展模块包括: 扩展倍数获取单元,用于获取本次扩展所述视频的视频缓冲区时所需的扩展倍数m; 第一扩展单元,用于根据所述扩展倍数m扩展所述视频缓冲区,以使所述视频缓冲区扩展后的容量为扩展前的原始容量的m倍。10.根据权利要求8所述的视频播放装置,其特征在于,所述缓冲区扩展模块包括: 参数获取单元,用于获取所述视频在发生卡顿时,所述视频中未播放部分的容量,并且,获取当前的网速以及视频播放速率; 计算单元,用于根据所述视频中未播放部分的容量、当前的网速和视频播放速度,计算所述视频在顺畅播放的情况下,需要缓冲的视频容量; 第二扩展单元,用于根据所述需要缓冲的视频容量,扩展所述视频缓冲区,以使扩展后的所述视频缓冲区的容量不小于所述需要缓冲的视频容量。11.根据权利要求9所述的视频播放装置,其特征在于,所述扩展倍数获取单元包括: 第一获取子单元,用于获取终端设备当前的内存使用情况; 第二获取子单元,用于根据预设的内存使用情况和扩展倍数之间的映射关系,以及所述终端设备当前的内存使用情况,获取本次所需的扩展倍数m。12.根据权利要求8所述的视频播放装置,其特征在于,所述播放状态获取模块包括: 第一播放状态获取单元,用于在所述视频播放过程中,若在预设的第一时间段内,所述视频出现η次以上的中断现象,则确定所述视频的播放状态为卡顿状态,其中,η为预设的整数; 或者, 第二播放状态获取单元,用于在所述视频播放过程中,若出现视频中断,且中断的时间超过预设的第二时间段,则确定所述视频的播放状态为卡顿状态。13.根据权利要求8所述的视频播放装置,其特征在于,所述缓冲区扩展模块包括: 地址获取单元,用于获取扩展前的视频缓冲区的第一地址; 目标缓冲区获取单元,用于获取缓冲区中的空白缓冲区,并从所述空白缓冲区中查找目标缓冲区,其中,所述目标缓冲区的地址与所述第一地址最近,且所述目标缓冲区的容量为待扩展容量,将所述目标缓冲区作为视频缓冲区; 其中,设定扩展前的视频缓冲区的容量为原始容量,扩展后的视频缓冲区的容量为扩展后容量,所述扩展后容量与原始容量之间的差值为所述待扩展容量。14.根据权利要求8至13任一项所述的视频播放装置,其特征在于,还包括: 第一调整模块,用于在本次视频播放结束后,将所述视频缓冲区的容量调整至扩展前的原始容量; 或者, 第二调整模块,用于在扩展所述视频的视频缓冲区后,若确定所述视频的播放状态为顺畅状态,则将所述视频缓冲区的容量调整至扩展前的原始容量。
【文档编号】H04N21/433GK105898536SQ201610284532
【公开日】2016年8月24日
【申请日】2016年4月29日
【发明人】曹先进
【申请人】乐视控股(北京)有限公司, 乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1