一种生成和播放视频文件的方法、服务器及终端技术

技术编号:16431996 阅读:44 留言:0更新日期:2017-10-22 08:23
本发明专利技术公开了一种生成和播放视频文件的方法、服务器及终端,将视频流分成多个TS文件,获取每个TS文件中的所有关键帧,并记录每个TS文件中的每个关键帧的显示时间戳和文件偏移量;根据所述多个TS文件的分片序列,生成用于描述所述分片序列的n个m3u8文件,并将每个TS文件中的每个关键帧的显示时间戳和文件偏移量对应的标签添加到所述n个m3u8文件中。本发明专利技术提供的生成和播放视频文件的方法、服务器及终端,能够在确保跳播速度的基础上使得跳播到目标位置的准确度也随之提高。

Method, server and terminal for generating and playing video files

The invention discloses a method, generation and playing video file server and the terminal, the video stream into multiple TS files, get all the key frames of each TS file, display the timestamp and file offset and record each of each key frame in the TS file; according to the sequence of the plurality of pieces TS file, a m3u8 file is generated for the N description of the slice sequence, and each key frame for each TS file in the file and display the corresponding time stamp offset label is added to the n m3u8 file. The method, server and terminal for generating and playing video files can improve the accuracy of jumping to the target position on the basis of ensuring the jumping speed.

【技术实现步骤摘要】
一种生成和播放视频文件的方法、服务器及终端
本专利技术涉及视频处理
,尤其涉及一种生成和播放视频文件的方法、服务器及终端。
技术介绍
现有基于HTTP的流媒体在进行传输时,有一部分使用的是HLS(HTTPLiveStreaming)协议来传输流媒体,而HLS协议中首先是服务端将整个视频流分成多个小的TS分片,并提供一个或者多个m3u8文件以描述视频流及各TS分片,而各TS分片则通过HTTP来传输;其后,播放端通常先获取m3u8文件,然后解析它,得到各个TS分片的时长、URL等信息,之后据此选择想要播放的TS分片进行下载、播放。在对HLS进行跳播时,一般先根据m3u8文件所提供的各分片的时长计算出该时间点所在的分片。以下述m3u8文件为例,假设需要跳播到时间点12s,且1.TS和2.TS的播放时长均为9s,则可以确定需要播放文件2.TS;然而2.TS的初始显示时间戳(PresentationTimeStamp,简称PTS)是9s,为了播放PTS为12s的内容,还需在分片2.TS内跳播。为了实现对HLS进行快速跳播,现有技术中的通常做法是:按比特率来估计跳播的目标位置,比特率可以从本文档来自技高网...
一种生成和播放视频文件的方法、服务器及终端

【技术保护点】
一种生成视频文件的方法,其特征在于,包括:将视频流分成多个TS文件,获取每个TS文件中的所有关键帧,并记录每个TS文件中的每个关键帧的显示时间戳和文件偏移量;根据所述多个TS文件的分片序列,生成用于描述所述分片序列的n个m3u8文件,并将每个TS文件中的每个关键帧的显示时间戳和文件偏移量对应的标签添加到所述n个m3u8文件中,其中,n为不小于1的整数。

【技术特征摘要】
1.一种生成视频文件的方法,其特征在于,包括:将视频流分成多个TS文件,获取每个TS文件中的所有关键帧,并记录每个TS文件中的每个关键帧的显示时间戳和文件偏移量;根据所述多个TS文件的分片序列,生成用于描述所述分片序列的n个m3u8文件,并将每个TS文件中的每个关键帧的显示时间戳和文件偏移量对应的标签添加到所述n个m3u8文件中,其中,n为不小于1的整数。2.如权利要求1所述的方法,其特征在于,在记录每个TS文件中的每个关键帧的显示时间戳和文件偏移量之后,所述方法还包括:根据记录的每个TS文件中的每个关键帧的显示时间戳和文件偏移量,生成每个TS文件对应的dat文件;将每个TS文件对应的dat文件对应的标签添加到所述n个m3u8文件中。3.如权利要求2所述的方法,其特征在于,每个TS文件对应的dat文件中每个关键帧的显示时间戳和文件偏移量组成一个二元组。4.一种播放视频文件的方法,其特征在于,包括:解析获取到的视频文件,得到所述视频文件对应的n个m3u8文件和所述n个m3u8文件包含的多个TS文件及每个TS文件的显示时间戳,其中,n为不小于1的整数;利用跳播到目标位置的目标时间戳和每个TS文件的显示时间戳,从所述多个TS文件中查找到所述目标时间戳所属的TS文件;利用所述n个m3u8文件中存储的每个TS文件中的每个关键帧的显示时间戳和文件偏移量对应的标签,获取到所述目标时间戳所属的TS文件中的每个关键帧的显示时间戳和文件偏移量;根据所述目标时间戳和所述目标时间戳所属的TS文件中的每个关键帧的显示时间戳和文件偏移量,从所述目标时间戳所属的TS文件中查找到与所述目标时间戳对应的视频帧并进行播放。5.如权利要求4所述的方法,其特征在于,在所述n个m3u8文件中存储有所述n个m3u8文件中包含的每个TS文件对应的dat文件对应的标签时,所述方法还包括:利用所述n个m3u8文件中包含的每个TS文件对应的dat文件对应的标签,得到所述目标时间戳所属的TS文件对应的dat文件,其中,每个TS文件对应的dat文件中存储该TS文件中的每个关键帧的显示时间戳和文件偏移量;解析所述目标时间戳所属的TS文件对应的dat文件,得到所述目标时间戳所属的TS文件中的每个关键帧的显示时间戳和文件偏移量;根据所述目标时间戳和所述目标时间戳所属的TS文件中的每个关键帧的显示时间戳和文件偏移量,从所述目标时间戳所属的TS文件中查找到与所述目标时间戳对应的视频帧并进行播放。6.如权利要求4或5所述的方法,其特征在于,所述根据所述目标时间戳和所述目标时间戳所属的TS文件中的每个关键帧的显示时间戳和文件偏移量,从所述目标时间戳所属的TS文件中查找到与所述目标时间戳对应的视频帧,具体包括:根据所述目标时间戳,从所述目标时间戳所属的TS文件的所有关键帧中查找到最接近所述目标时间戳的关键帧;根据所述最接近所述目标时间戳的关键帧、所述目标时间戳和每个关键帧的文件偏移量,查找到与所述目标时间戳最接近的视频帧作为与所述目标时...

【专利技术属性】
技术研发人员:韩科委
申请(专利权)人:成都虚拟世界科技有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1