一种视频下载和播放的方法、装置、设备和存储介质与流程

文档序号:18598415发布日期:2019-09-03 22:20阅读:159来源:国知局
一种视频下载和播放的方法、装置、设备和存储介质与流程

本发明实施例涉及视频处理领域,尤其涉及一种视频下载和播放的方法、装置、设备和存储介质。



背景技术:

流媒体传输的传输协议包括超文本传输协议(hypertexttransferprotocol,http),超文本传输协议包括但不限于基于http协议的流媒体网络传输协议(httplivestreaming,hls)、国际标准中的动态图像专家组(movingpictureexpertsgroup,mpeg)、基于http协议的动态自适应流(dynamicadaptivestreamingoverhttp,mpeg-dash)和微软http视频流(microsoftsmoothstreaming,mss)等;按照预设时长将整体的音视频文件切分成多个小视频数据段(ts文件),并对每个小视频数据段采用多种预设码率进行编码,此时每一视频数据段存在多个码率挡位供客户端选择下载;但是由于网络状态的不稳定性,对各个小视频数据段分段下载时采用的码率选择策略会在很大程度上影响视频的播放流畅性。

目前,客户端需要播放视频时,首先需要下载待播放视频中的各个小视频数据段,此时在每次下载当前小视频数据段时,通常先对当前小视频数据段之前的历史小视频数据段在下载时的平均带宽作平滑处理,并将平滑结果作为选择当前小视频数据段的码率挡位的依据;而由于网络带宽的变化是无法判断的,即使对历史下载带宽作平滑处理也无法得知下载当前小视频数据段时的准确带宽,而且网络带宽存在抖动的特点,会导致历史下载带宽的平滑结果也存在抖动情况,因此对于各个小视频数据段所选择的码率也在不断变化,导致视频播放时的流畅性较低,容易造成播放卡顿,严重影响用户对视频的观看体验。



技术实现要素:

本发明实施例提供了一种视频下载和播放的方法、装置、设备和存储介质,实现视频在不同码率挡位下的自适应分段下载,提高视频播放的流畅性。

第一方面,本发明实施例提供了一种视频下载的方法,该方法包括:

确定当前分段视频下载后的剩余缓存长度以及待下载的下一分段视频的分段播放时长;

根据所述剩余缓存长度和所述分段播放时长在下一分段视频对应的码率挡位中自适应选取出最符合当前网络状态的下载码率;

根据确定的下载码率下载下一分段视频。

第二方面,本发明实施例提供了一种视频播放的方法,该方法包括:

执行如第一方面中所述的视频下载的方法,得到下载后的分段视频;

播放下载后的分段视频。

第三方面,本发明实施例提供了一种视频下载的装置,该装置包括:

信息确定模块,用于确定当前分段视频下载后的剩余缓存长度以及待下载的下一分段视频的分段播放时长;

下载码率确定模块,用于根据所述剩余缓存长度和所述分段播放时长在下一分段视频对应的码率挡位中自适应选取出最符合当前网络状态的下载码率;

视频下载模块,用于根据确定的下载码率下载下一分段视频。

第四方面,本发明实施例提供了一种视频播放的装置,该装置包括:

视频下载模块,用于执行如第一方面中所述的视频下载的方法,得到下载后的分段视频;

视频播放模块,用于播放下载后的分段视频。

第五方面,本发明实施例提供了一种视频处理系统,该系统包括:客户端和资源服务端;

所述客户端上设置有如第三方面中所述的视频下载的装置和如第四方面中所述的视频播放的装置;所述资源服务端依次向所述客户端下发待播放视频中在下载码率下的分段视频。

第六方面,本发明实施例提供了一种设备,该设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第一方面中所述的视频下载的方法,或者实现本发明第二方面中所述的视频播放的方法。

第七方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面中所述的视频下载的方法,或者实现本发明第二方面中所述的视频播放的方法。

本发明实施例提供了一种视频下载和播放的方法、装置、设备和存储介质,首先确定出当前分段视频下载后的剩余缓存长度以及下一分段视频的分段播放时长,进而根据剩余缓存长度和分段播放时长在下一分段视频对应的码率挡位中自适应选取出最符合当前网络状态的下载码率,根据该下载码率下载下一分段视频,此时同时考虑各分段播放状态和实时下载网络状态,保证不同分段视频在自适应码率下的分段下载,避免现有技术中仅根据历史分段视频的网络带宽确定下一分段视频的下载码率,而造成各分段视频的码率不断变化,使得播放卡顿的问题,本方案能够根据播放器状态中的剩余缓存长度和分段播放时长更好的利用实时下载网络状态为下一分段视频选择出合适的下载码率,在充分利用当前网络状态的基础上,提高分段视频的下载清晰度;此时再播放下载后的分段视频时,避免下载不及时造成的播放卡顿,保证视频播放的流畅性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明实施例提供的一种视频下载和播放的方法所适用的应用场景的场景架构图;

图2a为本发明实施例一提供的一种视频下载的方法的流程图;

图2b为本发明实施例二提供的视频下载过程的原理示意图;

图3a为本发明实施例二提供的一种视频下载的方法的流程图;

图3b为本发明实施例二提供的视频下载过程的原理示意图;

图4a为本发明实施例三提供的一种视频下载的方法的流程图;

图4b为本发明实施例三提供的视频下载过程的原理示意图;

图5为本发明实施例四提供的一种视频播放的方法的流程图;

图6为本发明实施例五提供的一种视频下载的装置的结构示意图;

图7为本发明实施例六提供的一种视频播放的装置的结构示意图;

图8为本发明实施例七提供的一种视频处理系统的结构示意图;

图9为本发明实施例八提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

本发明实施例中主要针对由于网络带宽的变化无法判断,使得各个分段视频的下载码率随着网络带宽而不断变化,导致视频播放的流畅性较低,容易造成播放卡顿的问题,本发明实施例采用一种启发式的自适应码率选择控制算法,同时根据视频播放过程中的播放器状态和网络状态,确定下一分段视频的下载码率,在充分利用网络状态的基础上,保证分段视频的下载清晰度,实现视频在不同码率下的自适应分段下载,并提高视频播放的流畅性。

图1为本发明实施例提供的一种视频下载和播放的方法所适用的应用场景的场景架构图。具体的,参考图1,该应用场景中可以包括客户端10和资源服务端20。

其中,客户端10上配置有用于视频下载和播放的各类视频软件,如支持直播或者点播视频的播放器应用程序等,用户通过在客户端10上执行对应的直播参与或者视频点播的操作,向资源服务端20请求下载对应的视频;资源服务端20为任一种采用http协议分段存储各个用户上传的视频数据的文件服务器,该资源服务端20对于任一用户上传的视频数据均会按照预设时长进行切分,同时设定不同分段视频的下载顺序,并对切分后的每一分段视频采用多种码率进行转码编码,使得每一分段视频均对应有多种码率以供客户端选择下载。

具体的,客户端10根据用户对视频执行的下载或播放操作,向资源服务端20请求分段下载对应的视频,此时资源服务器20首先会向客户端10下发对应视频的分段顺序以及各分段视频的播放状态信息,以初始化客户端10中的播放器状态,此时客户端在已下载当前分段视频,请求下载下一分段视频时,会根据视频播放过程中的播放器状态中的剩余缓存长度和下一分段视频的分段播放时长,在下一分段视频对应的码率挡位中自适应选取出最符合当前网络状态的下载码率,进而向资源服务端20请求下载该下载码率下的下一分段视频;进而资源服务端20查找出该下载码率下的下一分段视频下发给客户端10;客户端10后续直接播放下载后的不同下载码率下的各个分段视频,在充分利用网络状态的基础上,保证分段视频的下载清晰度,实现视频在不同码率下的自适应分段下载,并提高视频播放的流畅性。

本发明实施例对于客户端10对视频进行下载和播放的具体操作可以在下述视频下载和播放的方法中进行详细的解释说明,在此不作具体介绍。

实施例一

图2a为本发明实施例一提供的一种视频下载的方法的流程图,本实施例可应用于通过任一种播放器进行网络直播或者视频点播的情况中。本实施例提供的一种视频下载的方法可以由本发明实施例提供的视频下载的装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行本方法的设备中,该设备可以是配置有任一种用于网络直播或视频点播的视频应用的客户端,该客户端可以是手机、平板电脑或笔记本等任一种智能终端。

具体的,参考图2a,该方法可以包括如下步骤:

s210,确定当前分段视频下载后的剩余缓存长度以及待下载的下一分段视频的分段播放时长。

具体的,本实施例主要针对根据当前的网络带宽选择对应的码率来下载各个分段视频时,造成的不同分段视频的码率随网络带宽不断变化,使得视频播放的流畅性较低而播放卡顿的问题,首先资源服务端中对用户上传的任一视频进行分段存储,如用户直播上传的视频、录制分享给其他用户的小视频或者各类影视作品等,资源服务端按照预设时长对各个视频进行分段,并采用多种预设码率对每一分段视频进行重新编码,此时任一视频中的每一分段视频均存在多种码率挡位供客户端选择下载。

在本实施例中,客户端在对任一视频进行播放时,首先会向资源服务端请求下载该视频,而由于资源服务端分段存储该视频,为了保证该视频的下载完整性,资源服务端会先向客户端下发该视频对应的元数据,该元数据可以包括该视频中的分段顺序以及所包含的各个分段视频的播放属性信息,如各分段视频的分段播放时长、分段播放起止时间戳等;此时客户端可以根据该视频的元数据,初始化自身配置的播放器,也就是在播放器中预先根据分段顺序和各分段视频的分段播放时长设置本次请求下载播放的视频中包含的各个分段视频的位置,从而实时更新视频播放过程中的播放器状态。

此外,由于客户端会通过预设的缓存区来缓存已下载的分段视频,此时缓存区的剩余缓存长度也会影响到下一分段视频的下载效率,因此本实施例在每下载完一个分段视频时,均会对应记录缓存区在存储当前下载的分段视频后的剩余缓存长度,从而更新视频播放过程中的播放器状态。

可选的,为了确保分段视频的下载效率,本实施例在下载完当前分段视频,需要下载下一分段视频时,首先会查询当前的播放器状态,也就是确定出在当前分段视频下载后,缓存区中用于存储下一分段视频的剩余缓存长度,以及待下载的下一分段视频的分段播放时长,以便后续能够充分利用当前的下载网络环境。

s220,根据剩余缓存长度和分段播放时长在下一分段视频对应的码率挡位中自适应选取出最符合当前网络状态的下载码率。

具体的,当前网络状态为在客户端在下载完当前分段视频,请求下载下一分段视频时对应的当前时刻下的网络传输状态,以便在下载下一分段视频时,充分利用当前的网络传输环境,防止下载时间过长导致的播放卡顿;由于资源服务端在对上传的视频进行分段存储时,会采用多种预设码率对每一分段视频进行重新编码,此时每一分段视频均存在多种码率挡位供客户端选择下载,在请求下载分段视频时,资源服务端会预先将各个分段视频对应的多种码率挡位下发给客户端,由客户端进行选择下载对应码率挡位下的分段视频。

可选的,在下载下一分段视频时确定对应的剩余缓存长度和分段播放时长后,由于缓存区的剩余缓存长度和分段播放时长也会对视频下载效率产生一定影响,如在剩余缓存长度较小时会由于已存储的容量过大而导致视频下载较慢等;此时在考虑需要下载下一分段视频时所处的当前时刻的当前网络状态的同时,还额外考虑剩余缓存长度和分段播放时长对下载效率的影响,以在下一分段视频对应的多种码率挡位中自适应选取出最适合当前网络状态的下载码率,使得下一分段视频的下载效率能够达到最高;如在剩余缓存长度较大时,能够满足视频的快速下载,此时可以在下一分段视频的多种码率挡位中选取出适当高出当前网络状态下的下载码率,作为下一分段视频的码率,此时该下载码率能够在充分利用当前网络传输环境的基础上,还最大可能的保证下一分段视频的清晰度。

示例性的,本实施例中为了提高网络传输的效率,需要对下载下一分段视频的当前网络状态进行准确分析,此时在考虑网络带宽的基础上,还需要进一步考虑网络延时的影响,因此本实施例中的网络状态可以包括网络带宽和网络延时两种类型;此时,如图2b所示,在根据剩余缓存长度和分段播放时长在下一分段视频对应的码率挡位中自适应选取出最符合当前网络状态的下载码率之前,本实施例还可以包括:根据当前分段视频在下载时的网络带宽和网络延时,确定下一分段视频在下载时对应的当前网络状态中的下一带宽参数和下一延时参数。

具体的,在下载完当前分段视频,请求下载下一分段视频时,为了能够自适应选取出最符合当前网络状态的下载码率,首先需要对当前时刻下的网络状态进行判断,此时在已下载当前分段视频后,可以获取到在下载当前分段视频时,该当前分段视频对应估计的下载网络状态以及实际下载的网络状态,进而根据当前分段视频对应估计的下载网络状态以及实际下载的网络状态,也就是当前分段视频在下载时的网络带宽和网络延时,估算出下一分段视频在下载时对应的当前网络状态中的下一带宽参数和下一延时参数,以便后续通过综合分析下一带宽参数和下一延时参数,准确判断下载下一分段视频的网络传输状况,从而在下一分段视频的当前网络传输状况的基础上,加上分段播放时长和剩余缓存长度的正向或负向影响,确定出下一分段视频中最适合当前网络状态的下载码率,此时在充分利用网络传输的基础上,尽可能的提高下一分段视频的下载清晰度。

s230,根据确定的下载码率下载下一分段视频。

可选的,在确定下一分段视频的下载码率后,直接向资源服务端请求多种码率下的下一分段视频中包含的经过该下载码率重新编码的下一分段视频,使得客户端在资源服务端中下载该下载码率下的下一分段视频。

示例性的,如图2b所示,本实施例中根据确定的下载码率下载下一分段视频,具体可以包括:向资源服务端发送对下一分段视频的下载请求;接收资源服务端下发的在下载码率下的下一分段视频。

其中,下载请求中携带下一分段视频的下载码率;具体的,客户端在确定下一分段视频的下载码率后,根据该下载码率生成对下一分段视频的下载请求,并将该下载请求发送给资源服务端,由资源服务端在下一分段视频对应的多种码率挡位下选择出该下载码率的下一分段视频,并下发给客户端,客户端接收资源服务端下发的在该下载码率下的下一分段视频,完成下一分段视频的下载。

本实施例提供的技术方案,首先确定出当前分段视频下载后的剩余缓存长度以及下一分段视频的分段播放时长,进而根据剩余缓存长度和分段播放时长在下一分段视频对应的码率挡位中自适应选取出最符合当前网络状态的下载码率,根据该下载码率下载下一分段视频,此时同时考虑各分段播放状态和实时下载网络状态,保证不同分段视频在自适应码率下的分段下载,避免现有技术中仅根据历史分段视频的网络带宽确定下一分段视频的下载码率,而造成各分段视频的码率不断变化,使得播放卡顿的问题,本方案能够根据播放器状态中的剩余缓存长度和分段播放时长更好的利用实时下载网络状态为下一分段视频选择出合适的下载码率,在充分利用当前网络状态的基础上,提高分段视频的下载清晰度。

实施例二

图3a为本发明实施例二提供的一种视频下载的方法的流程图,图3b为本发明实施例二提供的视频下载过程的原理示意图。本实施例是在上述实施例的基础上进行优化,本实施例主要对下一分段视频的下载码率的具体确定过程进行详细的解释说明。

可选的,如图3a所示,本实施例可以包括如下步骤:

s310,确定当前分段视频下载后的剩余缓存长度以及待下载的下一分段视频的分段播放时长。

s320,根据当前分段视频在下载时的网络带宽和网络延时,确定下一分段视频在下载时对应的当前网络状态中的下一带宽参数和下一延时参数。

s330,根据下一带宽参数、下一延时参数和分段播放时长,在下一分段视频对应的码率挡位中确定满足预设条件下的码率参考挡位。

可选的,由于资源服务端中在分段存储视频时,会预先采用多种码率对每一分段视频进行重新编码,因此每一分段视频均对应有多种码率挡位。此时在下载完当前分段视频,需要下载下一分段视频时,为了保证下一分段视频的准确下载,此时设置本实施例中的预设条件为在多种码率挡位中的实际下载带宽小于等于下一分段视频的网络带宽,从而保证下一分段视频快速下载的码率挡位,此时首先根据下一分段视频的下一带宽参数、下一延时参数和分段播放时长,判断下一带宽参数和多种码率挡位对应下的实际下载带宽之间的关系,进而在多种码率挡位中确定出下一分段视频满足预设条件下的码率参考挡位,以便后续在码率参考挡位中继续确定出最适合当前网络传输的下载码率。

示例性的,如图3b所示,本实施例中根据下一带宽参数、下一延时参数和分段播放时长,确定下一分段视频满足预设条件下的码率参考挡位,具体可以包括:根据下一延时参数和分段播放时长,计算下一分段视频对应的各预设码率挡位下的带宽下限参数;如果带宽下限参数小于等于下一带宽参数,则将该带宽下限参数对应的预设码率挡位作为下一分段视频的码率参考挡位。

具体的,预设码率挡位为下一分段视频进行重新编码采用的多种码率,本实施例可以根据下一分段视频的各个预设码率挡位、下一延时参数和分段播放时长,计算下一分段视频在各个预设码率挡位下的实际下载带宽,也就是本实施例中的带宽下限参数;此时如果带宽下限参数小于等于下一带宽参数,则确定该带宽下限参数对应的预设码率挡位满足预设条件,则将将该带宽下限参数对应的预设码率挡位作为下一分段视频的码率参考挡位,按照上述步骤对每一预设码率挡位的带宽下限参数进行判断,从而得到下一分段视频满足预设条件下全部的码率参考挡位。示例性的,本实施例的预设条件为其中,为下一分段视频的下一带宽参数,为下一分段视频的下一延时参数,ri为下一分段视频对应的各个预设码率挡位,di为下一分段视频的分段播放时长,此时通过公式计算每一预设码率挡位下对应的带宽下限参数,如果该带宽下限参数小于等于下一带宽参数则将该带宽下限参数对应的预设码率挡位ri作为下一分段视频的码率参考挡位,以得到初始的码率判断结果。

s340,判断剩余缓存长度是否大于等于第一长度阈值,且小于等于第二长度阈值,若是,执行s360;若否,执行s350。

可选的,为了准确分析剩余缓存长度对下载速率的影响,如图3b所示,本实施例通过预先设置的第一长度阈值和第二长度阈值将缓存区中的剩余缓存长度分成三个区间,随着分段视频的下载,缓存区的剩余缓存长度不断减小,此时在每个区间采用不同的方式确定下一分段视频的下载码率;此时第一长度阈值为在剩余缓存长度较小时设置的防卡顿阈值,在剩余缓存长度小于第一长度阈值的区间内,分段视频的下载较慢,在播放时容易造成卡顿;第二长度阈值为在剩余缓存长度较大时设置的防抖动阈值,在剩余缓存长度大于第二长度阈值的区间内,由于缓存区的剩余空间较大,能够保证分段视频的较快下载;此时针对在下载下一分段视频时缓存区的剩余缓存长度不同,能够采用不同得下载码率确定方式来判断下一分段视频的下载码率,以在充分利用网络传输的基础上,保证下一分段视频的下载清晰度。此时,本实施例中缓存区根据第一长度阈值和第二长度阈值分成对应的防卡顿区域、常规区域和防抖动区域,不同区域采用不同的码率确定方式,从而避免下一分段视频在播放时的卡顿和抖动。

s350,根据码率参考挡位和当前分段视频的下载码率,确定下一分段视频的下载码率。

具体的,如果剩余缓存长度没有大于等于第一长度阈值,且小于等于第二长度阈值,此时包括剩余缓存长度小于第一长度阈值,或者剩余缓存长度大于第二长度阈值两种情况,此时缓存区中的剩余缓存长度处于上限区间或者下限区间内,此时在码率参考挡位的基础上,还需要考虑已下载的当前分段视频的下载码率,在不同区间内对应在码率参考挡位和当前分段视频的下载码率中选取对应的码率作为下一分段视频的下载码率。

示例性的,本实施例对剩余缓存长度小于第一长度阈值,或者剩余缓存长度大于第二长度阈值两种情况分别进行分析:

1)在剩余缓存长度小于第一长度阈值时,如果码率参考挡位均小于等于当前分段视频的下载码率,则选取码率参考挡位中的最大码率作为下一分段视频的下载码率;否则将当前分段视频的下载码率作为下一分段视频的下载码率。

具体的,在剩余缓存长度小于第一长度阈值时,说明此时缓存区中的剩余缓存长度过小,使得分段视频的下载较慢,在播放时容易造成卡顿,因此不支持在当前分段视频的下载码率上,继续采用更高的码率下载下一分段视频,此时判断初始确定满足预设条件的码率参考挡位是否均小于等于当前分段视频的下载码率,若是,则直接选取该码率参考挡位中的最大码率作为下一分段视频的下载码率;若否,说明该码率参考挡位存在超出当前分段视频的下载码率的码率挡位,但不支持下一分段视频的下载码率高于当前分段视频的下载码率,因此直接将当前分段视频的下载码率作为下一分段视频的下载码率。

2)在剩余缓存长度大于第二长度阈值时,如果码率参考挡位均小于等于当前分段视频的下载码率,则将当前分段视频的下载码率作为下一分段视频的下载码率;否则选取码率参考挡位中的最大码率作为下一分段视频的下载码率。

具体的,在剩余缓存长度大于第二长度阈值时,说明缓存区中的剩余缓存长度过大,能够满足下一分段视频在更大清晰度下的下载,因此支持采用比满足预设条件的码率参考挡位较高的码率下载下一分段视频,此时判断初始确定满足预设条件的码率参考挡位是否均小于等于当前分段视频的下载码率,若是,则直接将当前分段视频的下载码率作为下一分段视频的下载码率,以保证下一分段视频的在高清晰度下的下载;若否,说明初始确定满足预设条件的码率参考挡位中存在比当前分段视频的下载码率更高的码率,此时直接选取码率参考挡位中的最大码率作为下一分段视频的下载码率。

s360,选取码率参考挡位中的最大码率作为下一分段视频的下载码率。

可选的,如果剩余缓存长度大于等于第一长度阈值,且小于等于第二长度阈值,此时处于缓存区的中间区间内,不考虑已下载的当前分段视频的下载码率,直接在初始确定的满足预设条件的码率参考挡位中选取出最大码率作为下一分段视频的下载码率,在充分利用网络传输的基础上,保证下一分段视频的下载清晰度。

s370,根据确定的下载码率下载下一分段视频。

本实施例提供的技术方案,通过第一长度阈值和第二长度阈值将缓存区分为三个区间,其中包括对应的防卡顿区域和防抖动区域,在剩余缓存长度处于不同区间时采用不同的码率确定方式,在满足预设条件的码率参考挡位和已下载的当前分段视频的下载码率中选取对应的码率,作为下一分段视频的下载码率,在充分利用网络传输的基础上,避免下一分段视频在播放时的卡顿和抖动,保证下一分段视频的下载清晰度。

实施例三

图4a为本发明实施例三提供的一种视频下载的方法的流程图,图4b为本发明实施例三提供的视频下载过程的原理示意图。本实施例是在上述实施例的基础上进行优化,本实施例主要对下一分段视频的下一带宽参数和下一延时参数的具体确定过程进行详细的解释说明。

可选的,如图4a所示,本实施例可以包括如下步骤:

s410,确定当前分段视频下载后的剩余缓存长度以及待下载的下一分段视频的分段播放时长。

s420,根据当前分段视频的当前带宽参数和实际下载带宽以及预设带宽平滑参数,确定下一分段视频的下一带宽参数。

具体的,本实施例在确定下一分段视频的下一带宽参数时,通过对已下载的当前分段视频的网络状态进行分析,得到当前分段视频根据上一分段视频的网络状态确定的当前带宽参数以及当前分段视频在下载时的实际下载带宽,进而根据预设带宽平滑参数对当前分段视频的当前带宽参数和实际下载带宽作平滑处理,得到下一分段视频的下一带宽参数。

示例性的,如图4b所示,本实施例中根据当前分段视频的当前带宽参数和实际下载带宽以及预设带宽平滑参数,确定下一分段视频的下一带宽参数,具体可以包括:采用第一预设带宽平滑参数和第二预设带宽平滑参数分别对当前分段视频的当前带宽参数和实际下载带宽作平滑处理,得到第一带宽平滑值和第二带宽平滑值;选取第一带宽平滑值和第二带宽平滑值中的最小值,作为下一分段视频的下一带宽参数。

具体的,为了保证下一带宽参数的准确性,本实施例通过第一预设带宽平滑参数和第二预设带宽平滑参数分别对当前分段视频的当前带宽参数和实际下载带宽作平滑处理,以对网络带宽的抖动进行对抗,得到第一带宽平滑值和第二带宽平滑值,进而从第一带宽平滑值和第二带宽平滑值中选取出最小值,作为下一分段视频的下一带宽参数。示例性的,本实施例中的平滑公式为:

其中,为下一分段视频的下一带宽参数,为已下载的当前分段视频的当前带宽参数,bi为当前分段视频的实际下载带宽,α1和α2分别为第一预设带宽平滑参数和第二预设带宽平滑参数;此时采用下述公式对当前分段视频的当前带宽参数和实际下载带宽作平滑处理,并选取第一带宽平滑值和第二带宽平滑值中的最小值作为下一分段视频的下一带宽参数,此时本实施例中基于不同的两个预设带宽平滑参数来平滑当前分段视频的当前带宽参数和实际下载带宽,从而避免网络带宽的抖动。

此外,由于通过当前分段视频的网络状态确定的下一分段视频的下一带宽参数和下一分段视频在实际下载时的实际下载带宽存在一定的误差,本实施例为了保证下一分段视频的下一带宽参数的准确性,需要尽量缩小两者之间的误差,因此本实施例中选取第一带宽平滑值和第二带宽平滑值中的最小值,作为下一分段视频的下一带宽参数,具体可以包括:选取第一带宽平滑值和第二带宽平滑值中的最小值,作为下一分段视频的中间带宽参数;根据历史带宽误差对中间带宽参数进行调整,得到下一带宽参数。

具体的,本实施例中的历史带宽误差为下一分段视频之前已下载的各历史分段视频的历史带宽参数和实际下载带宽之间的误差中的最大误差;示例性的,历史带宽误差为其中,ε为下一分段视频之前已下载的各历史分段视频的最大序号,γi为任一历史分段视频相对于下一分段视频的影响程度。此时本实施例在得到第一带宽平滑值和第二带宽平滑值后,选取第一带宽平滑值和第二带宽平滑值中的最小值,作为下一分段视频的中间带宽参数;进而根据确定的历史带宽误差对该中间带宽参数进行调整,得到下一分段视频的下一带宽误差,此时本实施例中基于历史分段视频的历史带宽参数和实际下载带宽之间的误差对下一分段视频的下一带宽参数进行动态调整,从而降低网络带宽的预测误差。

s430,根据当前分段视频的当前延时参数和实际下载延时以及预设延时平滑参数,确定下一分段视频的下一延时参数。

具体的,由于网络带宽与网络延时均属于相同属性的网络状态,因此可以参照上述下一带宽参数的确定方式,根据当前分段视频的当前延时参数和实际下载延时以及预设延时平滑参数,确定下一分段视频的下一延时参数。

此时,根据当前分段视频的当前延时参数和实际下载延时以及预设延时平滑参数,确定下一分段视频的下一延时参数,具体可以包括:采用第一预设延时平滑参数和第二预设延时平滑参数分别对当前分段视频的当前延时参数和实际下载延时作平滑处理,得到第一延时平滑值和第二延时平滑值;选取第一延时平滑值和第二延时平滑值中的最小值,作为下一分段视频的下一延时参数;此时本实施例中基于不同的两个预设带宽平滑参数来平滑当前分段视频的当前带宽参数和实际下载带宽,从而避免网络带宽的抖动。

进一步的,本实施例中选取第一延时平滑值和第二延时平滑值中的最小值,作为下一分段视频的下一延时参数,具体可以包括:选取第一延时平滑值和第二延时平滑值中的最小值,作为下一分段视频的中间延时参数;根据历史延时误差对中间延时参数进行调整,得到下一延时参数。其中该历史延时误差为下一分段视频之前已下载的各历史分段视频的历史延时参数和实际下载延时之间的误差中的最大误差。

s440,根据下一带宽参数、下一延时参数、分段播放时长和剩余缓存长度,确定下一分段视频的下载码率。

s450,根据确定的下载码率下载下一分段视频。

本实施例提供的技术方案,根据当前分段视频的当前带宽参数和实际下载带宽以及预设带宽平滑参数,确定下一分段视频的下一带宽参数,并根据当前分段视频的当前延时参数和实际下载延时以及预设延时平滑参数,确定下一分段视频的下一延时参数,从而保证下一带宽参数和下一延时参数的准确性,后续根据下一带宽参数、下一延时参数、分段播放时长和剩余缓存长度确定下一分段视频的下载码率,提高下载码率的准确性,在充分利用网络传输的基础上,保证下一分段视频的下载清晰度。

实施例四

图5为本发明实施例四提供的一种视频播放的方法的流程图,本实施例可应用于通过任一种播放器进行网络直播或者视频点播的情况中。本实施例提供的一种视频播放的方法可以由本发明实施例提供的视频播放的装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行本方法的设备中,该设备可以是配置有任一种用于网络直播或视频点播的视频应用的客户端,该客户端可以是手机、平板电脑或笔记本等任一种智能终端。

具体的,参考图5,该方法可以包括如下步骤:

s510,执行上述实施例中的视频下载的方法,得到下载后的分段视频。

具体的,客户端在对任一视频进行播放时,首先会向资源服务端请求下载该视频,此时通过执行上述任意实施例中提供的视频下载的方法,从资源服务端中下载待播放的各个分段视频。

s520,播放下载后的分段视频。

具体的,得到下载后的分段视频后,依次播放下载后的分段视频。

本实施例提供的技术方案,根据视频播放过程中的播放器状态和网络状态,确定下一分段视频的下载码率,并根据该下载码率下载下一分段视频,此时同时考虑各分段播放状态和实时下载网络状态,保证不同分段视频在自适应码率下的分段下载,避免现有技术中仅根据历史分段视频的网络带宽确定下一分段视频的下载码率,而造成各分段视频的码率不断变化,使得播放卡顿的问题,本方案能够根据播放器状态更好的利用实时下载网络状态为下一分段视频选择出合适的下载码率,在充分利用网络状态的基础上,提高分段视频的下载清晰度;此时再播放下载后的分段视频时,避免下载不及时造成的播放卡顿,保证视频播放的流畅性。

实施例五

图6为本发明实施例五提供的一种视频下载的装置的结构示意图,具体的,如图6所示,该装置可以包括:

信息确定模块610,用于确定当前分段视频下载后的剩余缓存长度以及待下载的下一分段视频的分段播放时长;

下载码率确定模块620,用于根据剩余缓存长度和分段播放时长在下一分段视频对应的码率挡位中自适应选取出最符合当前网络状态的下载码率;

视频下载模块630,用于根据确定的下载码率下载下一分段视频。

本实施例提供的技术方案,首先确定出当前分段视频下载后的剩余缓存长度以及下一分段视频的分段播放时长,进而根据剩余缓存长度和分段播放时长在下一分段视频对应的码率挡位中自适应选取出最符合当前网络状态的下载码率,根据该下载码率下载下一分段视频,此时同时考虑各分段播放状态和实时下载网络状态,保证不同分段视频在自适应码率下的分段下载,避免现有技术中仅根据历史分段视频的网络带宽确定下一分段视频的下载码率,而造成各分段视频的码率不断变化,使得播放卡顿的问题,本方案能够根据播放器状态中的剩余缓存长度和分段播放时长更好的利用实时下载网络状态为下一分段视频选择出合适的下载码率,在充分利用当前网络状态的基础上,提高分段视频的下载清晰度。

进一步的,上述视频下载的装置,还可以包括:

网络状态确定模块,用于根据当前分段视频在下载时的网络带宽和网络延时,确定下一分段视频在下载时对应的当前网络状态中的下一带宽参数和下一延时参数。

进一步的,上述下载码率确定模块620,具体可以用于:

根据下一带宽参数、下一延时参数和分段播放时长,在下一分段视频对应的码率挡位中确定满足预设条件下的码率参考挡位;

如果剩余缓存长度小于第一长度阈值,或者剩余缓存长度大于第二长度阈值,则根据码率参考挡位和当前分段视频的下载码率,确定下一分段视频的下载码率;

如果剩余缓存长度大于等于第一长度阈值,且小于等于第二长度阈值,则选取码率参考挡位中的最大码率作为下一分段视频的下载码率。

进一步的,上述下载码率确定模块620,具体可以用于:

在剩余缓存长度小于第一长度阈值时,如果码率参考挡位均小于等于当前分段视频的下载码率,则选取码率参考挡位中的最大码率作为下一分段视频的下载码率;否则将当前分段视频的下载码率作为下一分段视频的下载码率;

在剩余缓存长度大于第二长度阈值时,如果码率参考挡位均小于等于当前分段视频的下载码率,则将当前分段视频的下载码率作为下一分段视频的下载码率;否则选取码率参考挡位中的最大码率作为下一分段视频的下载码率。

进一步的,上述下载码率确定模块620,具体可以用于:

根据下一延时参数和分段播放时长,计算下一分段视频对应的各预设码率挡位下的带宽下限参数;

如果带宽下限参数小于等于下一带宽参数,则将该带宽下限参数对应的预设码率挡位作为下一分段视频的码率参考挡位。

进一步的,上述网络状态确定模块,具体可以用于:

根据所述当前分段视频的当前带宽参数和实际下载带宽以及预设带宽平滑参数,确定下一分段视频的下一带宽参数;

根据所述当前分段视频的当前延时参数和实际下载延时以及预设延时平滑参数,确定下一分段视频的下一延时参数。

进一步的,上述网络状态确定模块,具体可以用于:

采用第一预设带宽平滑参数和第二预设带宽平滑参数分别对当前分段视频的当前带宽参数和实际下载带宽作平滑处理,得到第一带宽平滑值和第二带宽平滑值;选取第一带宽平滑值和第二带宽平滑值中的最小值,作为下一分段视频的下一带宽参数;和/或,

采用第一预设延时平滑参数和第二预设延时平滑参数分别对当前分段视频的当前延时参数和实际下载延时作平滑处理,得到第一延时平滑值和第二延时平滑值;选取第一延时平滑值和第二延时平滑值中的最小值,作为下一分段视频的下一延时参数。

进一步的,上述网络状态确定模块,具体可以用于:

选取第一带宽平滑值和第二带宽平滑值中的最小值,作为下一分段视频的中间带宽参数;根据历史带宽误差对中间带宽参数进行调整,得到下一带宽参数;和/或,

选取第一延时平滑值和第二延时平滑值中的最小值,作为下一分段视频的中间延时参数;根据历史延时误差对中间延时参数进行调整,得到下一延时参数。

进一步的,上述历史带宽误差为下一分段视频之前已下载的各历史分段视频的历史带宽参数和实际下载带宽之间的误差中的最大误差,上述历史延时误差为下一分段视频之前已下载的各历史分段视频的历史延时参数和实际下载延时之间的误差中的最大误差。

进一步的,上述视频下载模块630,具体可以用于:

向资源服务端发送对下一分段视频的下载请求,该下载请求中携带下一分段视频的下载码率;

接收资源服务端下发的在下载码率下的下一分段视频。

本实施例提供的视频下载的装置可适用于上述任意实施例提供的视频下载的方法,具备相应的功能和有益效果。

实施例六

图7为本发明实施例六提供的一种视频播放的装置的结构示意图,具体的,如图7所示,该装置可以包括:

视频下载模块710,用于执行本发明任意实施例中提供的视频下载的方法,得到下载后的分段视频;

视频播放模块720,用于播放下载后的分段视频。

本实施例提供的技术方案,根据视频播放过程中的播放器状态和网络状态,确定下一分段视频的下载码率,并根据该下载码率下载下一分段视频,此时同时考虑各分段播放状态和实时下载网络状态,保证不同分段视频在自适应码率下的分段下载,避免现有技术中仅根据历史分段视频的网络带宽确定下一分段视频的下载码率,而造成各分段视频的码率不断变化,使得播放卡顿的问题,本方案能够根据播放器状态更好的利用实时下载网络状态为下一分段视频选择出合适的下载码率,在充分利用网络状态的基础上,提高分段视频的下载清晰度;此时再播放下载后的分段视频时,避免下载不及时造成的播放卡顿,保证视频播放的流畅性。

本实施例提供的视频播放的装置可适用于上述任意实施例提供的视频播放的方法,具备相应的功能和有益效果。

实施例七

图8为本发明实施例七提供的一种视频处理系统的结构示意图。参照图8,该视频播放系统包括:客户端810和资源服务端820。

具体的,客户端810上设置有本发明上述实施例中提供的视频下载的装置和本发明上述实施例中提供的视频播放的装置,具体执行过程参见本发明任意实施例中的视频播放方法,具备相应的功能,在此不作详细介绍;资源服务端820依次向客户端下发待播放视频中在下载码率下的分段视频。

实施例八

图9为本发明实施例八提供的一种设备的结构示意图,如图9所示,该设备包括处理器90、存储装置91和通信装置92;设备中处理器90的数量可以是一个或多个,图9中以一个处理器90为例;设备中的处理器90、存储装置91和通信装置92可以通过总线或其他方式连接,图9中以通过总线连接为例。

存储装置91作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中提供的视频下载的方法,或者视频播放的方法对应的程序指令/模块。处理器90通过运行存储在存储装置91中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述视频下载的方法,或者视频播放的方法。

存储装置91可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置91可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置91可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

通信装置92可用于实现设备间的网络连接或者移动数据连接。

本实施例提供的一种设备可用于执行上述任意实施例提供的业务访问的方法,具备相应的功能和有益效果。

实施例九

本发明实施例九还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述任意实施例中的视频下载的方法,或者视频播放的方法。该视频下载的方法具体可以包括:

确定当前分段视频下载后的剩余缓存长度以及待下载的下一分段视频的分段播放时长;

根据剩余缓存长度和分段播放时长在下一分段视频对应的码率挡位中自适应选取出最符合当前网络状态的下载码率;

根据确定的下载码率下载下一分段视频。

该视频播放的方法具体可以包括:

执行本发明任意实施例中提供的视频下载的方法,得到下载后的分段视频;

播放下载后的分段视频。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的视频下载的方法,或者视频播放的方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述视频下载的装置,或者视频播放的装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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