一种视频加载方法、装置及电子设备与流程

文档序号:20616906发布日期:2020-05-06 20:16阅读:219来源:国知局
一种视频加载方法、装置及电子设备与流程

本发明涉及视频处理技术领域,特别是涉及一种视频加载方法、装置及电子设备。



背景技术:

随着网络技术和智能终端快速发展,网速越来越快,使用智能终端播放网络视频也逐渐普及,比如用户在智能设备点击网络视频,智能设备将服务器上存储的该网络视频加载至本地进行播放。

智能设备加载网络视频至本地进行播放的具体过程为:智能设备首先与服务器建立连接,然后发送获取网络视频的获取请求至服务器,服务器在接收到获取请求后,对该网络视频进行切片,然后将切片后的视频文件发送至智能终端,该智能终端接收到切片后的视频文件后,先将切片后的视频文件还原为该网络视频,然后对该网络视频进行解码、渲染等操作。

然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:

现有技术中是用户点击待播放网络视频后,智能终端才开始从服务器加载该待播放网络视频,而由于从服务器下载该待播放网络视频受网络延迟和网速的影响,智能终端需要消耗较长时间来加载该网络视频,使得用户在点击待播放网络视频时,不能立即观看该网络视频,从而降低了用户体验。



技术实现要素:

本发明实施例的目的在于提供一种视频加载方法、装置及电子设备,以实现解决从用户点击到播放该待播放视频消耗时间较长的问题,提高用户体验。

具体技术方案如下:

在本发明实施的一个方面,本发明实施例提供了一种视频加载方法,应用于客户端,客户端包括至少两个预加载池,该方法包括:

在客户端启动后,确定客户端显示的页面所处的场景;

基于页面所处的场景,确定待加载视频;

获取待加载视频的播放频率,并基于播放频率确定待加载视频的对应的预加载池,其中,预加载池的容量根据安装客户端的设备的内存占用情况动态调节;

将待加载视频的开头片段加载至对应的预加载池;

当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段,其中,开头片段为待加载视频的前n秒的视频帧,其余部分片段为待加载视频的第n秒之后的所有视频帧。

可选的,该视频加载方法还包括:

每隔预设时间间隔或在将待加载视频的开头片段加载至对应的预加载池之前,获取终端设备的内存占用,当内存占用大于预设内存阈值时,降低至少两个预加载池的容量,当内存占用不大于预设内存阈值时,保持至少两个预加载池的当前容量,或者将至少两个预加载池的容量调节为预设初始值。

可选的,至少两个预加载池包括:常驻预加载池和暂驻预加载池,获取待加载视频的播放频率,并基于播放频率确定待加载视频对应的预加载池,包括:

获取待加载视频的播放频率,并判断待加载视频的播放频率是否大于或等于预设播放频率阈值;

如果是,确定待加载视频对应的预加载池为常驻预加载池;否则,确定待加载视频对应的预加载池为暂驻预加载池;

从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,包括:

在待加载视频的开头片段缓存在常驻预加载池时,从常驻预加载池中获取待加载视频的开头片段进行播放;

在待加载视频的开头片段缓存在暂驻预加载池时,从暂驻预加载池中获取待加载视频的开头片段进行播放。

可选的,在将待加载视频的开头片段加载至对应的预加载池之前,该视频加载方法还包括:

在待加载视频对应的预加载池中的可用容量为0时,根据先进先出的原则,删除待加载视频对应的预加载池中最先加载的至少一个已缓存视频。

可选的,页面所处的场景包括:主界面显示场景;基于页面所处的场景,确定待加载视频,包括:

在页面所处的场景为主界面场景时,获取客户端保存的历史播放记录或用户感兴趣视频,并将历史播放记录或用户感兴趣视频中的至少一个视频作为待加载视频。

可选的,页面所处的场景包括:视频列表页面显示场景;基于页面所处的场景,确定待加载视频,包括:

在页面所处的场景为视频列表页面场景时,获取视频列表页面中的至少一个视频作为待加载视频。

可选的,页面所处的场景包括:视频搜索场景;基于页面所处的场景,确定待加载视频,包括:

在页面所处的场景为视频搜索场景时,从视频搜索场景对应的搜索结果页面中,按照与搜索关键词相关度从高到低的顺序,将搜索结果中的至少一个视频作为待加载视频。

可选的,页面所处的场景包括:视频播放场景;基于页面所处的场景,确定待加载视频,包括:

在页面所处的场景为视频播放场景时,获取与当前播放视频相关联的至少一个视频作为待加载视频。

可选的,页面所处的场景包括:推送视频点击场景;基于页面所处的场景,确定待加载视频,包括:

在页面所处的场景为推送视频点击场景时,确定用户点击的视频,并将用户点击的视频作为待加载视频,其中,用户点击的视频为客户端推送给用户的视频。

在本发明实施的又一方面,本发明实施例还提供了一种视频加载装置,应用于客户端,客户端包括至少两个预加载池,该装置包括:

场景确定模块,用于在客户端启动后,确定客户端显示的页面所处的场景;

待加载视频确定模块,用于基于页面所处的场景,确定待加载视频;

预加载池确定模块,用于获取待加载视频的播放频率,并基于播放频率确定待加载视频的对应的预加载池,其中,预加载池的容量根据安装客户端的设备的内存占用情况动态调节;

加载模块,用于将待加载视频的开头片段加载至对应的预加载池;

视频片段播放模块,用于当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段,其中,开头片段为待加载视频的前n秒的视频帧,其余部分片段为待加载视频的第n秒之后的所有视频帧。

可选的,该视频加载装置还包括:

每隔预设时间间隔或在将待加载视频的开头片段加载至对应的预加载池之前,获取终端设备的内存占用,当内存占用大于预设内存阈值时,降低至少两个预加载池的容量,当内存占用不大于预设内存阈值时,保持至少两个预加载池的当前容量,或者将至少两个预加载池的容量调节为预设初始值。

可选的,至少两个预加载池包括:常驻预加载池和暂驻预加载池,预加载池确定模块,具体用于:

获取待加载视频的播放频率,并判断待加载视频的播放频率是否大于或等于预设播放频率阈值;

如果是,确定待加载视频对应的预加载池为常驻预加载池;否则,确定待加载视频对应的预加载池为暂驻预加载池;

视频片段播放模块,具体用于:

在待加载视频的开头片段缓存在常驻预加载池时,从常驻预加载池中获取待加载视频的开头片段进行播放;

在待加载视频的开头片段缓存在暂驻预加载池时,从暂驻预加载池中获取待加载视频的开头片段进行播放。

可选的,视频加载装置还包括:

在待加载视频对应的预加载池中的可用容量为0时,根据先进先出的原则,删除待加载视频对应的预加载池中最先加载的至少一个已缓存视频。

可选的,页面所处的场景包括:主界面显示场景;待加载视频确定模块,具体用于:

在页面所处的场景为主界面场景时,获取客户端保存的历史播放记录或用户感兴趣视频,并将历史播放记录或用户感兴趣视频中的至少一个视频作为待加载视频。

可选的,页面所处的场景包括:视频列表页面显示场景;待加载视频确定模块,具体用于:

在页面所处的场景为视频列表页面场景时,获取视频列表页面中的至少一个视频作为待加载视频。

可选的,页面所处的场景包括:视频搜索场景;待加载视频确定模块,具体用于:

在页面所处的场景为视频搜索场景时,从视频搜索场景对应的搜索结果页面中,按照与搜索关键词相关度从高到低的顺序,将搜索结果中的至少一个视频作为待加载视频。

可选的,页面所处的场景包括:视频播放场景;待加载视频确定模块,具体用于:

在页面所处的场景为视频播放场景时,获取与当前播放视频相关联的至少一个视频作为待加载视频。

可选的,页面所处的场景包括:推送视频点击场景;待加载视频确定模块,具体用于:

在页面所处的场景为推送视频点击场景时,确定用户点击的视频,并将用户点击的视频作为待加载视频,其中,用户点击的视频为客户端推送给用户的视频。

在本发明实施的又一方面,本发明实施例还提供了一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

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

处理器,用于执行存储器上所存放的程序时,实现上述任一种视频加载方法。

在本发明实施的又一方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一种视频加载方法。

在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一种视频加载方法。

本发明实施例提供的一种视频加载方法、装置及电子设备,可以在客户端启动后,确定客户端显示的页面所处的场景;然后基于页面所处的场景,确定待加载视频;获取待加载视频的播放频率,并基于播放频率确定待加载视频对应的预加载池,这样,可以将待加载视频的开头片段加载至对应的预加载池;当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段。通过确定页面所处的场景,可以得到与用户感兴趣的视频相关度比较高的视频,从而可以提前将该与用户感兴趣的视频相关度比较高的视频加载到对应的预加载池,可以在用户播放该待加载视频时,直接从该待加载视频对应的预加载池中获取到该待加载视频的开头片段进行播放,并且可以继续对该待加载视频的其余视频片段进行播放,减少了用户从点击到播放待该播放视频之间消耗的时长,从而可以提高用户体验。当然,实施本发明的任一产品或方法必不一定需要同时达到上述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例的一种视频加载方法第一种实施方式的流程图;

图2为本发明实施例的一种视频加载方法第二种实施方式的流程图;

图3为本发明实施例的一种视频加载方法第三种实施方式的流程图;

图4为本发明实施例的一种视频加载方法第四种实施方式的流程图;

图5为本发明实施例的一种视频加载装置的结构示意图;

图6为本发明实施例的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

为了解决现有技术存在的问题,本发明实施例提供了一种视频加载方法、装置及电子设备,以实现解决从用户点击到播放该待播放视频消耗时间较长的问题,提高用户体验。

下面,首先对本发明实施例的一种视频加载方法进行介绍,如图1所示,为本发明实施例的一种视频加载方法第一种实施方式的流程图,该方法可以应用于客户端,该客户端可以包括至少两个预加载池,该方法可以包括:

s110,在客户端启动后,确定客户端显示的页面所处的场景;

s120,基于页面所处的场景,确定待加载视频;

s130,获取待加载视频的播放频率,并基于播放频率确定待加载视频的对应的预加载池,其中,预加载池的容量根据安装客户端的设备的内存占用情况动态调节;

s140,将待加载视频的开头片段加载至对应的预加载池;

s150,当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段,其中,开头片段为待加载视频的前n秒的视频帧,其余部分片段为待加载视频的第n秒之后的所有视频帧。

本发明实施例提供的一种视频加载方法,可以在客户端启动后,确定客户端显示的页面所处的场景;然后基于页面所处的场景,确定待加载视频;获取待加载视频的播放频率,并基于播放频率确定待加载视频对应的预加载池,这样,可以将待加载视频的开头片段加载至对应的预加载池;当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段。通过确定页面所处的场景,可以得到与用户感兴趣的视频相关度比较高的视频,从而可以提前将该与用户感兴趣的视频相关度比较高的视频加载到对应的预加载池,可以在用户播放该待加载视频时,直接从该待加载视频对应的预加载池中获取到该待加载视频的开头片段进行播放,并且可以继续对该待加载视频的其余视频片段进行播放,减少了用户从点击到播放待该播放视频之间消耗的时长,从而可以提高用户体验。

在一种可能的实现方式中,在图1所示的一种视频加载方法的基础上,本发明实施例还提供了一种可能的实现方式,如图2所示,为本发明实施例的一种视频加载方法第二种实施方式的流程图,在s140,将待加载视频的开头片段加载至对应的预加载池之前,该方法还可以包括:

s160,获取安装客户端的终端设备的内存占用,当内存占用大于预设内存阈值时,降低至少两个预加载池的容量,当内存占用不大于预设内存阈值时,保持至少两个预加载池的当前容量,或者将至少两个预加载池的容量调节为预设初始值。

在一些示例中,为了实现对上述的两个预加载池的容量的动态可控,避免该上述的至少两个预加载池的容量过多占用安装该客户端的终端设备的内存,可以在将待加载视频的开头片段加载至对应的预加载池之前,可以先获取安装该客户端的终端设备的内存占用,以了解该终端设备当前的内存占用。

当该终端设备的内存占用大于预设内存阈值时,则说明该终端设备的内存占用过多,此时,可以释放该至少两个预加载池的部分容量,以降低该至少两个预加载池的容量对终端设备的内存的占用。具体的,可以降低该至少两个预加载池的容量。

当内存占用不大于预设内存阈值时,则说明该终端设备的内存占用较少,则可以保持至少两个预加载池的当前容量,或者将至少两个预加载池的容量调节为预设初始值。例如,当内存占用等于预设内存阈值时,可以保持该至少两个预加载池的当前容量,当内存占用小于预设内存阈值时,可以将该至少两个预加载池的容量调节为预设初始值。

在又一些示例中,该预设初始值可以是基于该终端设备的内存总容量的大小来设置的初始值。当该终端设备的内存总容量较大时,该预设初始值可以设置的较大,当该终端设备的内存总容量较小时,该预设初始值可以设置的较小。

这样,可以实现根据终端设备的内存占用情况来动态调节上述的至少两个加载池的容量,从而可以实现对该至少两个预加载池的容量的动态调节。

在一种可能的实现方式中,在图1所示的一种视频加载方法的基础上,本发明实施例还提供了一种可能的实现方式,如图3所示,为本发明实施例的一种视频加载方法第三种实施方式的流程图,该方法可以包括:

s310,在客户端启动后,确定客户端显示的页面所处的场景;

s320,基于页面所处的场景,确定待加载视频;

s330,获取待加载视频的播放频率,并判断待加载视频的播放频率是否大于或等于预设播放频率阈值;如果是,执行步骤s340,否则,执行步骤s370,

s340,确定待加载视频对应的预加载池为常驻预加载池;

s350,将待加载视频的开头片段加载至常驻预加载池;

s360,当接收到针对待加载视频的播放指令时,从常驻预加载池中获取待加载视频的开头片段进行播放,并继续缓存待加载视频的其余部分片段,其中,开头片段为待加载视频的前n秒的视频帧,其余部分片段为待加载视频的第n秒之后的所有视频帧。

s370,确定待加载视频对应的预加载池为暂驻预加载池;

s380,将待加载视频的开头片段加载至暂驻预加载池;

s390,当接收到针对待加载视频的播放指令时,从暂驻预加载池中获取待加载视频的开头片段进行播放,并继续缓存待加载视频的其余部分片段。

在一些示例中,本发明实施例的一种视频加载方法,可以应用于在终端电子设备上运行的客户端,该客户端可以是安装于该终端电子设备上的应用程序,也可以是运行于该终端电子设备的浏览器客户端上的应用程序。该终端电子设备可以是个人电脑、掌上电脑、平板电脑、手机等电子设备,这里不作限定。

在又一些示例中,当该客户端被启动后,该客户端可以显示一个页面或窗口,因此,可以基于该客户端显示的页面或窗口来确定该客户端显示的页面所处的场景。

在一些示例中,对于不同的场景,待加载的视频通常是不同的,因此,可以基于客户端显示的页面所处的场景,来确定待加载视频。

在又一些示例中,不同的待加载视频,通常具有不同的播放频率,该待加载视频的播放频率可以是服务器基于不同用户在一特定时间段内播放该待加载视频的次数计算出的。为了对预加载池进行高效利用以及方便对待加载视频的管理,可以在上述的终端设备上设置至少两个预加载池,例如,可以设置一个暂驻预加载池和一个常驻预加载池。

然后可以获取该待加载视频的播放频率,然后可以将该待加载视频的播放频率与预先设置的播放频率阈值进行比较,当该待加载视频的播放频率高于或等于该预先设置的播放频率阈值时,则说明该待加载视频的播放频率较高,可能会频繁进行播放,因此,可以将该待加载视频缓存至上述的常驻预加载池。

当该待加载视频的播放频率低于该预先设置的播放频率阈值时,则说明该待加载视频的播放频率较低,可能不会频繁进行播放,则可以将该待加载视频缓存至上述的暂驻预加载池。

这样,可以将频繁播放的待加载视频缓存至常驻预加载池,将不是频繁播放的待加载视频缓存至暂驻预加载池,从而可以提高各个预加载池的利用率,避免对频繁播放的待加载视频的频繁加载,降低加载成本和节省宽带。

在一些示例中,可以按照先进先出的顺序,将待加载视频的前n秒的视频帧加载至对应的预加载池。

在一些示例中,该待加载视频的前n秒的视频帧可以是根据经验预先设置的视频片段,其中,该n大于0。

在又一些示例中,该待加载视频的前n秒的视频帧也可以是预设时长与该客户端当前帧率的乘积,该客户端当前的帧率可以是基于该客户端当前的码率来设置的,也就是说,当该客户端当前的码率越高,则该客户端当前的帧率可以设置的更高一些,当该客户端当前的码率越低,则该客户端当前的帧率可以设置的更低一些。

在对待加载视频加载后,用户可以在客户端选择一个视频进行播放,则该客户端可以接收到一个用户选择播放的视频的播放指令,然后,可以判断用户选择播放的视频是否缓存在上述的常驻预加载池或暂驻预加载池中。

当该用户选择播放的视频是缓存在常驻预加载池中的视频时,则可以从常驻预加载池中获取该视频的开头片段进行播放,并继续缓存该视频的其余部分片段。可以理解的是,该该用户选择播放的视频是在视频播放之前,缓存至该常驻预加载池中的待加载视频。

当该用户选择播放的视频是缓存在暂驻预加载池中的视频时,则可以从暂驻预加载池中获取待加载视频的开头片段进行播放,并继续缓存待加载视频的其余部分片段。可以理解的是,该该用户选择播放的视频是在视频播放之前,缓存至该暂驻预加载池中的待加载视频。

通过本发明实施例,可以实现对不同预加载池中缓存的视频片段的播放,从而可以使得当用户选择播放缓存至任一个预加载池中的待加载视频时,可以立即对该待播放视频的视频片段进行播放,避免用户在选择待播放视频后,需要等待一段时间才能播放,从而可以提高用户体验。

应当理解的是,本发明实施例的步骤s310和s320与本发明实施例的第一种实施方式中的步骤s110和s120相同,这里不再赘述。

在一种可能的实现方式中,在图3所示的一种视频加载方法的基础上,本发明实施例还提供了一种可能的实现方式,如图4所示,为本发明实施例的一种视频加载方法第四种实施方式的流程图,该方法可以包括:

s401,在客户端启动后,确定客户端显示的页面所处的场景;

s402,基于页面所处的场景,确定待加载视频;

s403,获取待加载视频的播放频率,并判断待加载视频的播放频率是否大于或等于预设播放频率阈值;如果是,执行步骤s404,否则执行步骤s409,

s404,确定待加载视频对应的预加载池为常驻预加载池;

s405,判断常驻预加载池的可用容量是否为0,如果是,执行步骤s406,否则执行步骤s407。

s406,根据先进先出的原则,删除常驻预加载池中最先加载的至少一个已缓存视频;

s407,将待加载视频的开头片段加载至常驻预加载池;

s408,当接收到针对待加载视频的播放指令时,从常驻预加载池中获取待加载视频的开头片段进行播放,并继续缓存待加载视频的其余部分片段,其中,开头片段为待加载视频的前n秒的视频帧,其余部分片段为待加载视频的第n秒之后的所有视频帧。

s409,确定待加载视频对应的预加载池为暂驻预加载池;

s410,判断暂驻预加载池的可用容量是否为0,如果是,执行步骤s411,否则执行步骤s412。

s411,根据先进先出的原则,删除暂驻预加载池中最先加载的至少一个已缓存视频;

s412,将待加载视频的开头片段加载至暂驻预加载池;

s413,当接收到针对待加载视频的播放指令时,从暂驻预加载池中获取待加载视频的开头片段进行播放,并继续缓存待加载视频的其余部分片段。

在一些示例中,该页面所处的场景可以包括:主界面显示场景、视频列表页面显示场景、视频搜索场景、视频播放场景、推送视频点击场景。

例如,当用户启动客户端后,该客户端显示的页面所处的场景通常为主界面显示场景,对此,可以获取客户端保存的历史播放记录或用户感兴趣视频,然后将该历史播放记录或用户感兴趣视频中的至少一个视频作为待加载视频。

然后可以向服务器发送获取待加载视频的前n秒的视频帧的获取请求,该服务器在接收到该获取请求后,可以将该待加载视频的前n秒的视频帧发送至该客户端。该客户端可以对该待加载视频的前n秒的视频帧进行缓存。

其中,该用户感兴趣视频可以是客户端或者服务器基于用户的历史播放的视频,对该用户的观影爱好进行分析得到的。

又例如,当用户点击该主界面中的一个菜单后,可以显示该菜单对应的视频列表,此时,该页面所处的场景则为视频列表页面场景。例如,用户点击的菜单为“电视剧”菜单,则该页面所处的场景则为“电视剧”菜单所对应的视频列表页面场景。此时,则可以将所述视频列表页面中的至少一个视频作为所述待加载视频。

在又一些示例中,当用户在主界面的搜索框中输入搜索关键词进行搜索时,该客户端可以基于该搜索关键词,显示与该搜索关键词对应的搜索结果,该搜索结果可以包括与该搜索关键词对应的各个视频的介绍信息以及标识信息。用户可以基于该各个视频的介绍信息和标识信息,选择一个视频进行观看。

因此,在显示搜索结果页面时,则可以从所述视频搜索场景对应的搜索结果页面中,按照与所述搜索关键词相关度从高到低的顺序,将所述搜索结果中的至少一个视频作为所述待加载视频。然后向上述的服务器发送获取请求,以便获取该至少一个视频的前n秒的视频帧进行缓存。

在又一些示例中,当用户正在观看一正在播放的视频时,该正在播放的视频的界面上可以设置有视频播放列表,该视频播放列表中可以是在该正在播放的视频播放之后,即将播放的各个视频,也即,该即将播放的各个视频是与该当前正在播放的视频相关联的视频此时,可以将与当前播放视频相关联的至少一个视频作为所述待加载视频。然后可以向服务器发送获取与该当前播放视频相关联的至少一个视频的获取请求,以便在对任一个与该当前播放视频相关联的视频进行播放之前,对与该当前播放视频相关联的视频进行预加载。

在又一些示例中,上述的客户端可以向用户推送视频,当该客户端向用户推送视频时,该客户端可以记录有推送的视频的标识信息,当用户点击打开该推送的视频后,该客户端可以基于用户点击打开的视频和该客户端记录的推送的视频的标识信息,来确定用户点击的视频的页面是否为推送视频点击场景。当该用户点击打开的视频的标识信息与客户端记录的推送的视频的标识信息相同时,则可以确定该用户点击打开的视频的页面所处的场景为推送视频点击场景,此时,则可以将所述用户点击的视频作为所述待加载视频。

在又一些示例中,该用户的好友也可以通过第三方应用向该用户分享一个视频链接,当该用户点击该视频链接后,可以启动上述的客户端,当该客户端被启动后,可以基于该视频链接,从服务器中获取该视频的前n秒视频帧进行缓存,以便在播放该视频链接对应的视频之前,对与该视频链接对应的视频的前n秒视频帧进行预加载。

在又一些示例中,该暂驻预加载池或该常驻预加载池可以是队列结构,则可以按照从队首到队尾的顺序,将待加载视频的前n秒视频帧缓存至暂驻预加载池或常驻预加载池,也可以按照从队尾到队首的顺序,将待加载视频的前n秒视频帧缓存至暂驻预加载池或常驻预加载池。

在一些示例中,该暂驻预加载池或常驻预加载池的容量通常是有限的,为了避免该暂驻预加载池或常驻预加载池的容量被占用满后,后续的待加载视频无法缓存到该暂驻预加载池或常驻预加载池,可以在确定出待加载视频对应的预加载池后,判断该预加载池的可用容量是否为0。

例如,可以判断常驻预加载池的可用容量是否为0,如果是,则可以根据先进先出的原则,删除常驻预加载池中最先加载的至少一个已缓存视频。例如,可以将该常驻预加载池中队首或队尾的开头片段删除,然后将待加载视频的开头片段加载至常驻预加载池的队尾或队首。如果否,则可以直接将该待加载视频的开头片段加载至常驻预加载池的队尾或队首。

又例如,可以判断暂驻预加载池的可用容量是否为0,如果是,则可以根据先进先出的原则,删除暂驻预加载池中最先加载的至少一个已缓存视频。例如,可以将该暂驻预加载池中队首或队尾的开头片段删除,然后将待加载视频的开头片段加载至暂驻预加载池的队尾或队首。如果否,则可以直接将该待加载视频的开头片段加载至暂驻预加载池的队尾或队首。

通过本发明实施例,可以实现对该暂驻预加载池和常驻预加载池的循环利用,以及时删除缓存过久的视频片段,并将新的视频片段缓存至对应的预加载池中,以及时对该暂驻预加载池和常驻预加载池中的视频片段进行更新。

应当理解的是,本发明实施例的步骤s401~s404、s407~s409、s412以及s413与本发明实施例的第三种实施方式中的步骤s310~s390相同或相似,这里不再赘述。

相应于上述的方法实施例,本发明实施例还提供了一种视频加载装置,如图5所示,为本发明实施例的一种视频加载装置的结构示意图,该装置可以包括:

场景确定模块510,用于在客户端启动后,确定客户端显示的页面所处的场景;

待加载视频确定模块520,用于基于页面所处的场景,确定待加载视频;

预加载池确定模块530,用于获取待加载视频的播放频率,并基于播放频率确定待加载视频的对应的预加载池,其中,预加载池的容量根据安装客户端的设备的内存占用情况动态调节;

加载模块540,用于将待加载视频的开头片段加载至对应的预加载池;

视频片段播放模块550,用于当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段,其中,开头片段为待加载视频的前n秒的视频帧,其余部分片段为待加载视频的第n秒之后的所有视频帧。

本发明实施例提供的一种视频加载装置,可以在客户端启动后,确定客户端显示的页面所处的场景;然后基于页面所处的场景,确定待加载视频;获取待加载视频的播放频率,并基于播放频率确定待加载视频对应的预加载池,这样,可以将待加载视频的开头片段加载至对应的预加载池;当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段。通过确定页面所处的场景,可以得到与用户感兴趣的视频相关度比较高的视频,从而可以提前将该与用户感兴趣的视频相关度比较高的视频加载到对应的预加载池,可以在用户播放该待加载视频时,直接从该待加载视频对应的预加载池中获取到该待加载视频的开头片段进行播放,并且可以继续对该待加载视频的其余视频片段进行播放,减少了用户从点击到播放待该播放视频之间消耗的时长,从而可以提高用户体验。

在一些示例中,该视频加载装置还包括:

每隔预设时间间隔或在将待加载视频的开头片段加载至对应的预加载池之前,获取终端设备的内存占用,当内存占用大于预设内存阈值时,降低至少两个预加载池的容量,当内存占用不大于预设内存阈值时,保持至少两个预加载池的当前容量,或者将至少两个预加载池的容量调节为预设初始值。

在一些示例中,至少两个预加载池包括:常驻预加载池和暂驻预加载池,预加载池确定模块530,具体用于:

获取待加载视频的播放频率,并判断待加载视频的播放频率是否大于或等于预设播放频率阈值;

如果是,确定待加载视频对应的预加载池为常驻预加载池;否则,确定待加载视频对应的预加载池为暂驻预加载池;

视频片段播放模块550,具体用于:

在待加载视频的开头片段缓存在常驻预加载池时,从常驻预加载池中获取待加载视频的开头片段进行播放;

在待加载视频的开头片段缓存在暂驻预加载池时,从暂驻预加载池中获取待加载视频的开头片段进行播放。

在一些示例中,视频加载装置还包括:

在待加载视频对应的预加载池中的可用容量为0时,根据先进先出的原则,删除待加载视频对应的预加载池中最先加载的至少一个已缓存视频。

在一些示例中,页面所处的场景包括:主界面显示场景;待加载视频确定模块520,具体用于:

在页面所处的场景为主界面场景时,获取客户端保存的历史播放记录或用户感兴趣视频,并将历史播放记录或用户感兴趣视频中的至少一个视频作为待加载视频。

在一些示例中,页面所处的场景包括:视频列表页面显示场景;待加载视频确定模块520,具体用于:

在页面所处的场景为视频列表页面场景时,获取视频列表页面中的至少一个视频作为待加载视频。

在一些示例中,页面所处的场景包括:视频搜索场景;待加载视频确定模块520,具体用于:

在页面所处的场景为视频搜索场景时,从视频搜索场景对应的搜索结果页面中,按照与搜索关键词相关度从高到低的顺序,将搜索结果中的至少一个视频作为待加载视频。

在一些示例中,页面所处的场景包括:视频播放场景;待加载视频确定模块520,具体用于:

在页面所处的场景为视频播放场景时,获取与当前播放视频相关联的至少一个视频作为待加载视频。

在一些示例中,页面所处的场景包括:推送视频点击场景;待加载视频确定模块520,具体用于:

在页面所处的场景为推送视频点击场景时,确定用户点击的视频,并将用户点击的视频作为待加载视频,其中,用户点击的视频为客户端推送给用户的视频。

本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

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

处理器601,用于执行存储器603上所存放的程序时,实现上述任一视频加载方法实施例所述的步骤,例如,可以实现如下步骤:

在客户端启动后,确定客户端显示的页面所处的场景;

基于页面所处的场景,确定待加载视频;

获取待加载视频的播放频率,并基于播放频率确定待加载视频的对应的预加载池,其中,预加载池的容量根据安装客户端的设备的内存占用情况动态调节;

将待加载视频的开头片段加载至对应的预加载池;

当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段,其中,开头片段为待加载视频的前n秒的视频帧,其余部分片段为待加载视频的第n秒之后的所有视频帧。

本发明实施例提供的一种电子设备,可以在客户端启动后,确定客户端显示的页面所处的场景;然后基于页面所处的场景,确定待加载视频;获取待加载视频的播放频率,并基于播放频率确定待加载视频对应的预加载池,这样,可以将待加载视频的开头片段加载至对应的预加载池;当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段。通过确定页面所处的场景,可以得到与用户感兴趣的视频相关度比较高的视频,从而可以提前将该与用户感兴趣的视频相关度比较高的视频加载到对应的预加载池,可以在用户播放该待加载视频时,直接从该待加载视频对应的预加载池中获取到该待加载视频的开头片段进行播放,并且可以继续对该待加载视频的其余视频片段进行播放,减少了用户从点击到播放待该播放视频之间消耗的时长,从而可以提高用户体验。

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

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

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一视频加载方法实施例所述的步骤,例如,可以执行如下步骤:

在客户端启动后,确定客户端显示的页面所处的场景;

基于页面所处的场景,确定待加载视频;

获取待加载视频的播放频率,并基于播放频率确定待加载视频的对应的预加载池,其中,预加载池的容量根据安装客户端的设备的内存占用情况动态调节;

将待加载视频的开头片段加载至对应的预加载池;

当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段,其中,开头片段为待加载视频的前n秒的视频帧,其余部分片段为待加载视频的第n秒之后的所有视频帧。

本发明实施例提供的一种计算机可读存储介质,可以在客户端启动后,确定客户端显示的页面所处的场景;然后基于页面所处的场景,确定待加载视频;获取待加载视频的播放频率,并基于播放频率确定待加载视频对应的预加载池,这样,可以将待加载视频的开头片段加载至对应的预加载池;当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段。通过确定页面所处的场景,可以得到与用户感兴趣的视频相关度比较高的视频,从而可以提前将该与用户感兴趣的视频相关度比较高的视频加载到对应的预加载池,可以在用户播放该待加载视频时,直接从该待加载视频对应的预加载池中获取到该待加载视频的开头片段进行播放,并且可以继续对该待加载视频的其余视频片段进行播放,减少了用户从点击到播放待该播放视频之间消耗的时长,从而可以提高用户体验。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一视频加载方法实施例所述的步骤,例如,可以执行如下步骤:

在客户端启动后,确定客户端显示的页面所处的场景;

基于页面所处的场景,确定待加载视频;

获取待加载视频的播放频率,并基于播放频率确定待加载视频的对应的预加载池,其中,预加载池的容量根据安装客户端的设备的内存占用情况动态调节;

将待加载视频的开头片段加载至对应的预加载池;

当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段,其中,开头片段为待加载视频的前n秒的视频帧,其余部分片段为待加载视频的第n秒之后的所有视频帧。

本发明实施例提供的一种包含指令的计算机程序产品,可以在客户端启动后,确定客户端显示的页面所处的场景;然后基于页面所处的场景,确定待加载视频;获取待加载视频的播放频率,并基于播放频率确定待加载视频对应的预加载池,这样,可以将待加载视频的开头片段加载至对应的预加载池;当接收到针对待加载视频的播放指令时,从加载有待加载视频的开头片段的加载池中获取开头片段进行播放,并继续缓存待加载视频的其余部分片段。通过确定页面所处的场景,可以得到与用户感兴趣的视频相关度比较高的视频,从而可以提前将该与用户感兴趣的视频相关度比较高的视频加载到对应的预加载池,可以在用户播放该待加载视频时,直接从该待加载视频对应的预加载池中获取到该待加载视频的开头片段进行播放,并且可以继续对该待加载视频的其余视频片段进行播放,减少了用户从点击到播放待该播放视频之间消耗的时长,从而可以提高用户体验。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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