一种基于TS文件点播定位进度的方法技术

技术编号:38468796 阅读:10 留言:0更新日期:2023-08-11 14:45
本发明专利技术公开了流媒体信息领域的一种基于TS文件点播定位进度的方法,旨在解决TS文件的点播进度跳转耗时过长的技术问题。其包括:依次读取TS文件中的TS数据包,并从TS数据包中提取PES数据包;若PES数据包的帧类型为视频关键帧,获取对应的TS数据包二进制字节的起始位置P和起始位置的时间T,将T转化为整数分钟和毫秒的组合形式;将P和转换后的T转化为对照表的形式写入预先构建的视频帧索引表S中;点播时TS文件时,根据所需跳转的进度时间转为整数分钟和毫秒的组合形式,查找视频帧索引表S获取最接近进度时间的T,并找出P为点播跳转点;本方法解决TS文件点播进度跳转长耗时的问题,且大幅度减少了点播过程中进度跳转所需要等待的时间。的时间。的时间。

【技术实现步骤摘要】
一种基于TS文件点播定位进度的方法


[0001]本专利技术涉及一种基于TS文件点播定位进度的方法,属于流媒体信息


技术介绍

[0002]在流媒体领域,基于HLS协议常用文件存储形式为TS形式,由对于长时间的录制场景,为了控制TS文件数量,文件大小通常较大,因此TS文件的点播进度跳转通常成为了一个较长耗时的操作,导致点播过程中进度跳转所需等待过久,工作效率较低等问题。

技术实现思路

[0003]本专利技术的目的在于克服现有技术中的不足,提供一种基于TS文件点播定位进度的方法,有效解决了针对TS文件点播进度跳转长耗时的问题,大幅度减少了点播过程中进度跳转所需要等待的时间。
[0004]为达到上述目的,本专利技术是采用下述技术方案实现的:
[0005]本专利技术提供了一种基于TS文件点播定位进度的方法,包括:
[0006]依次读取TS文件中的TS数据包,并从TS数据包中提取PES数据包;
[0007]若PES数据包的帧类型为视频关键帧,获取对应的TS数据包二进制字节的起始位置P和起始位置P的时间T,将T转化为整数分钟和毫秒的组合形式;
[0008]将P和转换后的T转化为对照表的形式写入预先构建的视频帧索引表S中;
[0009]点播时TS文件时,将所需跳转的进度时间转为整数分钟和毫秒的组合形式,根据转换后的进度时间,查找视频帧索引表S,获取最接近进度时间的T,将T对应的P作为点播跳转点。
[0010]进一步的,P和转换后的T转化为对照表的形式写入预先构建的视频帧索引表S中时,将转换后的T中的整数分钟作为对应对照表的标记G,采用标记G关联对照表。
[0011]进一步的,在对照表写入视频帧索引表S时,若对照表的标记G存在,则采用存在的标记G关联对照表,若不存在,新建对照表的标记G。
[0012]进一步的,根据转换后的进度时间,查找视频帧索引表S,获取最接近进度时间的T,包括:
[0013]查找视频帧索引表S,获取转换后的进度时间整数分钟对应的标记G;
[0014]获取标记G关联的所有对照表,获取最接近转换后的进度时间毫秒的T。
[0015]进一步的,时间T的计算方式为:单位:ms;其中,T
n
表示第n个视频关键帧的TS数据包的二进制字节的起始位置P的时间T,DTS
n
表示T
n
的第n个视频关键帧的DTS字段;DTS1表示T1的第1个视频关键帧的DTS字段;timebase表示当前视频采样率的时间基础。
[0016]进一步的,将T转化为整数分钟和毫秒的组合形式的计算方式为:
[0017]其中,T
n
表示第n个视频关键帧的TS数据包的二进制字节的起始位置P的对应时间点,mod代表求余;MT
n
表示T
n
的分钟部分;ST
n
表示T
n
的毫秒部分。
[0018]进一步的,读取的所述TS文件包括处于录制过程中TS文件或已存在的TS文件。
[0019]与现有技术相比,本专利技术所达到的有益效果:
[0020]本专利技术提供的一种基于TS文件点播定位进度的方法,使用创建视频帧引索表,读取TS文件中的TS数据包、提取PES数据包,将PES数据包的帧类型为视频关键帧的TS数据包的二进制字节的起始位置P和对应的时间T,将所述视频关键帧的TS数据包二进制字节的起始位置P与MT转化为对照表的形式写入所述视频帧索引表S中,当进行点播TS文件时,将所需跳转的进度时间转为所需整数分钟加上所需剩余毫秒的形式;根据所述视频帧引索表S查询匹配得到与MT对应的标记G;获得G内所有的对照表匹配到与毫秒最接近的TS数据包,获得其在TS文件中的二进制字节起始位置P,将TS文件二进制字节流索引指向到P后正常读取PES数据包进行播放,解决TS文件点播进度跳转长耗时的问题,且大幅度减少了点播过程中进度跳转所需要等待的时间。
附图说明
[0021]图1为本专利技术一种基于TS文件点播定位进度的方法的流程图;
[0022]图2为图1的方法示意图;
[0023]图3为TS文件的数据格式;
[0024]图4为PES数据包的第一部分;
[0025]图5为PES数据包的第二部分;
[0026]图6为PES数据包的第三部分;
[0027]图7为PES数据包的第四部分;
[0028]图8为PES数据包的第五部分。
具体实施方式
[0029]下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。
[0030]实施例一:
[0031]参阅图1至图8所示,一种基于TS文件点播定位进度的方法,包括以下步骤:
[0032]步骤一:依次读取TS文件中的TS数据包,并从TS数据包中提取PES数据包;
[0033]其中,创建视频帧索引表S的步骤包括:
[0034](1.1)创建索引表文件:file.tsi;
[0035](1.2)用UTF

8编码写入ts文件名称并换行;
[0036](1.3)写入第一分钟标记内容:“group:1”并换行;
[0037](1.4)完成索引表的创建。
[0038]步骤二:若PES数据包的帧类型为视频关键帧,获取对应的TS数据包二进制字节的起始位置P和起始位置的时间T,将T转化为整数分钟和毫秒。其中,若PES数据包的帧类型不
是视频关键帧,则跳转所述TS文件中的下一个TS数据包,并提取对应的PES数据包。
[0039]首先,时间T
n
的计算方式为:
[0040]单位:ms;其中,T
n
表示第n个视频关键帧的TS数据包的二进制字节起始位置P的时间T;DTS
n
表示T
n
的第n个视频关键帧的DTS字段;DTS1表示T1的第1个视频关键帧的DTS字段;timebase表示当前视频采样率的时间基础。
[0041]其次,使用T
n
计算出所需跳转的进度时间的整数分钟MT
n
和剩余毫米ST
n
的计算方式为:
[0042]其中T
n
表示第n个视频关键帧的TS数据包的二进制字节的起始位置P
n
的对应时间点;mod代表求余;MT
n
表示T
n
的第n分钟部分;ST
n
表示T
n
的第n毫秒部分。
[0043]步骤三:将P和转换后的T转化为对照表的形式写入预先构建的视频帧索引表S中,具体的包括:将P和转换后的T的整数分钟转化为对照表的形式写入预先构建的视频帧索引表S中时,将转换后的T中的整数分钟作为对应对照表的标记G,采用标记G关联对照表。每间隔一分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于TS文件点播定位进度的方法,其特征在于,包括:依次读取TS文件中的TS数据包,并从TS数据包中提取PES数据包;若PES数据包的帧类型为视频关键帧,获取对应的TS数据包二进制字节的起始位置P和起始位置P的时间T,将T转化为整数分钟和毫秒的组合形式;将P和转换后的T转化为对照表的形式写入预先构建的视频帧索引表S中;点播时TS文件时,将所需跳转的进度时间转为整数分钟和毫秒的组合形式,根据转换后的进度时间,查找视频帧索引表S,获取最接近进度时间的T,将T对应的P作为点播跳转点。2.根据权利要求1所述的基于TS文件点播定位进度的方法,其特征在于,将P和转换后的T转化为对照表的形式写入预先构建的视频帧索引表S中的过程包括:将P和转换后的T转化为对照表的形式写入预先构建的视频帧索引表S中时,将转换后的T中的整数分钟作为对应对照表的标记G,采用标记G关联对照表。3.根据权利要求3所述的基于TS文件点播定位进度的方法,其特征在于,在对照表写入视频帧索引表S时,若对照表的标记G存在,则采用存在的标记G关联对照表,若不存在,新建对照表的标记G。4.根据权利要求4所述的基于TS文件点播定位进度的方法,其特征在于,根据转换后的进度时间,查找视频帧索引表...

【专利技术属性】
技术研发人员:王卫李贯涛
申请(专利权)人:南京巨鲨医疗科技有限公司
类型:发明
国别省市:

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

1