【技术实现步骤摘要】
视频播放方法、装置、电子设备及存储介质
[0001]本申请涉及视频播放
,尤其涉及一种视频播放方法
、
装置
、
电子设备及存储介质
。
技术介绍
[0002]流媒体
(Streaming Media)
技术是指将一连串的媒体数据压缩后,以流的方式在网络中分段传送,实现在网络上实时传输影音以供观赏的一种技术
。
用户在观看设备
(
如电脑
、
平板
、
手机等
)
上打开流媒体播放器,选择要看的媒体流即可观看对应的视频
。
用户观看视频的过程中,可以通过
seek
功能实现快进
/
快退的效果,即,通过将播放进度条拖动到任意位置,实现从该位置继续播放的效果
。
[0003]传统的实现
seek
功能的过程一般为:接收用户下发的
seek
指令,基于该
seek
指令确定
seek
点
(
即,将播放进度条拖动到的位置
)
,加载
seek
点对应的视频文件,并对加载的视频文件进行解析,最后,渲染经过解析的视频文件
。
[0004]然而,传统的实现
seek
功能的过程,需要经过网络加载
、
视频文件的解码等环节,存在耗时长,响应不及时的问题
。 />
技术实现思路
[0005]本申请实施例的目的在于提供一种视频播放方法
、
装置
、
电子设备及存储介质,以解决传统的实现
seek
功能的过程,存在耗时长,响应不及时的问题
。
具体技术方案如下:
[0006]第一方面,提供了一种视频播放方法,所述方法包括:
[0007]在播放目标视频的过程中检测
seek
指令;
[0008]在检测到所述
seek
指令的情况下,确定所述目标视频对应的当前播放位置,以及,确定所述
seek
指令对应的目标播放位置;
[0009]确定所述当前播放位置和所述目标播放位置之间的时间间隔;
[0010]在所述时间间隔小于或等于预设时长的情况下,从预设缓存中获取所述目标播放位置对应的图像数据,并播放所述图像数据
。
[0011]在一个可能的实施方式中,所述从预设缓存中获取所述目标播放位置对应的图像数据,包括:
[0012]从所述预设缓存中获取预先存储的图像帧序列,以及确定所述图像帧序列中每个图像帧对应的时间戳;
[0013]确定所述当前播放位置对应的当前播放时间;
[0014]基于所述当前播放时间和所述时间间隔,确定所述目标播放位置对应的目标播放时间;
[0015]将所述图像帧序列中对应时间戳与所述目标播放时间一致的图像帧确定为目标图像帧;
[0016]基于所述目标图像帧在所述图像帧序列中确定所述图像数据,其中,所述图像数
据为所述目标图像帧排在首位的帧序列
。
[0017]在一个可能的实施方式中,所述预设缓存包括第一缓存和第二缓存,所述第一缓存中存储有第一帧序列,所述第二缓存中存储有第二帧序列;
[0018]所述从所述预设缓存中获取预先存储的图像帧序列,包括:
[0019]在所述目标播放位置处于所述当前播放位置之前的情况下,从所述第一缓存中获取所述第一帧序列,作为所述图像帧序列;
[0020]在所述目标播放位置处于所述当前播放位置之后的情况下,从所述第二缓存中获取所述第二帧序列,作为所述图像帧序列
。
[0021]在一个可能的实施方式中,所述确定所述当前播放位置和所述目标播放位置之间的时间间隔,包括:
[0022]确定所述目标视频对应的播放总时长,以及,确定所述目标视频的播放进度条的总长度;
[0023]确定所述当前播放位置和所述目标播放位置之间的进度条的间隔长度;
[0024]计算所述间隔长度与所述总长度的比值;
[0025]将所述比值与所述播放总时长的乘积,确定为所述当前播放位置和所述目标播放位置之间的时间间隔
。
[0026]在一个可能的实施方式中,所述方法还包括:
[0027]在所述时间间隔大于所述预设时长的情况下,基于所述目标播放位置向预设服务器发送视频加载请求,以由所述预设服务器返回对应的视频文件;
[0028]解析所述视频文件得到所述目标播放位置对应的图像数据
。
[0029]在一个可能的实施方式中,所述方法还包括:
[0030]确定所述目标播放位置对应的目标播放时间;
[0031]基于所述目标播放时间和所述预设时长,确定所述目标播放位置对应的预加载时间范围;
[0032]在发送所述视频加载请求的同时,基于所述预加载时间范围向所述预设服务器发送预加载请求,以由所述预设服务器返回对应的预加载文件;
[0033]解析所述预加载文件得到预加载图像数据,并将所述预加载图像数据存储至所述预设缓存中
。
[0034]在一个可能的实施方式中,所述方法还包括:
[0035]获取所述目标视频对应的多条历史
seek
指令,其中,所述历史
seek
指令为预设时间段内用户针对所述目标视频,和
/
或,所述目标视频同类型视频下达的指令;
[0036]针对每条历史
seek
指令,确定所述历史
seek
指令指示的历史目标播放位置,以及,下达所述历史
seek
指令时对应的历史当前播放位置;
[0037]基于所述历史目标播放位置和所述历史当前播放位置,确定所述历史
seek
指令对应的历史间隔时长;
[0038]计算所有所述历史
seek
指令对应的历史间隔时长的平均值,将所述平均值确定为所述预设时长
。
[0039]第二方面,提供了一种视频播放装置,所述装置包括:
[0040]检测模块,用于在播放目标视频的过程中检测
seek
指令;
[0041]第一确定模块,用于在检测到所述
seek
指令的情况下,确定所述目标视频对应的当前播放位置,以及,确定所述
seek
指令对应的目标播放位置;
[0042]第二确定模块,用于确定所述当前播放位置和所述目标播放位置之间的时间间隔;
[0043]获取模块,用于在所述时间间隔小于或等于预设时长的情况下,从预设缓存中获取所述目标播放位置对应的图像数据,并播放所述图像数据
。
[0044]在一个可能的实施方式中,本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
一种视频播放方法,其特征在于,所述方法包括:在播放目标视频的过程中检测
seek
指令;在检测到所述
seek
指令的情况下,确定所述目标视频对应的当前播放位置,以及,确定所述
seek
指令对应的目标播放位置;确定所述当前播放位置和所述目标播放位置之间的时间间隔;在所述时间间隔小于或等于预设时长的情况下,从预设缓存中获取所述目标播放位置对应的图像数据,并播放所述图像数据
。2.
根据权利要求1所述的方法,其特征在于,所述从预设缓存中获取所述目标播放位置对应的图像数据,包括:从所述预设缓存中获取预先存储的图像帧序列,以及确定所述图像帧序列中每个图像帧对应的时间戳;确定所述当前播放位置对应的当前播放时间;基于所述当前播放时间和所述时间间隔,确定所述目标播放位置对应的目标播放时间;将所述图像帧序列中对应时间戳与所述目标播放时间一致的图像帧确定为目标图像帧;基于所述目标图像帧在所述图像帧序列中确定所述图像数据,其中,所述图像数据为所述目标图像帧排在首位的帧序列
。3.
根据权利要求2所述的方法,其特征在于,所述预设缓存包括第一缓存和第二缓存,所述第一缓存中存储有第一帧序列,所述第二缓存中存储有第二帧序列;所述从所述预设缓存中获取预先存储的图像帧序列,包括:在所述目标播放位置处于所述当前播放位置之前的情况下,从所述第一缓存中获取所述第一帧序列,作为所述图像帧序列;在所述目标播放位置处于所述当前播放位置之后的情况下,从所述第二缓存中获取所述第二帧序列,作为所述图像帧序列
。4.
根据权利要求1所述的方法,其特征在于,所述确定所述当前播放位置和所述目标播放位置之间的时间间隔,包括:确定所述目标视频对应的播放总时长,以及,确定所述目标视频的播放进度条的总长度;确定所述当前播放位置和所述目标播放位置之间的进度条的间隔长度;计算所述间隔长度与所述总长度的比值;将所述比值与所述播放总时长的乘积,确定为所述当前播放位置和所述目标播放位置之间的时间间隔
。5.
根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述时间间隔大于所述预设时长的情况下,基于所述目标播放位置向预设服务器发送视频加载请求,以由所述预设服务器返回对应的视频文件;解析所述视频文件得到所述目标播放位置对应的图像数据
。6.
根据权利要求5所述的方法,其特征在于,所述方法还包括:确...
【专利技术属性】
技术研发人员:娄志云,陈海龙,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。