播放视频的方法和装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别涉及一种播放视频的方法和装置。
【背景技术】
[0002]随着视频技术的不断发展,视频编码和解码技术为视频文件的存储带来了便利。经过编码的视频中的图像巾贞可以包括I巾贞(Important frame,关键巾贞)、P巾贞(Predictiveframe,预测巾贞)和B巾贞(Bidirect1nal predictive frame,双向预测巾贞)。相应地,在对视频进行解码时,I帧可以基于自身的数据直接进行解码,P帧和B帧需要基于其对应的参考图像帧的数据进行解码,P帧的参考图像帧为该P帧之前的图像帧,B帧的参考图像帧为该B帧之前或该B帧之后的任意两个图像帧。一般地,在进行视频编码时,可以设置I帧间隔帧数,以调节视频中I帧的密度,I帧间隔帧数为相邻两个I帧之间间隔的其它类型的图像帧(P帧和B帧)的数目。
[0003]在播放视频的过程中,用户常常会对当前播放的视频进行跳转操作,即用户通过点击当前视频中的进度条上的任一位置,以使终端将当前播放的视频由一个播放时间点跳转到用户指定的播放时间点继续播放。当用户对当前视频进行跳转时,终端根据当前视频的时长和用户在进度条上点击的位置,确定跳转时间点,终端根据预先存储的当前视频中所有I帧的时间点,确定位于跳转时间点之前的I帧,并在位于跳转时间点之前的I帧中,确定与跳转时间点的时间差最小的目标I帧,终端从目标I帧开始,播放该视频。虽然I帧基于自身的数据进行解码,但是I帧的数据量一般较大,在进行视频编码时,如果视频中设置的I帧的密度较大,会导致视频的压缩率较低,为了保证视频的压缩率,一般会将相邻两个I帧之间的时间间隔设置的比较大,如10秒。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]由于相邻两个I帧的时间间隔都较大,很可能会出现目标I帧与跳转时间点的时间差较大的情况,经常会达到4秒或5秒,这样使得视频的跳转精度较低。
【发明内容】
[0006]为了解决现有技术的问题,本发明实施例提供了一种播放视频的方法和装置。所述技术方案如下:
[0007]第一方面,提供了一种播放视频的方法,所述方法包括:
[0008]接收跳转请求,所述跳转请求中携带有跳转时间点;
[0009]根据所述跳转时间点,在当前视频的关键帧和多个预先标记的间隔预测帧中,选取与所述跳转时间点满足预设的时间差条件的目标图像帧;其中,各间隔预测帧两两之间间隔有至少一个图像帧且间隔帧数小于关键帧间隔帧数,且每个间隔预测帧的参考图像帧为关键帧或其它间隔预测帧;
[0010]从所述目标图像帧开始,播放所述当前视频。
[0011]第二方面,提供了一种播放视频的装置,所述装置包括:
[0012]接收模块,用于接收跳转请求,所述跳转请求中携带有跳转时间点;
[0013]选取模块,用于根据所述跳转时间点,在当前视频的关键帧和多个预先标记的间隔预测帧中,选取与所述跳转时间点满足预设的时间差条件的目标图像帧;其中,各间隔预测帧两两之间间隔有至少一个图像帧且间隔帧数小于关键帧间隔帧数,且每个间隔预测帧的参考图像帧为关键帧或其它间隔预测帧;
[0014]播放模块,用于从所述目标图像帧开始,播放所述当前视频。
[0015]本发明实施例提供的技术方案带来的有益效果是:
[0016]本发明实施例中,接收跳转请求,跳转请求中携带有跳转时间点,根据跳转时间点,在当前视频的关键帧和多个预先标记的间隔预测帧中,选取与跳转时间点满足预设的时间差条件的目标图像帧,其中,各间隔预测帧两两之间间隔有至少一个图像帧且间隔帧数小于关键帧间隔帧数,且每个间隔预测帧的参考图像帧为关键帧或其它间隔预测帧,从目标图像帧开始,播放当前视频,这样,由于相邻两个间隔预测帧的时间差小于相邻两个关键帧的时间差,因此,目标图像帧的时间点到跳转时间点的时间差小于或等于现有技术中目标关键帧的时间点到跳转时间点的时间差,从而,可以提高视频的跳转精度。
【附图说明】
[0017]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是本发明实施例提供的一种播放视频的方法流程图;
[0019]图2是本发明实施例提供的一种图像帧排布示意图;
[0020]图3是本发明实施例提供的一种播放视频的装置结构示意图;
[0021]图4是本发明实施例提供的一种终端结构示意图。
【具体实施方式】
[0022]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0023]实施例一
[0024]本发明实施例提供了一种播放视频的方法,如图1所示,该方法的处理流程可以包括如下的步骤:
[0025]步骤101,接收跳转请求,跳转请求中携带有跳转时间点。
[0026]步骤102,根据跳转时间点,在当前视频的I帧和多个预先标记的间隔P帧(间隔预测帧)中,选取与跳转时间点满足预设的时间差条件的目标图像帧;其中,各间隔P帧两两之间间隔有至少一个图像帧且间隔帧数小于I帧间隔帧数,且每个间隔P帧的参考图像帧为I帧或其它间隔P帧。
[0027]步骤103,从目标图像帧开始,播放当前视频。
[0028]本发明实施例中,接收跳转请求,跳转请求中携带有跳转时间点,根据跳转时间点,在当前视频的I帧和多个预先标记的间隔P帧中,选取与跳转时间点满足预设的时间差条件的目标图像帧,其中,各间隔P帧两两之间间隔有至少一个图像帧且间隔帧数小于I帧间隔帧数,且每个间隔P帧的参考图像帧为I帧或其它间隔P帧,从目标图像帧开始,播放当前视频,这样,由于相邻两个间隔P帧的时间差小于相邻两个I帧的时间差,因此,目标图像帧的时间点到跳转时间点的时间差小于或等于现有技术中目标I帧的时间点到跳转时间点的时间差,从而,可以提高视频的跳转精度。
[0029]实施例二
[0030]本发明实施例提供了一种播放视频的方法,该方法可以由终端实现。其中的终端可以是具有播放视频功能的终端,如手机、平板电脑等。
[0031]下面将结合【具体实施方式】,对图1所示的处理流程进行详细的说明,内容可以如下:
[0032]步骤101,接收跳转请求,跳转请求中携带有跳转时间点。
[0033]在实施中,用户通过终端中的视频播放器播放视频,该视频可以是终端本地存储的本地视频,也可以是从服务器实时获取的网络视频,此时,视频播放器可以获取当前播放的视频的时长,可以将该时长显示在视频播放器的进度条上。已编码的视频中可以包括I帧、P帧和B帧,视频播放器中携带有解码器,用于对视频中的图像帧进行解码,不同的视频文件格式的视频对应的解码器可以不同,而且,解码器中可以保存有相应格式视频中的I中贞的时间点,例如,视频文件格式为mp4 (Moving Pictures Experts Group4,动态图像专家组4)的视频对应的解码器的STBL(Sample Table Box,样本表盒)字段中记录了 I帧的时间点。
[0034]当用户需要将视频由当前时间点跳转到该用户指定的播放时间点播放时,用户可以点击视频播放器中的进度条上的某一位置,然后,根据当前视频的时长和用户在进度条上点击的位置,确定跳转时间点,例如,当前视频的时长为L,若进度条预先划分成100个单位长度,用户在进度条上点击的位置位于第k个单位长度,则跳转时间点Tl = LX k/100,在计算的过程中,可以将跳转时间点Tl的结果精确到微秒,以提高跳转时间点的精度。此时可以触发生成携带有跳转时间点的跳转请求,视频播放器接收跳转请求。视频播放器的界面内可以显示提示信息,例如,正在加载视频数据等。
[0035]步骤102,根据跳转时间点,在当前视频的I帧和多个预先标记的间隔P帧(间隔预测帧)中,选取与跳转时间点满足预设的时间差条件的目标图像帧;其中,各间隔P帧两两之间间隔有至少一个图像帧且间隔帧数小于I帧间隔帧数,且每个间隔P帧的参考图像帧为I帧或其它间隔P帧。
[0036]其中,间隔P帧是一种特殊的P巾贞,间隔P帧可以是在P帧的基础上添加一个额外的标识,以标记该P帧为间隔P帧。优选的,间隔P帧的参考图像帧可以是该间隔P帧之前与其最接近的I帧,或是该间隔P帧与该I帧之间的其它间隔P帧,例如,该间隔P帧之前与其最接近的间隔P帧。在对视频进行编码时,可以设置间隔P帧之后的任一图像帧的参考图像中贞不为该间隔P巾贞之前的图像巾贞。间隔P巾贞还可以称作LDP (Long Distance Predictive,远距离预测)帧。
[0037]可选地,预设的时间差条件可以为与跳转时间点的时间差小于预设阈值,或者可以为与跳转时间点的时间差小于当前视频的I帧和多个预先标记的间隔P帧中的其它图像帧。