mp4时间戳转ts时间戳,该怎么处理
mp4时间戳转ts时间戳
最近在做hls流媒体开发,公司的文件格式是mp4,但是在ios上应用的时候需要用到ts流,如果转一份ts文件放到cdn上虽然可以,但是公司cdn容量有限已经放不下了,所以考虑请求ts文件时动态从mp4文件转换成ts文件。
看了几天ts文件格式,基本明白了每个字段的含义,但是其中有一个时间戳转换问题还没找到公式。即mp4的时间戳转换到ts的PTS时间戳,求各位高手指点转换公式。
下面给出两种时间戳供参考:
MP4 MPEG2-TS
1.84467E+19 126000
2000 141015
1000 137261
4000 148523
3000 144769
6000 156030
5000 152276
8000 163538
7000 159784
10000 171045
9000 167291
12000 178553
11000 174799
14000 186060
------解决方案--------------------
TS的时间戳都是33bit的数字,以1/90000 second为单位。而且起始的时间戳不一定是0,所以计算时需要记录下第一个时间戳作为基准,然后后续的时间戳减去第一个就是播放时间了。
最近在做hls流媒体开发,公司的文件格式是mp4,但是在ios上应用的时候需要用到ts流,如果转一份ts文件放到cdn上虽然可以,但是公司cdn容量有限已经放不下了,所以考虑请求ts文件时动态从mp4文件转换成ts文件。
看了几天ts文件格式,基本明白了每个字段的含义,但是其中有一个时间戳转换问题还没找到公式。即mp4的时间戳转换到ts的PTS时间戳,求各位高手指点转换公式。
下面给出两种时间戳供参考:
MP4 MPEG2-TS
1.84467E+19 126000
2000 141015
1000 137261
4000 148523
3000 144769
6000 156030
5000 152276
8000 163538
7000 159784
10000 171045
9000 167291
12000 178553
11000 174799
14000 186060
------解决方案--------------------
TS的时间戳都是33bit的数字,以1/90000 second为单位。而且起始的时间戳不一定是0,所以计算时需要记录下第一个时间戳作为基准,然后后续的时间戳减去第一个就是播放时间了。