我有 .m2ts 视频文件(VBR,持续时间 = 1 小时)。
如果我想从 20 分钟开始播放这个文件,我需要知道我应该从哪个字节读取这个文件。
M2TS 是标准 TS,在同步字节(0x47)之前有一个 4 字节的时间戳,但我不明白如何使用它。请在我的视频文件中查看同步字节之前的以下时间戳:
0D 9E E2 02
35 8B 62 28
1D 77 E2 4F
05 64 62 76
2D 50 E2 9C
15 3D 62 C3
3D 29 E2 E9
25 16 63 10
有人可以解释一下如何使用时间戳在 .m2ts 文件中查找?
问问题
884 次
1 回答
4
M2TS
没有4 字节的时间戳。
它所拥有的是一个 4 字节TP_extra_header
,由一个2-bit
复制许可指示符和一个30-bit
到达时间戳 (ATS) 组成,分辨率为27 MHz
.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| C | ATS |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| TS [188 bytes] |
| |
| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
由于该BDAV
格式用于存储,因此它使用可变速率 (VBR) 传输流而不是广播中发现的典型恒定速率 (CBR) 流以节省空间。记录到达时间是为了能够将可变流转换为恒定速率和符合 T-STD 的流进行播放。
此时间戳将每秒钟翻转一次(2^30 - 1) / 27000000 ~= 39.768
。
例如:1D77E24F ∧ 3FFFFFFF
以十进制494395983 / 27000000 ~= 18.32
秒为单位。
我对 BD 不是很熟悉,但我认为有关这些m2ts
文件的更多信息保存在随附的文件中clpi
。mpls
如果您只有m2ts
文件,则必须通过 PCR 查找。
于 2015-09-02T15:06:53.203 回答