FLV视频的码率切换方法、装置、电子设备及存储介质与流程

文档序号:18739876发布日期:2019-09-21 01:39阅读:344来源:国知局
FLV视频的码率切换方法、装置、电子设备及存储介质与流程

本公开涉及视频播放技术领域,尤其涉及一种FLV视频的码率切换方法、装置、电子设备及存储介质。



背景技术:

目前FLV(Flash Video,流媒体格式)逐渐成为主流的视频播放方式。FLV由连续的数据流组成,基本单位为GOP(Group Of Picture,画面组),其中,一个GOP的时长是固定的,即两个I帧之间的时间间隔。

目前,相关技术中在对播放过程中的FLV视频的码率进行切换,都是通过人工实现的。码率的高低,都是通过视频播放的清晰度体现出来的,人工调整码率就是人工调整清晰度的过程。通常的情况是:在按用户设置的清晰度进行FLV视频播放的过程中,如果出现卡顿,用户可以手动修改播放器的清晰度,以保证视频播放的流畅度。例如:用户先设置的清晰度为高清,在FLV视频播放的过程中出现了卡顿,用户手动将播放器的清晰度修改为标清,也就是降低码率以保证视频播放的流畅度。同一个视频的不同码率,具有不同的下载地址,切换码率也就是视频下载地址的切换。

可见,相关技术中的这种视频码率切换方法,是在卡顿出现后由人工进行切换的,视频播放的连续性不够高。



技术实现要素:

本公开提供一种FLV视频的码率切换方法、装置、电子设备及存储介质,以至少解决相关技术中在FLV视频播放连续性不够高的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种FLV视频的码率切换方法,包括:

获取当前网络下载FLV视频的当前下载速度;

根据所述当前下载速度,从预设的多个码率中,确定出目标码率;

根据所述目标码率和所述FLV视频的当前码率是否相同,判断是否需要进行码率切换;

如果需要进行码率切换,则在下载完所述当前码率的当前GOP后,终止所述当前码率的所述FLV视频的下载,将所述当前码率切换为所述目标码率。

在一种具体的实施例中,所述根据所述当前下载速度,从预设的多个码率中,确定出目标码率的步骤,包括:

将小于所述当前下载速度且与所述当前下载速度的差值最小的码率确定为目标码率。

在一种具体的实施例中,所述根据所述目标码率和所述FLV视频的当前码率是否相同,判断是否需要进行码率切换的步骤,包括:

判断所述目标码率和所述FLV视频的当前码率的码率值是否相同;

如果所述目标码率和所述FLV视频的当前码率的码率值不相同,则判断当前已缓存的待播放数据是否满足预设的切换条件;如果当前已缓存的待播放数据满足所述预设的切换条件,则需要进行码率切换;

如果所述目标码率和所述FLV视频的当前码率的码率值相同,则不需要进行码率切换。

在一种具体的实施例中,所述预设的切换条件为:

当所述当前码率的码率值低于所述目标码率的码率值时,要求已缓存的待播放数据的播放时长大于或等于预设的第一缓存时长,其中,所述第一缓存时长大于一个GOP的时长;

当所述当前码率的码率值高于所述目标码率的码率值时,要求已缓存的待播放数据的播放时长小于预设的第二缓存时长,其中,所述第二缓存时长大于或等于一个GOP的时长且小于所述第一缓存时长。

在一种具体的实施例中,在所述获取当前网络下载FLV视频的当前下载速度的步骤之前,还包括:

获取当前网络下载的FLV视频的配置文件;所述配置文件中包含:所述预设的多个码率中每一码率对应的码率值,和所述码率值与保存有所述码率的FLV视频的服务器地址之间的对应关系。

在一种具体的实施例中,所述将所述当前码率切换为所述目标码率的步骤,包括:

从所述配置文件中,获取保存有所述目标码率的FLV视频的目标服务器的地址;

获取所述当前GOP结束后下一个GOP对应的目标时间戳;

根据获取的所述目标时间戳,向所述目标服务器发出获取所述目标时间戳对应的GOP的视频数据下载请求,所述视频数据下载请求中包含所述目标码率的码率值和所述目标时间戳;

接收所述目标服务器发送的所述视频数据,其中,所述视频数据为所述目标码率中时间戳为所述目标时间戳的当前网络下载的FLV视频的视频数据;

将接收到的所述视频数据存储至缓存。

根据本公开实施例的第二方面,提供一种FLV视频的码率切换装置,包括:

下载速度获取单元,被配置为执行获取当前网络下载FLV视频的当前下载速度;

确定单元,被配置为执行根据所述当前下载速度,从预设的多个码率中,确定出目标码率;

判断单元,被配置为执行根据所述目标码率和所述FLV视频的当前码率是否相同,判断是否需要进行码率切换;

切换单元,被配置为执行当需要进行码率切换时,在下载完所述当前码率的当前GOP后,终止所述当前码率的所述FLV视频的下载,将所述当前码率切换为所述目标码率。

在一种具体的实施例中,所述确定单元,被配置为执行:

将小于所述当前下载速度且与所述当前下载速度的差值最小的码率确定为目标码率。

在一种具体的实施例中,所述判断单元,被配置为执行:

判断所述目标码率和所述FLV视频的当前码率的码率值是否相同;

如果所述目标码率和所述FLV视频的当前码率的码率值不相同,则判断当前已缓存的待播放数据是否满足预设的切换条件;如果当前已缓存的待播放数据满足所述预设的切换条件,则需要进行码率切换;

如果所述目标码率和所述FLV视频的当前码率的码率值相同,则不需要进行码率切换。

在一种具体的实施例中,所述预设的切换条件为:

当所述当前码率的码率值低于所述目标码率的码率值时,要求已缓存的待播放数据的播放时长大于或等于预设的第一缓存时长,其中,所述第一缓存时长大于一个GOP的时长;

当所述当前码率的码率值高于所述目标码率的码率值时,要求已缓存的待播放数据的播放时长小于预设的第二缓存时长,其中,所述第二缓存时长大于或等于一个GOP的时长且小于所述第一缓存时长。

在一种具体的实施例中,所述FLV视频的码率切换装置,还包括:

配置文件获取单元,被配置为执行获取当前网络下载的FLV视频的配置文件;所述配置文件中包含:所述预设的多个码率中每一码率对应的码率值,和所述码率值与保存有所述码率的FLV视频的服务器地址之间的对应关系。

在一种具体的实施例中,所述切换单元,被配置为执行:

从所述配置文件中,获取保存有所述目标码率的FLV视频的目标服务器的地址;

获取所述当前GOP结束后下一个GOP对应的目标时间戳;

根据获取的所述目标时间戳,向所述目标服务器发出获取所述目标时间戳对应的GOP的视频数据下载请求;所述视频数据下载请求中包含所述目标码率的码率值和所述目标时间戳;

接收所述目标服务器发送的所述视频数据,其中,所述视频数据为所述目标码率中时间戳为所述目标时间戳的当前网络下载的FLV视频的视频数据;

将接收到的所述视频数据存储至缓存。

根据本公开实施例的第三方面,提供一种电子设备,其特征在于,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

获取当前网络下载FLV视频的当前下载速度;

根据所述当前下载速度,从预设的多个码率中,确定出目标码率;

根据所述目标码率和所述FLV视频的当前码率是否相同,判断是否需要进行码率切换;

如果需要进行码率切换,则在下载完所述当前码率的当前GOP后,终止所述当前码率的所述FLV视频的下载,将所述当前码率切换为所述目标码率。

根据本公开实施例的第四方面,提供一种当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行以下步骤:

获取当前网络下载FLV视频的当前下载速度;

根据所述当前下载速度,从预设的多个码率中,确定出目标码率;

根据所述目标码率和所述FLV视频的当前码率是否相同,判断是否需要进行码率切换;

如果需要进行码率切换,则在下载完所述当前码率的当前GOP后,终止所述当前码率的所述FLV视频的下载,将所述当前码率切换为所述目标码率。

本公开的实施例提供的技术方案至少带来以下有益效果:在FLV视频播放的过程中,实现根据用户的网络环境自适应的对码率进行切换。由于本公开的实施例提供的技术方案,可以实现在视频播放的过程中,根据用户的当前网络环境自适应的切换播放视频的清晰度,在网络环境好的时候播放高清晰度的视频,在网络环境差的时候将视频的播放清晰度由较高清晰度的自动切换到适应当时网络环境的清晰度,从而保证了用户观看的连续性,有效避免了卡顿的出现。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种FLV视频的码率切换方法的流程图。

图2是根据一示例性实施例示出的另一种FLV视频的码率切换方法的流程图。

图3是根据一示例性实施例示出的一种FLV视频的码率切换装置的框图。

图4是根据一示例性实施例示出的另一种FLV视频的码率切换装置的框图。

图5是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种FLV视频的码率切换方法的流程图,如图1所示,该FLV视频的码率切换方法用于客户端中,包括以下步骤:

在步骤S101中,获取当前网络下载FLV视频的当前下载速度。

在实际应用中,在FLV视频播放前,播放器会先下载该FLV视频的配置文件,从中获取一个该FLV视频的默认服务器地址,并开始从该服务器地址下载视频数据进行播放。

在步骤S102中,根据当前下载速度,从预设的多个码率中,确定出目标码率。

在一种具体的实施例中,根据当前下载速度,从预设的多个码率中,确定出目标码率的步骤,可以包括:

将小于当前下载速度且与当前下载速度的差值最小的码率确定为目标码率。

在步骤S103中,根据该目标码率和FLV视频的当前码率是否相同,判断是否需要进行码率切换。

在一种具体的实施例中,根据目标码率和FLV视频的当前码率是否相同,判断是否需要进行码率切换的步骤,可以包括:

判断目标码率和FLV视频的当前码率的码率值是否相同;

如果目标码率和FLV视频的当前码率的码率值不相同,则判断当前已缓存的待播放数据是否满足预设的切换条件;如果当前已缓存的待播放数据满足预设的切换条件,则需要进行码率切换;

如果目标码率和FLV视频的当前码率的码率值相同,则不需要进行码率切换。

在实际应用中,预设的切换条件可以为:

当当前码率的码率值低于目标码率的码率值时,要求已缓存的待播放数据的播放时长大于或等于预设的第一缓存时长,其中,第一缓存时长大于一个GOP的时长;

当当前码率的码率值高于目标码率的码率值时,要求已缓存的待播放数据的播放时长小于预设的第二缓存时长,其中,第二缓存时长大于或等于一个GOP的时长且小于第一缓存时长。

其中,已缓存的待播放数据的播放时长,可以是根据已缓存的待播放数据的数据量和当前码率计算获取的。

在步骤S104中,如果需要进行码率切换,则在下载完当前码率的当前GOP后,终止当前码率的FLV视频的下载,将当前码率切换为目标码率。

在一种具体的实施例中,将当前码率切换为目标码率的步骤,可以包括:

从配置文件中,获取保存有目标码率的FLV视频的目标服务器的地址;

获取当前GOP结束后下一个GOP对应的目标时间戳;

根据获取的目标时间戳,向目标服务器发出获取目标时间戳对应的GOP的视频数据下载请求;视频数据下载请求中包含目标码率的码率值和目标时间戳;

接收目标服务器发送的视频数据,其中,该视频数据为目标码率中时间戳为目标时间戳的当前网络下载的FLV视频的视频数据;

将接收到的视频数据存储至缓存。

本公开的实施例提供的技术方案,在FLV视频播放的过程中,实现根据用户的网络环境自适应的对码率进行切换。由于本公开的实施例提供的技术方案,可以实现在视频播放的过程中,根据用户的当前网络环境自适应的切换播放视频的清晰度,在网络环境好的时候播放高清晰度的视频,在网络环境差的时候将视频的播放清晰度由较高清晰度的自动切换到适应当时网络环境的清晰度,从而保证了用户观看的连续性,有效避免了卡顿的出现。

以下列举一个具体的实施例,对本公开实施例提供的FLV视频的码率切换方法做进一步详细的说明。

图2是根据一示例性实施例示出的另一种FLV视频的码率切换方法的流程图,如图2所示,该FLV视频的码率切换方法,包括以下步骤:

在步骤S201中,获取当前网络下载的FLV视频的配置文件。

在该实施例中,FLV视频可以是直播视频。

在实际应用中,在播放器获取FLV视频前,会先获取一个配置文件,具体的是一个manifest文件,该manifest文件中包含:预设的多个码率中每一码率对应的码率值,和码率值与保存有该码率的FLV视频的服务器地址也就是下载地址之间的对应关系。通常播放器会选择一个默认的下载地址开始下载FLV视频,通常该默认的下载地址为预设的多个码率中码率最低的码率对应的下载地址。

在步骤S202中,获取当前网络下载FLV视频的当前下载速度。

在一种具体的实施例中,获取当前网络下载FLV视频的当前下载速度的方法可以是:用在预设时间段内下载该FLV视频的数据量和预设时间段相比,获取当前网络下载FLV视频的当前下载速度。比如:用5秒内下载该FLV视频的数据量除以5秒,获取当前网络下载FLV视频的当前下载速度。

在步骤S203中,根据当前下载速度,从预设的多个码率中,确定出目标码率。

通常,同一个FLV视频预设的多个码率中,所有码率的GOP时间长度相同;所有码率的GOP对应的时间戳相同;所有码率对应的数据流的编码格式相同,例如:所有码率的GOP时间长度都是3秒,所有码率对应的数据流的编码格式都是H264或者都是H265等。

在一种具体的实施例中,根据当前下载速度,从预设的多个码率中,确定出目标码率的步骤,可以包括:

将小于当前下载速度且与当前下载速度的差值最小的码率确定为目标码率。

在另一种具体的实施例中,还可以按照以下步骤从预设的多个码率中,确定出目标码率:

根据当前下载速度,确定参考下载速度;其中,参考下载速度小于当前下载速度;

针对每一码率,判断参考下载速度减去码率后的差值,与当前下载速度的当前比值是否在预设的区间范围内;

如果当前比值在预设的区间范围内,则确定该码率为目标码率。

在实际应用中,根据当前下载速度,确定参考下载速度的方式可以为:将当前下载速度与预设的小于100%的数值相乘,确定参考下载速度。比如:将当前下载速度的80%,确定为参考下载速度。

比值的计算公式可以为:如果该比值越小,则表明该码率越接近参考下载速度。在一种具体的实施例中可以将在预设范围中比值最小时对应的码率确定为目标码率,该预设范围可以为0到当前下载速度的10%。

例1:预设的码率有:4000kpbs、5000kpbs、6000kpbs、7500kpbs,当前码率4000kpbs,当前下载速度为10240kpbs。参考下载速度=80%当前下载速度=8192kpbs,由于因此,确定7500kpbs为目标码率。

例1:预设的码率有:4000kpbs、5000kpbs、6000kpbs、7500kpbs,当前码率6000kpbs,当前下载速度为7000kpbs。参考下载速度=80%当前下载速度=5600kpbs,由于

因此,确定5000kpbs为目标码率。

在步骤S204中,获取FLV视频的当前码率。

在一种具体的实施例中,可以是在根据当前下载速度,从预设的多个码率中,确定出目标码率的步骤之前,获取FLV视频的当前码率。在另一种具体的实施例中,还可以是在获取当前网络下载FLV视频的当前下载速度之前,获取FLV视频的当前码率。本发明实施例并不限定获取FLV视频的当前码率这一步骤的顺序,只要步骤S205之前获取到FLV视频的当前码率即可。

在步骤S205中,判断当前码率和目标码率的码率值是否相同;如果当前码率和目标码率的码率值不相同,则执行步骤S206;如果当前码率和目标码率的码率值相同,则执行步骤S215。

在步骤S206中,判断当前码率的码率值是否低于目标码率的码率值;如果当前码率的码率值低于目标码率的码率值,则执行步骤S207;如果当前码率的码率值高于目标码率的码率值,则执行步骤S208。

在步骤S207中,判断已缓存的待播放数据的播放时长是否大于或等于预设的第一缓存时长;如果已缓存的待播放数据的播放时长大于或等于预设的第一缓存时长,则执行步骤S209,如果已缓存的待播放数据的播放时小于预设的第一缓存时长,则执行步骤S215,其中,第一缓存时长大于一个GOP的时长。

在步骤S208中,判断已缓存的待播放数据的播放时长是否小于预设的第二缓存时长;如果已缓存的待播放数据的播放时长小于预设的第二缓存时长,则执行步骤S209,如果已缓存的待播放数据的播放时长大于或等于预设的第二缓存时长,则执行步骤S215,其中,第二缓存时长大于或等于一个GOP的时长,小于第一缓存时长。

具体的,已缓存的待播放数据的播放时长,是根据已缓存的待播放数据的数据量和当前码率计算获取的。设置缓存时长是为了保证在进行码率切换时,防止出现卡顿。

GOP为FLV视频的基本单位,一个GOP即为一个多媒体数据帧,由一个I帧(Intra-coded picture,帧内编码图像帧)、多个P帧(Predictive-coded Picture,预测编码图像帧)和多个B帧(Bidirectionally-predicted picture,双向预测编码图像帧)组成,I帧为关键帧,P帧为前向预测帧,B帧为双向内插帧。一个多媒体数据帧中的关键帧通常是一个完整的画面,而一个多媒体数据帧中的P帧和B帧主要用于记录相对于关键帧的变化,没有关键帧则无法解码获取P帧和B帧。

在实际应用中,在FLV视频中GOP的时长通常是固定的,为两个I帧之间的时间间隔,通常一个GOP的时长为2~3秒。

在一种具体的实施例中,一个GOP的时长可以为3秒,第一缓存时长可以为4秒,第二缓存时长可以为3秒。

在步骤S209中,从配置文件中,获取保存有目标码率的FLV视频的目标服务器的地址。

在步骤S210中,获取当前GOP结束后下一个GOP对应的目标时间戳。

在步骤S211中,根据获取的目标时间戳,向目标服务器发出获取目标时间戳对应的GOP的视频数据下载请求;其中,视频数据下载请求中可以包含目标码率的码率值和目标时间戳。

在实际应用中,可能因为数据丢失等原因目标服务器中,可能会缺少一些GOP。通常情况下,如果目标服务器中有目标时间戳对应的GOP的视频数据时,会将目标时间戳对应的GOP的视频数据发送给发出下载请求的客户端;如果目标服务器中没有目标时间戳对应的GOP的视频数据时,会将第一个时间戳大于目标时间戳的GOP的视频数据发送给发出下载请求的客户端。比如:目标时间戳为2,目标服务器中没有时间戳为2的GOP,目标服务器中第一个比目标时间戳2大的时间戳为3,那么,目标服务器会将时间戳为3的GOP的视频数据发送给发出下载请求的客户端。

在步骤S212中,接收目标服务器发送的视频数据。

在步骤S213中,将接收到的视频数据存储至缓存。

在步骤S214中,在缓存中标识视频数据对应的码率;以使播放器在播放完缓存中前一个码率下载的视频数据后,可以根据视频数据对应的码率,将视频数据的解码信息发送给与其对应的解码器进行解码。播放器播放解码后的视频数据。

在步骤S215中,继续下载当前码率的FLV视频。

具体的,可以将接收到的视频数据按照TAG(帧)为单位,存储至缓存队列中前一个码率下载的视频数据后,在该缓存中标识视频数据的对应的码率,即标识缓存中视频数据的index(索引)发生了变化,当播放器播放完该缓存队列中前一个码率下载的视频数据后,可以根据缓存中的标识获知视频数据对应的码率发生变化,从而,在新流数据解码之前把新流的metadata(元数据),也就是新流的高和宽等信息告知解码器,以保证解码器能够正常工作,实现无缝切换。

本公开的实施例提供的技术方案,在FLV视频播放的过程中,实现根据用户的网络环境自适应的对码率进行切换。由于本公开的实施例提供的技术方案,可以实现在视频播放的过程中,根据用户的当前网络环境自适应的切换播放视频的清晰度,在网络环境好的时候播放高清晰度的视频,在网络环境差的时候将视频的播放清晰度由较高清晰度的自动切换到适应当时网络环境的清晰度,从而保证了用户观看的连续性,有效避免了卡顿的出现。

图3是根据一示例性实施例示出的一种FLV视频的码率切换装置的框图。参照图3,该装置包括下载速度获取单元301,确定单元302,判断单元303和切换单元304。

下载速度获取单元301,被配置为执行获取当前网络下载FLV视频的当前下载速度;

确定单元302,被配置为执行根据当前下载速度,从预设的多个码率中,确定出目标码率;

判断单元303,被配置为执行根据所述目标码率和所述FLV视频的当前码率是否相同,判断是否需要进行码率切换;

切换单元304,被配置为执行当需要进行码率切换时,在下载完当前码率的当前GOP后,终止当前码率的FLV视频的下载,将当前码率切换为目标码率。

在一个具体的实施例中,确定单元302,具体可以被配置为执行:

将小于当前下载速度且与当前下载速度的差值最小的码率确定为目标码率。

在一个具体的实施例中,判断单元303,具体被配置为执行:

判断所述目标码率和所述FLV视频的当前码率的码率值是否相同;

如果所述目标码率和所述FLV视频的当前码率的码率值不相同,则判断当前已缓存的待播放数据是否满足预设的切换条件;如果当前已缓存的待播放数据满足所述预设的切换条件,则需要进行码率切换;

如果所述目标码率和所述FLV视频的当前码率的码率值相同,则不需要进行码率切换。

在一个具体的实施例中,预设的切换条件可以为:

当所述当前码率的码率值低于所述目标码率的码率值时,要求已缓存的待播放数据的播放时长大于或等于预设的第一缓存时长,其中,所述第一缓存时长大于一个GOP的时长;

当所述当前码率的码率值高于所述目标码率的码率值时,要求已缓存的待播放数据的播放时长小于预设的第二缓存时长,其中,所述第二缓存时长大于或等于一个GOP的时长且小于所述第一缓存时长。

图4是根据一示例性实施例示出的另一种FLV视频的码率切换装置的框图。参照图4,该装置还可以包括:配置文件获取单元401。

该配置文件获取单元401,被配置为执行获取当前网络下载的FLV视频的配置文件;配置文件中包含:预设的多个码率中每一码率对应的码率值,和码率值与保存有码率的FLV视频的服务器地址之间的对应关系。

在一个具体的实施例中,切换单元304,具体可以被配置为执行:

从配置文件中,获取保存有目标码率的FLV视频的目标服务器的地址;

获取当前GOP结束后下一个GOP对应的目标时间戳;

根据获取的目标时间戳,向目标服务器发出获取目标时间戳对应的GOP的视频数据下载请求;视频数据下载请求中包含目标码率的码率值和目标时间戳;

接收目标服务器发送的视频数据,其中,该视频数据为目标码率中时间戳为目标时间戳的当前网络下载的FLV视频的视频数据;

将接收到的视频数据存储至缓存。

关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开的实施例提供的装置,在FLV视频播放的过程中,实现根据用户的网络环境自适应的对码率进行切换。由于本公开的实施例提供的装置,可以实现在视频播放的过程中,根据用户的当前网络环境自适应的切换播放视频的清晰度,在网络环境好的时候播放高清晰度的视频,在网络环境差的时候将视频的播放清晰度由较高清晰度的自动切换到适应当时网络环境的清晰度,从而保证了用户观看的连续性,有效避免了卡顿的出现。

图5是根据一示例性实施例示出的一种电子设备的框图。参照图5,该电子设备可以包括:

处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:

获取当前网络下载FLV视频的当前下载速度;

根据当前下载速度,从预设的多个码率中,确定出目标码率;

根据目标码率和FLV视频的当前码率是否相同,判断是否需要进行码率切换;

如果需要进行码率切换,则在下载完当前码率的当前GOP后,终止当前码率的FLV视频的下载,将当前码率切换为目标码率。

本公开的实施例提供的电子设备,在FLV视频播放的过程中,实现根据用户的网络环境自适应的对码率进行切换。由于本公开的实施例提供的电子设备,可以实现在视频播放的过程中,根据用户的当前网络环境自适应的切换播放视频的清晰度,在网络环境好的时候播放高清晰度的视频,在网络环境差的时候将视频的播放清晰度由较高清晰度的自动切换到适应当时网络环境的清晰度,从而保证了用户观看的连续性,有效避免了卡顿的出现。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本公开提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一FLV视频的码率切换方法的步骤。

在本公开提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一FLV视频的码率切换方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1