【技术实现步骤摘要】
一种视频缓存方法及播放器
本专利技术涉及互联网
,特别涉及一种视频缓存方法及播放器。
技术介绍
目前,FFmpeg(FastForwardMovingPictureExpertsGroup,快速动态图像专家组)由于其能够便捷地记录、转换数字音视频,并可以将数字音视频转化为音视频流,因此广泛应用于各类播放器中。FFmpeg本身不支持视频缓存功能,为了解决这一缺陷,通常会额外开设一个代理服务器来负责视频缓存的过程。具体地,基于FFmpeg的播放器可以将需要播放的视频的URL(UniformResourceLocator,统一资源定位符)拼接在本地链接中,然后拼接了该URL的本地链接可以被发送至代理服务器处。这样,代理服务器可以识别出该URL,并对该URL指向的视频数据进行缓存,缓存后的视频数据便可以被提供给播放器进行播放。然而,这样的方式需要额外开设一个代理服务器,增加了整个系统的成本。此外,通过代理服务器的方式,无法适用于HLS(HTTPLiveStreaming,HTTP直播流)协议,而HLS协议是比较常见的点播/直播视频协议,因此这种方式的应用范围不够广泛。
技术实现思路
本申请的目的在于提供一种视频缓存方法及播放器,能够在节省系统成本的同时,适用于HLS视频协议。为实现上述目的,本申请一方面提供一种视频缓存方法,所述方法包括:基于目标视频的视频标识,判断是否对所述目标视频进行缓存;若判定对所述目标视频进行缓存,获取指定缓存文件,并从所述指定缓存文件中读取所述目标视频的缓存索引信息;在播放所述目标视频时,根据当前的播放进度,判断读取的所述缓存索引信息中 ...
【技术保护点】
1.一种视频缓存方法,其特征在于,所述方法包括:基于目标视频的视频标识,判断是否对所述目标视频进行缓存;若判定对所述目标视频进行缓存,获取指定缓存文件,并从所述指定缓存文件中读取所述目标视频的缓存索引信息;在播放所述目标视频时,根据当前的播放进度,判断读取的所述缓存索引信息中是否存在与所述当前的播放进度相匹配的目标索引信息;若存在,从所述指定缓存文件中获取所述目标索引信息指向的视频数据,并播放所述视频数据表征的视频片段;若不存在,根据所述视频标识下载所述当前的播放进度对应的视频片段;将下载的所述视频片段写入所述指定缓存文件中,并基于下载的所述视频片段,更新所述目标视频的缓存索引信息,并播放下载的所述视频片段。
【技术特征摘要】
1.一种视频缓存方法,其特征在于,所述方法包括:基于目标视频的视频标识,判断是否对所述目标视频进行缓存;若判定对所述目标视频进行缓存,获取指定缓存文件,并从所述指定缓存文件中读取所述目标视频的缓存索引信息;在播放所述目标视频时,根据当前的播放进度,判断读取的所述缓存索引信息中是否存在与所述当前的播放进度相匹配的目标索引信息;若存在,从所述指定缓存文件中获取所述目标索引信息指向的视频数据,并播放所述视频数据表征的视频片段;若不存在,根据所述视频标识下载所述当前的播放进度对应的视频片段;将下载的所述视频片段写入所述指定缓存文件中,并基于下载的所述视频片段,更新所述目标视频的缓存索引信息,并播放下载的所述视频片段。2.根据权利要求1所述的方法,其特征在于,判断是否对所述目标视频进行缓存包括:判断所述目标视频的视频标识中是否包含位于指定位置的指定字段,若包含,判定对所述目标视频进行缓存;若不包含,判定不对所述目标视频进行缓存。3.根据权利要求2所述的方法,其特征在于,根据所述视频标识下载所述当前的播放进度对应的视频片段包括:从所述视频标识中去除位于所述指定位置处的所述指定字段,以得到所述目标视频的资源定位符;根据所述资源定位符下载所述当前的播放进度对应的视频片段。4.根据权利要求1所述的方法,其特征在于,所述目标视频的缓存索引信息中至少包括已缓存的视频片段的数据量以及所述已缓存的视频片段的起始播放进度;相应地,判断读取的所述缓存索引信息中是否存在与所述当前的播放进度相匹配的目标索引信息包括:将所述已缓存的视频片段的起始播放进度转换为所述已缓存的视频片段在所述目标视频中的存储位置,并基于转换得到的所述存储位置和所述已缓存的视频片段的数据量,确定所述已缓存的视频片段在所述目标视频中的位置区间;在所述目标视频中确定所述当前的播放进度对应的目标存储位置,若所述目标存储位置位于任一所述位置区间内,判定读取的所述缓存索引信息中存在与所述当前的播放进度相匹配的目标索引信息;若所述目标存储位置位于各个所述位置区间之外,判定读取的所述缓存索引信息中不存在与所述当前的播放进度相匹配的目标索引信息。5.根据权利要求1所述的方法,其特征在于,在从所述指定缓存文件中读取所述目标视频的缓存索引信息之后,所述方法还包括:根据所述缓存索引信息,创建所述目标视频对应的缓存索引树;相应地,在播放所述目标视频时,根据当前的播放进度,判断创建的所述缓存索引树中是否存在与所述当前的播放进度相匹配的目标索引信息。6.根据权利要求5所述的方法,其特征在于,所述缓存索引信息在所述指定缓存文件中以链表的形式进行存储;相应地,更新所述目标视频的缓存索引信息包括:在所述指定缓存文件的所述链表中更新所述目标视频的缓存索引信息,并在创建的所述缓存索引树中更新所述目标视频的缓存索引信息。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:在所述目标视频停止播放时,在所述指定缓存文件的所述链表中更新所述目标视频的缓存索引信息,以使得再次播放所述目标视频时,基于更新后的所述链表,生成所述目标视频的缓存索引树。8.根据权利...
【专利技术属性】
技术研发人员:卢健,
申请(专利权)人:网宿科技股份有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。