版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/glw0223/article/details/88947486
音视频时间戳总结
flv/rtmp
- 只有一个时间戳
- 四个字节 : 三个字节是低位,后来又扩展了一个高位字节
- 单位:ms
- 循环时间:
如果是有符号四字节的话:
(1<<31)−1=2147483647
2147483647/1000/3600/24=24.855天
ffmpeg里使用的是uint32
(1<<31)−1=4294967295
4294967295/1000/3600/24=49.710天
hls/ts
- 有PTS和DTS
- 33bits:
无符号的话是
8589934591/90/1000/3600/24=26.512小时=1.1046天
- 音视频的时间戳基准都是90k
mp4
- 在moov的mvhd里有个box叫time scale,就是时间基准,一般是90k。
- 还有一个叫duration,通过duration和time scale可以计算track的真正时长。
- 所以一个mp4的最大时长是13.256小时,当然一般不会存储这么长的,因为文件已经很大了。
rtp
- 只有一个时间戳
- 4字节,uint32
视频:
4294967295/90/1000/3600=13.256小时
音频:
假设是48k采样
4294967295/48/1000/3600=24.855小时