自适应码率切换方法、装置、电子设备及存储介质与流程

文档序号:17844956发布日期:2019-06-11 21:37阅读:148来源:国知局

本发明涉及数据处理领域,具体而言,涉及一种自适应码率切换方法、装置、电子设备及存储介质。



背景技术:

目前根据网络自适应码率的技术来播放视频时存在以下问题:

由于网络状态的不稳定性,在存在网络抖动的情况下就自动切换码率,可能会导致播放不流畅、黑屏,用户体验不佳。



技术实现要素:

鉴于此,本发明实施例的目的在于提供一种自适应码率切换方法、装置、电子设备及存储介质,在实现自适应码率切换的同时,保证视频的流畅播放。

第一方面,本发明实施例提供一种自适应码率的切换方法,所述方法包括:确定当前网络带宽和当前播放视频的当前码率大小满足第一切换条件;获取表征所述当前播放视频的缓存进度的第一容量值,和表征所述当前播放视频播放进度的第二容量值;判断所述第一容量值和所述第二容量值的差值是否满足第二切换条件;在为是时,将所述当前码率切换到与所述当前网络带宽匹配的目标码率来播放所述当前播放视频。在确定当前网络带宽和当前播放视频的当前码率大小满足第一切换条件时,判断所述第一容量值和所述第二容量值的差值是否满足第二切换条件,在为是时,切换为与所述当前网络带宽匹配的目标码率来播放所述当前播放视频,在出现网络抖动的情况下,保证视频的流畅播放,通过判断所述第一容量值和所述第二容量值的差值是否满足第二切换条件,来确定是否切换码率,在有效的利用带宽的同时,保证视频播放流畅。

基于第一方面,在一种可能的设计中,所述当前播放视频包括多个时间切片,每个时间切片包括多个帧,将所述当前码率切换到与所述当前网络带宽匹配的目标码率来播放所述当前播放视频,包括:判断基于所述目标码率下载的所述当前播放视频的最新帧是否为关键帧,获取第一判断结果;在所述第一判断结果为是时,在所述最新帧处将所述当前码率切换到所述目标码率来播放所述当前播放视频。基于关键帧处进行切换的的切换策略,方便解码,保证视频播放流畅。

基于第一方面,在一种可能的设计中,判断基于所述目标码率下载的所述当前播放视频的最新帧是否为关键帧,获取第一判断结果之前,所述方法还包括:获取基于所述当前码率播放的所述当前播放视频的当前时间切片;基于所述目标码率,从所述当前时间切片的第一帧开始下载所述当前播放视频。基于所述目标码率,从所述当前时间切片的第一帧开始下载所述当前播放视频,保证在播放流畅的情况下及时切换到与当前网络带宽匹配的码率。

基于第一方面,在一种可能的设计中,判断基于目标码率下载的所述当前播放视频的最新帧是否为关键帧,包括:获取基于所述当前码率播放的所述当前播放视频的当前帧;判断基于所述目标码率下载的所述当前播放视频的最新帧是否为所述当前帧之后的帧,获取第二判断结果;在所述第二判断结果为是时,判断所述最新帧是否为关键帧。基于关键帧处进行切换的的切换策略,方便解码,保证视频播放流畅。

基于第一方面,在一种可能的设计中,判断所述第一容量值和所述第二容量值的差值是否满足第二切换条件,包括:将所述第一容量值减去所述第二容量值,获取容量差值;若所述当前网络带宽与所述当前码率的差大于第一预设差值,判断所述容量差值是否大于第一预设值,在所述容量差值大于所述第一预设值时,表征所述第一容量值和所述第二容量值的差值满足所述第二切换条件。通过该方式,能够在出现网络抖动的情况下,保证视频的流畅播放。

基于第一方面,在一种可能的设计中,将所述第一容量值减去所述第二容量值,获取容量差值之后,所述方法还包括:若所述目标码率与所述当前网络带宽的差大于第二预设差值,判断所述容量差值是否小于第二预设值,在所述容量差值小于所述第二预设值时,表征所述第一容量值和所述第二容量值的差值满足所述第二切换条件。通过该方式,继而能够在出现网络抖动的情况下,保证视频的流畅播放。

第二方面,本发明实施例提供一种自适应码率的切换装置,所述装置包括:确定单元,用于确定当前网络带宽和当前播放视频的当前码率大小满足第一切换条件;容量获取单元,用于获取表征所述当前播发视频缓存进度的第一容量值,和表征所述当前播放视频的播放进度的第二容量值;容量判断单元,用于判断所述第一容量值和所述第二容量值的差值是否满足第二切换条件;切换单元,用于在为是时,切换为与所述当前网络带宽匹配的目标码率来播放所述当前播放视频。

基于第二方面,在一种可能的设计中,所述当前播放视频包括多个时间切片,每个时间切片包括多个帧,所述切换单元包括:关键帧判断单元,用于判断基于所述目标码率下载的所述当前播放视频的最新帧是否为关键帧,获取第一判断结果;切换子单元,用于在所述第一判断结果为是时,在所述最新帧处切换为所述目标码率来播放所述当前播放视频。

基于第二方面,在一种可能的设计中,所述装置还包括:时间切片获取单元,用于获取基于所述当前码率播放的所述当前播放视频的当前时间切片;下载单元,用于基于所述目标码率,从所述当前时间切片的第一帧开始下载所述当前播放视频。

基于第二方面,在一种可能的设计中,所述关键帧判断单元还用于,获取基于所述当前码率播放的所述当前播放视频的当前帧;以及判断基于所述目标码率下载的所述当前播放视频的最新帧是否为所述当前帧之后的帧,获取第二判断结果;以及在所述第二判断结果为是时,判断所述最新帧是否为关键帧。

基于第二方面,在一种可能的设计中,所述容量判断单元,还用于将所述第一容量值减去所述第二容量值,获取容量差值;以及若所述当前网络带宽与所述当前码率的差大于第一预设差值,判断所述容量差值是否大于第一预设值,在所述容量差值大于所述第一预设值时,表征所述第一容量值和所述第二容量值的差值满足所述第二切换条件。

基于第二方面,在一种可能的设计中,所述装置还包括:容量判断子单元,若所述目标码率与所述当前网络带宽的差大于第二预设差值,判断所述容量差值是否小于第二预设值,在所述容量差值小于所述第二预设值时,表征所述第一容量值和所述第二容量值的差值满足所述第二切换条件。

第三方面,本发明实施例提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面所述的方法。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的电子设备的结构示意图;

图2为本发明第一实施例提供的自适应码率切换方法的流程示意图;

图3为本发明第二实施例提供的自适应码率切换装置的结构示意图。

图标:100-电子设备;110-存储器;120-存储控制器;130-处理器;140-外设接口;150-输入输出单元;160-音频单元;170-显示单元;410-确定单元;420-获取单元;430-容量判断单元;440-切换单元。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本发明实施例提供一种电子设备100的结构示意图,所述电子设备100可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等。

如图1所示,所述电子设备100可以包括:自适应码率切换装置、存储器110、存储控制器120、处理器130、外设接口140、输入输出单元150、音频单元160、显示单元170。

所述存储器110、存储控制器120、处理器130、外设接口140、输入输出单元150、音频单元160以及显示单元170各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述质量检测结果的展示装置包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中或固化在客户端设备的操作装置(operatingsystem,os)中的软件功能模块。所述处理器130用于执行存储器110中存储的可执行模块,例如所述自适应码率切换装置包括的软件功能模块或计算机程序。

其中,存储器110可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器110用于存储程序,所述处理器130在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流程定义的电子设备100所执行的方法可以应用于处理器130中,或者由处理器130实现。

处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器130可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述外设接口140将各种输入/输出装置耦合至处理器130以及存储器110。在一些实施例中,外设接口140,处理器130以及存储控制器120可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

输入输出单元150用于提供给用户输入数据实现用户与电子设备100的交互。所述输入输出单元150可以是,但不限于,鼠标和键盘等。

音频单元160向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。

显示单元170在电子设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元170可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器130进行计算和处理。

第一实施例

请参照图2,图2为本发明第一实施例提供的一种自适应码率切换的方法的流程图,所述方法应用于如图1所示的电子设备100,下面将对图2所示的流程进行详细阐述,所述方法包括:

s100:确定当前网络带宽和当前播放视频的当前码率大小满足第一切换条件。

码率也叫比特率,表示经过压缩编码后的视频数据每秒需要用多少个比特来表示,即把每秒显示的图像进行压缩后的数据量,一般采用的单位是kbps即千位每秒。码率越高,画质的损失就越小,所得到的画面就越接近于原始画面。

网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。网络和高速公路类似,带宽越大,就类似高速公路的车道越多,其通行能力越强。网络带宽作为衡量网络特征的一个重要指标。

可以理解的是,当前码率越高,需要的网络带宽越高,如果当前网络带宽无法支持当前码率,则可能造成视频画面延迟或丢失。

因此,在视频网站上播放视频的时,为了在实现码率的自适应切换的同时,保证视频播放的流畅,因此,需要实时获取当前网络带宽和当前播放视频的当前码率大小,并判断所述当前网络带宽是否与所述当前码率匹配,在本实施例中,在所述当前网络带宽与所述当前码率之差的绝对值满足预设值时,确定所述当前网络带宽和所述当前码率满足第一切换条件。其中,所述预设差值可以为10、20、25、80、100等,在本实施例中,所述预设差值为25。所述作为一种实施方式,判断所述当前网络带宽是否等于所述当前码率,在确定所述在所述当前网络带宽与所述当前码率不相等时,确定所述当前网络带宽和所述当前码率满足第一切换条件。在确定所述在所述当前网络带宽与所述当前码率相等时,确定所述当前网络带宽和所述当前码率不满足第一切换条件。

举例来说,例1,在当前网络带宽1024kbps,当前码率为720kbps,因此,所述当前网络带宽与所述当前码率不匹配,确定所述当前网络带宽和所述当前码率满足第一切换条件,需要将当前码率切换到比所述当前码率更高的码率,即与所述当前网络带宽匹配的码率;例2,在当前网络带宽780kbps,当前码率为1028kbps,因此,所述当前网络带宽与所述当前码率不匹配,确定所述当前网络带宽和所述当前码率满足第一切换条件,需要将当前码率切换到比所述当前码率更低的码率,即与所述当前网络带宽匹配的码率。例3,在当前网络带宽1024kbps,当前码率为1024kbps,因此,所述当前网络带宽与所述当前码率匹配,确定所述当前网络带宽和所述当前码率不满足第一切换条件,不进行码率切换。值的一提的是,在满足第一切换条件时,不会立刻进行码率切换,而是,继续执行s200。

s200:获取表征所述当前播放视频的缓存进度的第一容量值,和表征所述当前播放视频的播放进度的第二容量值。

确定当前网络带宽和当前播放视频的当前码率大小满足第一切换条件时,在当前播放视频为a视频时,获取表征a视频缓存进度的第一容量值,和表征a视频播放进度的第二容量值。在本实施例中,所述第一容量值和所述第二容量值可以用时间表示,例如,a视频的总时长为30分钟,在当前时刻,a视频已缓存了10分钟,a视频已播放了5分钟,因此,第一容量值为10分钟,第二容量值为5分钟,在其他实施例中,所述第一容量值和所述第二容量值可以用时间比值表示,即第一容量值为1/3,第二容量值为1/6。

s300:判断所述第一容量值和所述第二容量值的差值是否满足第二切换条。

作为一种实施方式,s300包括:

将所述第一容量值减去所述第二容量值,获取容量差值。

例如,在第一容量值为10分钟,第二容量值为5分钟,将所述第一容量值减去所述第二容量值,获取容量差值为5分钟。

若所述当前网络带宽与所述当前码率的差大于第一预设差值,判断所述容量差值是否大于所述第一预设值,在所述容量差值是大于第一预设值时,表征所述第一容量值和所述第二容量值的差值满足所述第二切换条件。

通过该方式,能够避免在出现网络抖动的情况下就随意切换码率,继而保证视频的流畅播放,避免网络带宽的浪费。

其中,所述第一预设差值可以为0,10,20,100,200等,在本实施例中,所述第一预设差值为100,例如,在所述当前网络带宽为1024kbps,当前码率为724kbps时,所述当前网络带宽与所述当前码率的差为1024kbps-724kbps=300,由于300大于第一预设差值,因此,确定所述当前网络带宽与所述当前码率的差大于第一预设差值,判断所述容量差值是否大于所述第一预设值,其中,所述第一预设值可以为2分钟,3分钟,5分钟,6分钟等,在本实施例中,所述第一预设值为3分钟,由于所述容量差值为5分钟,因此,所述容量差值(5分钟)大于第一预设值(3分钟),表征所述第一容量值和所述第二容量值的差值满足所述第二切换条件。作为一种实施方式,在所述容量差值是小于等于第一预设值时,表征所述第一容量值和所述第二容量值的差值不满足所述第二切换条件,不进行码率切换。

作为一种实施方式,在将所述第一容量值减去所述第二容量值,获取容量差值之后,所述方法还包括:

若所述当前码率与所述当前网络带宽之差大于第二预设差值,判断所述容量差值是否小于第二预设值,在所述容量差值小于第二预设值时,表征所述第一容量值和所述第二容量值的差值满足所述第二切换条件。

通过该方式,能够避免在出现网络抖动的情况下就随意切换码率,继而保证视频的流畅播放,避免网络带宽的浪费。

其中,所述第二预设差值可以为0,10,20,100,200等,其中,所述第二预设差值可以和所述第一预设差值相等,所述第二预设差值也可以和所述第一预设差值不等,在本实施例中,所述第二预设差值为100,例如,在所述当前网络带宽为800kbps,当前码率为1028kbps时,所述当前码率与所述当前网络带宽的差为1028kbps-800kbps=228kbps,由于228kbps大于第二预设差值100,因此,确定所述当前码率与所述当前网络带宽的差大于第二预设差值,判断所述容量差值是否小于第二预设值,其中,所述第二预设值可以为1分钟,2分钟,3分钟,5分钟等,在本实施例中,所述第二预设值为1分钟,若所述容量差值为1分钟,因此,所述容量差值(1分钟)小于第二预设值(2分钟),表征所述第一容量值和所述第二容量值的差值满足所述第二切换条件。作为一种实施方式,在所述容量差值是大于等于第二预设值时,表征所述第一容量值和所述第二容量值的差值不满足所述第二切换条件,不进行码率切换。

s400:在为是时,切换为与所述当前网络带宽匹配的目标码率来播放所述当前播放视频。

其中,所述当前播放视频包括多个时间切片,每个时间切片包括多个帧,例如,a视频总时长为20分钟,将a视频切分为20个时间切片,每个时间切片为1分钟,每个时间切片包括20个帧,其中,时间切片的划分方式不作限制,每个时间切片中包含的帧的数目不作限制,s400包括:

s410:获取基于所述当前码率播放的所述当前播放视频的当前时间切片。

例如,在当前码率为720kbps时,当前播放视频为a视频时,当前时刻a视频已经播放到第10分钟的第5个帧,所述当前时间切片为第10个时间切片。在当前时刻,a视频已经播放到第15分钟的第4个帧时,所述当前时间切片为第15个时间切片。

作为一种实施方式,获取基于所述当前码率播放的所述当前播放视频的当前时间切片的当前帧。例如,在当前时刻,a视频已经播放到第15分钟的第4个帧时,所述当前时间切片的当前帧为第15个时间切片的第4个帧。

s420:基于所述目标码率,从所述当前时间切片的第一帧开始下载所述当前播放视频。

在当前码率为720kbps,目标码率为1080kbps时,所述当前时间切片为第10个时间切片时,基于目标码率1080kbps,从第10个时间切片的第一帧开始下载a视频。

通过该方式,能够保证在播放流畅的情况下及时切换到与当前网络带宽匹配的码率。

作为一种实施方式,基于所述目标码率,从所述当前时间切片的当前帧开始下载所述当前播放视频。

在当前码率为720kbps,目标码率为1080kbps时,所述当前时间切片的当前帧为第15个时间切片的第4个帧,基于目标码率1080kbps,从第15个时间切片的第四帧开始下载a视频。

s430:判断基于所述目标码率下载的所述当前播放视频的最新帧是否为关键帧,获取第一判断结果。

例如,基于所述目标码率对a视频进行下载,在当前时刻,下载到第15个时间切片的第10个帧时,所述最新帧为第15个时间切片的第10个帧,判断第10个帧是否为关键帧,获取第一判断结果。

作为一种实施方式,s430包括:

获取基于所述当前码率播放的所述当前播放视频的当前帧。

例如,在当前时刻,当前码率为720kbps,a视频已经播放到第15分钟的第4个帧时,所述当前帧为第15个时间切片的第4个帧。

判断基于所述目标码率下载的所述当前播放视频的最新帧是否为所述当前帧之后的帧,获取第二判断结果。

在所述第二判断结果表征所述最新帧是所述当前帧之后的帧时,判断所述最新帧是否为关键帧。

作为一种实施方式,在所述第二判断结果为否时,表征所述最新帧不是所述当前帧之后的帧,因此,不进行码率切换。

例1,在所述当前帧为第15个时间切片的第12帧,所述最新帧为第15个时间切片的第10帧,因此,所述最新帧是不是所述当前帧之后的帧,不进行码率切换。

例2,在所述当前帧为第15个时间切片的第13帧,所述最新帧为第15个时间切片的第14个帧,因此,所述最新帧是所述当前帧之后的帧。

s440:在所述第一判断结果为是时,在所述最新帧处切换为所述目标码率来播放所述当前播放视频。

在所述最新帧是所述当前帧之后的帧,且在述最新帧是为关键帧时,在所述最新帧处将所述当前码率切换到所述目标码率来播放所述当前播放视频。

作为一种实施方式,在所述第一判断结果为否时,不进行码率切换。

基于关键帧处进行切换的切换策略,保证正常解码,继而保证在视频播放流畅的情况下,能够及时切换为与当前网络带宽匹配的码率,并且能够避免在出现网络抖动的情况下就随意切换码率。

例如,在所述当前帧为第15个时间切片的第13帧,所述最新帧为第15个时间切片的第15个帧,因此,所述最新帧是所述当前帧之后的帧,且第15个帧为关键帧,因此,在第15帧处将所述当前码率切换到所述目标码率来播放所述当前播放视频,可以理解的是,在第15帧及第15帧后,以基于所述目标码率下载的视频数据来进行播放。

作为一种实施方式,在所述第二判断结果表征所述最新帧是所述当前帧之后的帧时,将所述当前码率切换到与所述当前网络带宽匹配的目标码率来播放所述当前播放视频。

通过上述方式,能够避免在出现网络抖动的情况下就随意切换码率,继而保证视频的流畅播放,避免网络带宽的浪费。

当基于实时流媒体协议(httplivestreaming,hls)实现自适应码率切换的时候,为了保证能够播放流畅的情况下,能够尽快的切换到合适的码率,因此,采用了基于关键帧的切换策略。hls协议要求每一个时间片均以关键帧开头,同时要求解码器能够通过i帧携带的metadata信息重新初始化解码器,在关键帧处进行解码,才能保证后续帧的正常解码。

mediac13odec解码器的配置

在超文本传输协议(hypertexttransferprotoco,http)下载模块的缓冲区数据达到阈值后,音频单元160和视频单元170开始播放视频。解码播放主要有以下三个步骤:

1.在对缓冲区的视频进行解码时,电子设备100读取下载的视频的时间切片的文件头,获得视频的格式信息(编码格式、分辨率、码率),再根据所述格式信息初始化对应的解码器。

2.电子设备100从缓冲区提取出视频数据,并把该视频数据传输给解码器进行解码。

3.最后将解码的内容传输给电子设备100的显示单元170,并通过显示单元170显示视频画面。音频单元160中音频播放线程独立于视频播放线程,但需同步视频的时间戳和音频帧的时间戳来达到音视频同步的效果。

第二实施例

请参照图3,图3是本发明第二实施例提供的一种自适应码率切换装置的结构框图。所述装置存储于如图1所述的电子设备100,下面将对图3所示的结构框图进行阐述,所示装置包括:

确定单元410,用于确定当前网络带宽和当前播放视频的当前码率大小满足第一切换条件;

容量获取单元420,用于获取表征所述当前播放视频的缓存进度的第一容量值,和表征所述当前播放视频的播放进度的第二容量值;

容量判断单元430,用于判断所述第一容量值和所述第二容量值的差值是否满足第二切换条件;

切换单元440,用于在为是时,切换为与所述当前网络带宽匹配的目标码率来播放所述当前播放视频。

作为一种实施方式,所述当前播放视频包括多个时间切片,每个时间切片包括多个帧,切换单元440包括:关键帧判断单元,用于判断基于所述目标码率下载的所述当前播放视频的最新帧是否为关键帧,获取第一判断结果;切换子单元,用于在所述第一判断结果为是时,在所述最新帧处切换为所述目标码率来播放所述当前播放视频。

作为一种实施方式,所述装置还包括:时间切片获取单元,用于获取基于所述当前码率播放的所述当前播放视频的当前时间切片;下载单元,用于基于所述目标码率,从所述当前时间切片的第一帧开始下载所述当前播放视频。

作为一种实施方式,所述关键帧判断单元还用于,获取基于所述当前码率播放的所述当前播放视频的当前帧;以及判断基于所述目标码率下载的所述当前播放视频的最新帧是否为所述当前帧之后的帧,获取第二判断结果;以及在所述第二判断结果为是时,判断所述最新帧是否为关键帧。

作为一种实施方式,容量判断单元430,还用于将所述第一容量值减去所述第二容量值,获取容量差值;以及若所述当前网络带宽与所述当前码率的差大于第一预设差值,判断所述容量差值是否大于第一预设值,在所述容量差值大于所述第一预设值时,表征所述第一容量值和所述第二容量值的差值满足所述第二切换条件。

作为一种实施方式,所述装置还包括:容量判断子单元,若所述目标码率与所述当前网络带宽的差大于第二预设差值,判断所述容量差值是否小于第二预设值,在所述容量差值小于所述第二预设值时,表征所述第一容量值和所述第二容量值的差值满足所述第二切换条件。

本实施例对自适应码率切换装置的各功能单元实现各自功能的过程,请参见上述图2所示实施例中描述的内容,此处不再赘述。

此外,本发明实施例还提供了一种存储介质,在该存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行本发明任一项实施方式所提供的自适应码率切换方法。

综上所述,本发明各实施例提出的自适应码率切换方法、装置、电子设备及存储介质,所述方法包括:确定当前网络带宽和当前播放视频的当前码率大小满足第一切换条件;获取表征所述当前播放视频缓存进度的第一容量值,和表征所述当前播放视频播放进度的第二容量值;判断所述第一容量值和所述第二容量值的差值是否满足第二切换条件;在为是时,将所述当前码率切换到与所述当前网络带宽匹配的目标码率来播放所述当前播放视频。在确定当前网络带宽和当前播放视频的当前码率大小满足第一切换条件时,判断所述第一容量值和所述第二容量值的差值是否满足第二切换条件,在为是时,将所述当前码率切换到与所述当前网络带宽匹配的目标码率来播放所述当前播放视频,在为否时,不进行码率切换,继而能够避免在出现网络抖动的情况下就随意切换码率,继而保证视频的流畅播放,避免网络带宽的浪费。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

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