一种智能电视的多媒体数据缓存方法及装置
技术领域
本申请涉及智能电视领域,特别涉及一种智能电视的多媒体数据缓存方法及装置。
背景技术
随着人们生活水平的提高,智能电视在家庭中的普及率日益广泛,替代传统电视的趋势越来越强,智能电视在人们的日常休闲与娱乐生活中起到越来越重要的作用。
目前,智能电视大多带有播放网络中的多媒体数据(如播放网络中的视频或音频数据)的功能,用户可以通过智能电视点播收看网络中的多媒体数据,智能电视在播放网络中的多媒体数据时,通常是一边将网络中的多媒体数据缓存到自身的缓存区,一边从缓存区中提取已缓存的多媒体数据进行播放。
现有的多媒体数据缓存技术,通常会预先设置一个满足最低播放要求的数据量的阈值,然后根据缓存区中缓存的多媒体数据的数据量来判断缓存的多媒体数据是否可以维持播放,当缓存区中缓存的多媒体数据的数据量大于或等于该满足最低播放要求的数据量的阈值时,多媒体数据可以正常播放,当缓存区中缓存的多媒体数据的数据量小于该满足最低播放要求的数据量的阈值时,智能电视会暂停播放视频数据,并继续缓存多媒体数据(此时,在智能电视中播放的视频画面会出现卡顿的现象),直到缓存区中缓存的多媒体数据的数据量大于或等于该满足最低播放要求的数据量的阈值时,再继续播放多媒体数据。
但是,现有技术中至少存在如下问题:现有的多媒体数据缓存技术,播放的节目的码率越高,单位播放时间的数据量就越大,因此,播放的节目的码率越高,同样阈值的数据量可供播放的时间就越短,卡顿的现象就会越频繁,即两次卡顿之间的正常播放时间会随着视频码率的增大而变短,导致用户的观看过程被频繁打断,播放的连续性不强,严重影响用户体验。
发明内容
针对上述问题,本发明提供一种智能电视的多媒体数据缓存方法及装置,以解决观看的节目码率越高,卡顿的现象就会越频繁的问题,增强播放的连续性,提升用户体验。
基于上述目的,本申请提供的技术方案如下:
一种智能电视的多媒体数据缓存方法,包括:
在从缓存区中读取多媒体数据的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第一播放时长;
判断所述第一播放时长是否大于或等于第一门限值;
当所述第一播放时长大于或等于所述第一门限值时,继续从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中。
优选地,还包括:
当所述第一播放时长小于所述第一门限值时,暂停从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中;
在从服务器中获取多媒体数据并存储到所述缓存区中的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第二播放时长;
判断所述第二播放时长是否大于或等于第二门限值;所述第二门限值大于所述第一门限值;
当所述第二播放时长大于或等于所述第二门限值时,继续从所述缓存区中读取多媒体数据。
优选地,还包括:
累计所述暂停从所述缓存区中读取多媒体数据的暂停次数;
判断所述暂停次数是否大于或等于预设阈值;
当所述暂停次数大于或等于所述预设阈值时,停止从所述缓存区中读取多媒体数据。
优选地,还包括:
在所述停止从所述缓存区中读取多媒体数据之前,获取所述缓存区中的多媒体数据的码率并作为第一码率;
在所述停止从所述缓存区中读取多媒体数据之后,从服务器中获取所述多媒体数据的第二码率的数据源并存储到所述缓存区中,开始从缓存区中读取多媒体数据的所述第二码率的数据源;所述第二码率小于所述第一码率。
优选地,还包括:
在开始从缓存区中读取多媒体数据之前,从服务器中获取多媒体数据并存储到所述缓存区中,并根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为初始播放时长;
判断所述初始播放时长是否大于或等于第二门限值;
当所述初始播放时长大于或等于所述第二门限值时,开始从所述缓存区中读取多媒体数据。
本申请还提供一种智能电视的多媒体数据缓存装置,包括:
第一确定模块,用于在从缓存区中读取多媒体数据的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第一播放时长;
第一判断模块,用于判断所述第一播放时长是否大于或等于第一门限值;
第一读取模块,用于当所述第一播放时长大于或等于所述第一门限值时,继续从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中。
优选地,所述第一读取模块还用于:当所述第一播放时长小于所述第一门限值时,暂停从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中;
则所述装置还包括:
第二确定模块,用于在从服务器中获取多媒体数据并存储到所述缓存区中的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第二播放时长;
第二判断模块,用于判断所述第二播放时长是否大于或等于第二门限值;所述第二门限值大于所述第一门限值;
第二读取模块,用于当所述第二播放时长大于或等于所述第二门限值时,继续从所述缓存区中读取多媒体数据。
优选地,还包括:
累计模块,用于累计所述暂停从所述缓存区中读取多媒体数据的暂停次数;
第三判断模块,用于判断所述暂停次数是否大于或等于预设阈值;
第三读取模块,用于当所述暂停次数大于或等于所述预设阈值时,停止从所述缓存区中读取多媒体数据。
优选地,还包括:
获取模块,用于在所述停止从所述缓存区中读取多媒体数据之前,获取所述缓存区中的多媒体数据的码率并作为第一码率;
第四读取模块,用于在所述停止从所述缓存区中读取多媒体数据之后,从服务器中获取所述多媒体数据的第二码率的数据源并存储到所述缓存区中,开始从缓存区中读取多媒体数据的所述第二码率的数据源;所述第二码率小于所述第一码率。
优选地,还包括:
第三确定模块,用于在开始从缓存区中读取多媒体数据之前,从服务器中获取多媒体数据并存储到所述缓存区中,并根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为初始播放时长;
第四判断模块,用于判断所述初始播放时长是否大于或等于第二门限值;
第五读取模块,用于当所述初始播放时长大于或等于所述第二门限值时,开始从所述缓存区中读取多媒体数据。
应用上述技术方案,本申请提供的一种智能电视的多媒体数据缓存方法,在从缓存区中读取多媒体数据的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第一播放时长;判断所述第一播放时长是否大于或等于第一门限值;当所述第一播放时长大于或等于所述第一门限值时,继续从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中。这样在播放多媒体数据过程中,是根据缓存区中存储的多媒体数据的播放时长与预设的门限值来比较,从而确定是否可以维持播放,这样即使是高码率的数据,也会按照缓存的数据的播放时长是否满足预设时长来判断是否可以维持播放,不会因单位播放时间的数据量变大而导致卡顿现象的频繁发生,即两次卡顿之间的正常播放时间不会随着视频码率的增大而变短,可以避免用户的观看过程被频繁打断,即避免播放的连续性不强,解决当观看的节目码率越高,卡顿现象就会越频繁的问题,增强播放的连续性,提升用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种智能电视的多媒体数据缓存方法的流程示意图;
图2为本申请提供的另一种智能电视的多媒体数据缓存方法的流程示意图;
图3为本申请提供的再一种智能电视的多媒体数据缓存方法的流程示意图;
图4为本申请提供的又一种智能电视的多媒体数据缓存方法的流程示意图;
图5为本申请提供的又一种智能电视的多媒体数据缓存方法的流程示意图;
图6为本申请提供的一种智能电视的多媒体数据缓存装置的结构示意图;
图7为本申请提供的另一种智能电视的多媒体数据缓存装置的结构示意图;
图8为本申请提供的再一种智能电视的多媒体数据缓存装置的结构示意图;
图9为本申请提供的又一种智能电视的多媒体数据缓存装置的结构示意图;
图10为本申请提供的又一种智能电视的多媒体数据缓存装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在现有技术中,是判断缓存区中缓存的多媒体数据的数据量是否满足预设的数据量阈值,来决定在缓存多媒体数据到缓存区的过程中是否读取缓存区中的多媒体数据并播放,也就是说,是暂停播放还是继续播放依赖于缓存区中的数据量的多少,而播放的节目的码率越高,单位播放时间的数据量就越大,因此,播放的节目的码率越高,同样阈值的数据量可供播放的时间就越短,在这种情况下,卡顿的现象就会越频繁,即两次卡顿之间的正常播放时间会随着视频码率的增大而变短,导致用户的观看过程被频繁打断,播放的连续性不强,严重影响用户体验。
本申请的主要思想之一可以包括:在播放所述多媒体数据的过程中,根据缓存区中存储的多媒体数据的播放时长与预设的门限值来比较,从而确定是否可以维持播放,这样即使是高码率的数据,也会按照缓存的数据的播放时长是否满足预设时长来判断是否可以维持播放,不会因单位播放时间的数据量变大而导致卡顿现象的频繁发生,即两次卡顿之间的正常播放时间不会随着视频码率的增大而变短,可以避免用户的观看过程被频繁打断,即避免播放的连续性不强,解决当观看的节目码率越高,卡顿现象就会越频繁的问题,增强播放的连续性,提升用户体验。
下面,将通过具体实施例对本申请的方案做具体阐述:
实施例一:
图1为本申请提供的一种智能电视的多媒体数据缓存方法的流程示意图。
请参照图1所示,本申请实施例提供的一种智能电视的多媒体数据缓存方法,包括:
S100:在从缓存区中读取多媒体数据的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第一播放时长;
在本申请实施例中,从缓存区中读取多媒体数据是指读取缓存区中的多媒体数据并在电视中播放,也就是说,此时多媒体数据正处于播放过程中。
在这里,多媒体数据的数据量的播放时长与多媒体数据的码率相关,码率越大,相同的数据量可供播放的时间越短,码率越小,相同的数据量可供播放的时间越长,因此,现有技术中根据缓存的数据量来判断是否可供播放,会导致在播放高码率的多媒体数据时,数据量已经达到预设值但可供播放的时长很短,这样就会导致卡顿现象的频繁发生。
在本申请实施例中,是实时根据所述缓存区中存储的多媒体数据的数据量的播放时长,即第一播放时长,来确定是否可供播放,这样,当多媒体数据的码率较大时,会缓存较多的数据量才开始播放,当多媒体数据的码率较小时,会缓存较小的数据量就开始播放,因此不会因单位播放时间的数据量变大而导致卡顿现象的频繁发生,即两次卡顿之间的正常播放时间不会随着视频码率的增大而变短。
在这里,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长的方法可以采用本领域的现有方法,本申请实施例中不再赘述。
S200:判断所述第一播放时长是否大于或等于第一门限值;
S300:当所述第一播放时长大于或等于所述第一门限值时,继续从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中。
这里的第一门限值是预设的一个播放时长阈值,比如5秒,在多媒体数据的播放过程中,只要缓存区中的数据大于或等于这个第一门限值,就说明缓存区中的数据可以维持一边缓存一边播放,即,在从服务器中缓存多媒体数据到缓存区的过程中,维持多媒体数据的正常播放。
应用本申请实施例提供的技术方案,在从缓存区中读取多媒体数据的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第一播放时长;判断所述第一播放时长是否大于或等于第一门限值;当所述第一播放时长大于或等于所述第一门限值时,继续从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中。这样在播放多媒体数据过程中,是根据缓存区中存储的多媒体数据的播放时长与预设的门限值来比较,从而确定是否可以维持播放,这样即使是高码率的数据,也会按照缓存的数据的播放时长是否满足预设时长来判断是否可以维持播放,不会因单位播放时间的数据量变大而导致卡顿现象的频繁发生,即两次卡顿之间的正常播放时间不会随着视频码率的增大而变短,可以避免用户的观看过程被频繁打断,即避免播放的连续性不强,解决当观看的节目码率越高,卡顿现象就会越频繁的问题,增强播放的连续性,提升用户体验。
实施例二:
图2为本申请提供的另一种智能电视的多媒体数据缓存方法的流程示意图。
请参照图2所示,本申请实施例提供的智能电视的多媒体数据缓存方法,在实施例一提供的方法的基础上,还包括:
S400:当所述第一播放时长小于所述第一门限值时,暂停从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中;
这里的第一门限值是预设的一个播放时长阈值,比如5秒,在多媒体数据的播放过程中,如果缓存区中的数据小于这个播放时长阈值,就说明缓存区中的数据不足以维持一边缓存一边播放,在这种情况下,暂停从缓存区中读取多媒体数据,也就是暂停多媒体数据的播放,同时继续从服务器中缓存多媒体数据到缓存区中,以便更快地累积缓存区中缓存的多媒体数据的数据量。
S500:在从服务器中获取多媒体数据并存储到所述缓存区中的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第二播放时长;
在本申请实施例中,在暂停从缓存区中读取多媒体数据后,即暂停播放后,会在从服务器中获取多媒体数据并存储到所述缓存区中的同时,实时根据所述缓存区中存储的多媒体数据的数据量,来确定缓存区中存储的多媒体数据的播放时长,作为第二播放时长。
在这里,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长的方法可以采用本领域的现有方法,本申请实施例中不再赘述。
S600:判断所述第二播放时长是否大于或等于第二门限值;所述第二门限值大于所述第一门限值;
S700:当所述第二播放时长大于或等于所述第二门限值时,继续从所述缓存区中读取多媒体数据。
这里的第二门限值是预设的另一个播放时长阈值,比如30秒,在暂停从缓存区中读取多媒体数据,也即多媒体数据的播放被暂停后,只有当缓存区中存储的数据的播放时长大于或等于这个第二门限值时,才可以恢复读取缓存区中的多媒体数据,也即恢复播放多媒体数据,也就是说,在暂停多媒体数据的播放后,继续从服务器中缓存多媒体数据到缓存区,只有当缓存区中存储的数据大于或等于这个第二门限值时,才可以恢复多媒体数据的正常播放。
在本申请实施例中,为了使多媒体数据在恢复播放后不会因为缓存区中的数据被很快读取完而很快再次暂停,可以设置第二门限值大于第一门限值,这样就可以使多媒体数据至少能够持续播放的时长等于第二门限值与第一门限值的差值。
应用本申请实施例提供的技术方案,当所述第一播放时长小于所述第一门限值,暂停从所述缓存区中读取多媒体数据后,只有实时确定的缓存区中的多媒体数据的播放时长大于或等于第二门限值时,才能恢复从所述缓存区中读取多媒体数据。这样在多媒体数据的播放被暂停后,是根据缓存区中存储的多媒体数据的播放时长与预设的第二门限值来比较,从而确定是否可以恢复播放,这样多媒体数据在恢复播放后不会因为缓存区中的数据被很快读取完而很快再次暂停,可以进一步提升用户体验。
实施例三:
图3为本申请提供的再一种智能电视的多媒体数据缓存方法的流程示意图。
请参照图3所示,本申请实施例提供的智能电视的多媒体数据缓存方法,在上述实施例提供的方法的基础上,还包括:
S800:累计所述暂停从所述缓存区中读取多媒体数据的暂停次数;
S900:判断所述暂停次数是否大于或等于预设阈值;
S1000:当所述暂停次数大于或等于所述预设阈值时,停止从所述缓存区中读取多媒体数据。
在本申请实施例中,当多媒体数据的播放过程中暂停次数过多,也就是卡顿现象过多,说明此时的网络环境不足以维持多媒体数据的正常播放,此时可以停止从缓存区中读取多媒体数据,也就是停止多媒体数据的播放。
实施例四:
图4为本申请提供的又一种智能电视的多媒体数据缓存方法的流程示意图。
请参照图4所示,本申请实施例提供的智能电视的多媒体数据缓存方法,在上述实施例提供的方法的基础上,还包括:
S1000a:在所述停止从所述缓存区中读取多媒体数据之前,获取所述缓存区中的多媒体数据的码率并作为第一码率;
通常,在用户点播一个多媒体数据之后,客户端在播放一个多媒体数据之前,会要求用户或服务器根据播放前的初始网络带宽,从服务器提供的几种不同码率的对应的数据源中确定一种与初始网络带宽相匹配的码率,即本申请实施例中的第一码率。
而当确定需要播放第一码率的多媒体数据后,客户端可以向服务器请求多媒体数据的第一码率的数据源,服务器响应于客户端的请求,会将存储多媒体数据的数据源的第一地址发送给客户端,这里的第一地址与多媒体数据的第一码率相对应,此时客户端链接到该第一地址,下载或缓存第一地址的数据源,即可开始播放第一码率的多媒体数据。
在这里,初始网络带宽的测量可以通过服务器与客户端互发报文,并测量报文的发送速度来实现;也可以上传或下载一定量的数据,测量数据的上传或下载时间,计算单位时间上传或下载的数据量,作为初始网络带宽。本申请实施例并不对初始网络带宽的测量方法做任何限定。
S1000b:在所述停止从所述缓存区中读取多媒体数据之后,从服务器中获取所述多媒体数据的第二码率的数据源并存储到所述缓存区中,开始从缓存区中读取多媒体数据的所述第二码率的数据源;所述第二码率小于所述第一码率。
在这里,可以将多媒体数据的码率划分为多个级别,比如第二码率可以对应720P,第一码率可以对应1080P,而当第一码率的数据源不能维持正常播放时,说明网络带宽的状况已经变差,对当前播放造成的影响较大,更适于将当前播放的第一码率的数据源切换到与当前网络带宽相匹配的第二码率的数据源进行播放。
在本申请实施例中,当多媒体数据的播放过程中暂停次数过多,也就是卡顿现象过多,说明此时的网络环境不足以维持当前第一码率的多媒体数据的正常播放,此时可以停止从缓存区中读取当前第一码率的多媒体数据,也就是停止当前第一码率的多媒体数据的播放,然后从服务器中获取第二码率的多媒体数据的数据源,进而从服务器中缓存第二码率的多媒体数据并存储的缓存区中,当缓存区中存储的第二码率的多媒体数据的数据量的播放时长满足预设的播放时长时,开始从缓存区中读取多媒体数据的第二码率的数据源,也就是开始播放第二码率的多媒体数据。
比如,如果当前正在播放第一码率的数据源,而通过周期性测量的预设时间段内的平均网络带宽,判断出第一码率的数据源难以维持正常播放,需要切换到第二码率的数据源,则首先停止读取第一码率的数据源,同时停止从服务器中缓存第一码率的数据源,然后客户端向服务器发起码率切换请求,服务器响应于客户端的请求,会将存储多媒体数据的第二数据源的第二地址发送给客户端,这里的第二地址与多媒体数据的第二码率相对应,此时客户端链接到该第二地址,下载或缓存第二地址的第二数据源,即可播放第二码率的多媒体数据。
在这里,确定第一码率的方法与从服务器中获取第二码率的数据源的方法,均可以利用现有的成熟技术,本申请实施例中不再赘述。而设置第二码率小于第一码率,可以在较差的网络环境下实现多媒体数据的流畅播放,也就是说,本申请实施例,在播放多媒体数据过程中,如果网络带宽的状况变差,可以自动切换播放与变差的网络带宽相匹配的低码率数据,解决在观看电视节目时的卡顿问题,能够保证流畅清晰地观看节目,提高用户体验。
实施例五:
图5为本申请提供的又一种智能电视的多媒体数据缓存方法的流程示意图。
请参照图5所示,本申请实施例提供的智能电视的多媒体数据缓存方法,在上述实施例提供的方法的基础上,还包括:
S000:在开始从缓存区中读取多媒体数据之前,从服务器中获取多媒体数据并存储到所述缓存区中,并根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为初始播放时长;
在本申请实施例中,在开始从缓存区中读取多媒体数据之前,即开始播放之前,会在从服务器中获取多媒体数据并存储到所述缓存区中的同时,实时根据所述缓存区中存储的多媒体数据的数据量,来确定缓存区中存储的多媒体数据的播放时长,作为初始播放时长。
在这里,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长的方法可以采用本领域的现有方法,本申请实施例中不再赘述。
S001:判断所述初始播放时长是否大于或等于第二门限值;
S002:当所述初始播放时长大于或等于所述第二门限值时,开始从所述缓存区中读取多媒体数据。
这里的第二门限值与上述实施例中的第二门限值相同,是预设的一个播放时长阈值,比如30秒,在开始从缓存区中读取多媒体数据之前,也即多媒体数据在开始播放之前,只有当缓存区中存储的数据的初始播放时长大于或等于这个第二门限值时,才可以开始读取缓存区中的多媒体数据,也即开始播放多媒体数据。
在本申请实施例中,为了使多媒体数据在刚刚开始播放之后不会因为缓存区中的数据被很快读取完而很快再次暂停,可以设置第二门限值大于第一门限值,这样就可以使多媒体数据开始播放后的初始播放时长至少不小于第二门限值与第一门限值的差值。
应用本申请实施例提供的技术方案,只有实时确定的缓存区中的多媒体数据的初始播放时长大于或等于第二门限值时,才能开始从所述缓存区中读取多媒体数据。这样多媒体数据在刚刚开始播放之后不会因为缓存区中的数据被很快读取完而很快再次暂停,使多媒体数据开始播放后的初始播放时长至少不小于第二门限值与第一门限值的差值,可以进一步提升用户体验。
实施例六:
图6为本申请提供的一种智能电视的多媒体数据缓存装置的结构示意图。
请参照图6所示,本申请实施例提供的一种智能电视的多媒体数据缓存装置,包括:
第一确定模块1,用于在从缓存区中读取多媒体数据的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第一播放时长;
在本申请实施例中,从缓存区中读取多媒体数据是指读取缓存区中的多媒体数据并在电视中播放,也就是说,此时多媒体数据正处于播放过程中。
在这里,多媒体数据的数据量的播放时长与多媒体数据的码率相关,码率越大,相同的数据量可供播放的时间越短,码率越小,相同的数据量可供播放的时间越长,因此,现有技术中根据缓存的数据量来判断是否可供播放,会导致在播放高码率的多媒体数据时,数据量已经达到预设值但可供播放的时长很短,这样就会导致卡顿现象的频繁发生。
在本申请实施例中,是实时根据所述缓存区中存储的多媒体数据的数据量的播放时长,即第一播放时长,来确定是否可供播放,这样,当多媒体数据的码率较大时,会缓存较多的数据量才开始播放,当多媒体数据的码率较小时,会缓存较小的数据量就开始播放,因此不会因单位播放时间的数据量变大而导致卡顿现象的频繁发生,即两次卡顿之间的正常播放时间不会随着视频码率的增大而变短。
在这里,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长的方法可以采用本领域的现有方法,本申请实施例中不再赘述。
第一判断模块2,用于判断所述第一播放时长是否大于或等于第一门限值;
第一读取模块3,用于当所述第一播放时长大于或等于所述第一门限值时,继续从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中。
这里的第一门限值是预设的一个播放时长阈值,比如5秒,在多媒体数据的播放过程中,只要缓存区中的数据大于或等于这个第一门限值,就说明缓存区中的数据可以维持一边缓存一边播放,即,在从服务器中缓存多媒体数据到缓存区的过程中,维持多媒体数据的正常播放。
应用本申请实施例提供的技术方案,在从缓存区中读取多媒体数据的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第一播放时长;判断所述第一播放时长是否大于或等于第一门限值;当所述第一播放时长大于或等于所述第一门限值时,继续从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中。这样在播放多媒体数据过程中,是根据缓存区中存储的多媒体数据的播放时长与预设的门限值来比较,从而确定是否可以维持播放,这样即使是高码率的数据,也会按照缓存的数据的播放时长是否满足预设时长来判断是否可以维持播放,不会因单位播放时间的数据量变大而导致卡顿现象的频繁发生,即两次卡顿之间的正常播放时间不会随着视频码率的增大而变短,可以避免用户的观看过程被频繁打断,即避免播放的连续性不强,解决当观看的节目码率越高,卡顿现象就会越频繁的问题,增强播放的连续性,提升用户体验。
实施例七:
图7为本申请提供的另一种智能电视的多媒体数据缓存装置的结构示意图。
请参照图7所示,在上述实施例的基础上,
所述第一读取模块3还用于:当所述第一播放时长小于所述第一门限值时,暂停从所述缓存区中读取多媒体数据,并从服务器中获取多媒体数据并存储到所述缓存区中;
则,本申请实施例提供的一种智能电视的多媒体数据缓存装置,还包括:
第二确定模块4,用于在从服务器中获取多媒体数据并存储到所述缓存区中的同时,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为第二播放时长;
这里的第一门限值是预设的一个播放时长阈值,比如5秒,在多媒体数据的播放过程中,如果缓存区中的数据小于这个播放时长阈值,就说明缓存区中的数据不足以维持一边缓存一边播放,在这种情况下,暂停从缓存区中读取多媒体数据,也就是暂停多媒体数据的播放,同时继续从服务器中缓存多媒体数据到缓存区中,以便更快地累积缓存区中缓存的多媒体数据的数据量。
在本申请实施例中,在暂停从缓存区中读取多媒体数据后,即暂停播放后,会在从服务器中获取多媒体数据并存储到所述缓存区中的同时,实时根据所述缓存区中存储的多媒体数据的数据量,来确定缓存区中存储的多媒体数据的播放时长,作为第二播放时长。
在这里,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长的方法可以采用本领域的现有方法,本申请实施例中不再赘述。
第二判断模块5,用于判断所述第二播放时长是否大于或等于第二门限值;所述第二门限值大于所述第一门限值;
第二读取模块6,用于当所述第二播放时长大于或等于所述第二门限值时,继续从所述缓存区中读取多媒体数据。
这里的第二门限值是预设的另一个播放时长阈值,比如30秒,在暂停从缓存区中读取多媒体数据,也即多媒体数据的播放被暂停后,只有当缓存区中存储的数据的播放时长大于或等于这个第二门限值时,才可以恢复读取缓存区中的多媒体数据,也即恢复播放多媒体数据,也就是说,在暂停多媒体数据的播放后,继续从服务器中缓存多媒体数据到缓存区,只有当缓存区中存储的数据大于或等于这个第二门限值时,才可以恢复多媒体数据的正常播放。
在本申请实施例中,为了使多媒体数据在恢复播放后不会因为缓存区中的数据被很快读取完而很快再次暂停,可以设置第二门限值大于第一门限值,这样就可以使多媒体数据至少能够持续播放的时长等于第二门限值与第一门限值的差值。
应用本申请实施例提供的技术方案,当所述第一播放时长小于所述第一门限值,暂停从所述缓存区中读取多媒体数据后,只有实时确定的缓存区中的多媒体数据的播放时长大于或等于第二门限值时,才能恢复从所述缓存区中读取多媒体数据。这样在多媒体数据的播放被暂停后,是根据缓存区中存储的多媒体数据的播放时长与预设的第二门限值来比较,从而确定是否可以恢复播放,这样多媒体数据在恢复播放后不会因为缓存区中的数据被很快读取完而很快再次暂停,可以进一步提升用户体验。
实施例八:
图8为本申请提供的再一种智能电视的多媒体数据缓存装置的结构示意图。
请参照图8所示,本申请实施例提供的一种智能电视的多媒体数据缓存装置,在上述实施例的基础上,还包括:
累计模块7,用于累计所述暂停从所述缓存区中读取多媒体数据的暂停次数;
第三判断模块8,用于判断所述暂停次数是否大于或等于预设阈值;
第三读取模块9,用于当所述暂停次数大于或等于所述预设阈值时,停止从所述缓存区中读取多媒体数据。
在本申请实施例中,当多媒体数据的播放过程中暂停次数过多,也就是卡顿现象过多,说明此时的网络环境不足以维持多媒体数据的正常播放,此时可以停止从缓存区中读取多媒体数据,也就是停止多媒体数据的播放。
实施例九:
图9为本申请提供的又一种智能电视的多媒体数据缓存装置的结构示意图。
请参照图9所示,本申请实施例提供的一种智能电视的多媒体数据缓存装置,在上述实施例的基础上,还包括:
获取模块10,用于在所述停止从所述缓存区中读取多媒体数据之前,获取所述缓存区中的多媒体数据的码率并作为第一码率;
通常,在用户点播一个多媒体数据之后,客户端在播放一个多媒体数据之前,会要求用户或服务器根据播放前的初始网络带宽,从服务器提供的几种不同码率的对应的数据源中确定一种与初始网络带宽相匹配的码率,即本申请实施例中的第一码率。
而当确定需要播放第一码率的多媒体数据后,客户端可以向服务器请求多媒体数据的第一码率的数据源,服务器响应于客户端的请求,会将存储多媒体数据的数据源的第一地址发送给客户端,这里的第一地址与多媒体数据的第一码率相对应,此时客户端链接到该第一地址,下载或缓存第一地址的数据源,即可开始播放第一码率的多媒体数据。
在这里,初始网络带宽的测量可以通过服务器与客户端互发报文,并测量报文的发送速度来实现;也可以上传或下载一定量的数据,测量数据的上传或下载时间,计算单位时间上传或下载的数据量,作为初始网络带宽。本申请实施例并不对初始网络带宽的测量方法做任何限定。
第四读取模块11,用于在所述停止从所述缓存区中读取多媒体数据之后,从服务器中获取所述多媒体数据的第二码率的数据源并存储到所述缓存区中,开始从缓存区中读取多媒体数据的所述第二码率的数据源;所述第二码率小于所述第一码率。
在这里,可以将多媒体数据的码率划分为多个级别,比如第二码率可以对应720P,第一码率可以对应1080P,而当第一码率的数据源不能维持正常播放时,说明网络带宽的状况已经变差,对当前播放造成的影响较大,更适于将当前播放的第一码率的数据源切换到与当前网络带宽相匹配的第二码率的数据源进行播放。
在本申请实施例中,当多媒体数据的播放过程中暂停次数过多,也就是卡顿现象过多,说明此时的网络环境不足以维持当前第一码率的多媒体数据的正常播放,此时可以停止从缓存区中读取当前第一码率的多媒体数据,也就是停止当前第一码率的多媒体数据的播放,然后从服务器中获取第二码率的多媒体数据的数据源,进而从服务器中缓存第二码率的多媒体数据并存储的缓存区中,当缓存区中存储的第二码率的多媒体数据的数据量的播放时长满足预设的播放时长时,开始从缓存区中读取多媒体数据的第二码率的数据源,也就是开始播放第二码率的多媒体数据。
比如,如果当前正在播放第一码率的数据源,而通过周期性测量的预设时间段内的平均网络带宽,判断出第一码率的数据源难以维持正常播放,需要切换到第二码率的数据源,则首先停止读取第一码率的数据源,同时停止从服务器中缓存第一码率的数据源,然后客户端向服务器发起码率切换请求,服务器响应于客户端的请求,会将存储多媒体数据的第二数据源的第二地址发送给客户端,这里的第二地址与多媒体数据的第二码率相对应,此时客户端链接到该第二地址,下载或缓存第二地址的第二数据源,即可播放第二码率的多媒体数据。
在这里,确定第一码率的方法与从服务器中获取第二码率的数据源的方法,均可以利用现有的成熟技术,本申请实施例中不再赘述。而设置第二码率小于第一码率,可以在较差的网络环境下实现多媒体数据的流畅播放,也就是说,本申请实施例,在播放多媒体数据过程中,如果网络带宽的状况变差,可以自动切换播放与变差的网络带宽相匹配的低码率数据,解决在观看电视节目时的卡顿问题,能够保证流畅清晰地观看节目,提高用户体验。
实施例十:
图10为本申请提供的又一种智能电视的多媒体数据缓存装置的结构示意图。
请参照图10所示,本申请实施例提供的一种智能电视的多媒体数据缓存装置,在上述实施例的基础上,还包括:
第三确定模块12,用于在开始从缓存区中读取多媒体数据之前,从服务器中获取多媒体数据并存储到所述缓存区中,并根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长并作为初始播放时长;
在本申请实施例中,在开始从缓存区中读取多媒体数据之前,即开始播放之前,会在从服务器中获取多媒体数据并存储到所述缓存区中的同时,实时根据所述缓存区中存储的多媒体数据的数据量,来确定缓存区中存储的多媒体数据的播放时长,作为初始播放时长。
在这里,根据所述缓存区中存储的多媒体数据的数据量,确定所述缓存区中存储的多媒体数据的播放时长的方法可以采用本领域的现有方法,本申请实施例中不再赘述。
第四判断模块13,用于判断所述初始播放时长是否大于或等于第二门限值;
第五读取模块14,用于当所述初始播放时长大于或等于所述第二门限值时,开始从所述缓存区中读取多媒体数据。
这里的第二门限值与上述实施例中的第二门限值相同,是预设的一个播放时长阈值,比如30秒,在开始从缓存区中读取多媒体数据之前,也即多媒体数据在开始播放之前,只有当缓存区中存储的数据的初始播放时长大于或等于这个第二门限值时,才可以开始读取缓存区中的多媒体数据,也即开始播放多媒体数据。
在本申请实施例中,为了使多媒体数据在刚刚开始播放之后不会因为缓存区中的数据被很快读取完而很快再次暂停,可以设置第二门限值大于第一门限值,这样就可以使多媒体数据开始播放后的初始播放时长至少不小于第二门限值与第一门限值的差值。
应用本申请实施例提供的技术方案,只有实时确定的缓存区中的多媒体数据的初始播放时长大于或等于第二门限值时,才能开始从所述缓存区中读取多媒体数据。这样多媒体数据在刚刚开始播放之后不会因为缓存区中的数据被很快读取完而很快再次暂停,使多媒体数据开始播放后的初始播放时长至少不小于第二门限值与第一门限值的差值,可以进一步提升用户体验。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种智能电视的多媒体数据缓存方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。