2

下面是 MPEG2VideoDescriptor 的十六进制转储:

06 0e 2b 34 02 53 01 01 0d 01 01 01 01 01 51 00
83 00 00 f3 3c 0a 00 10 a3 是 51 b2 00 05 e7 11
bf 82 21 97 f7 a0 14 ed 30 06 00 04 00 00 00 02
30 01 00 08 00 00 一个 60 00 00 03 e9 80 00 00 04
01 c9 c3 80 30 04 00 10 06 0e 2b 34 04 01 01 02
0d 01 03 01 02 04 61 01 32 15 00 01 05 32 0e 00
08 00 00 00 10 00 00 00 09 32 0d 00 10 00 00 00
02 00 00 00 04 00 00 00 1a 00 00 00 00 32 0c 00
01 00 32 08 00 04 00 00 02 d0 32 09 00 04 00 00
05 00 32 02 00 04 00 00 02 d0 32 03 00 04 00 00
05 00 32 01 00 10 06 0e 2b 34 04 01 01 03 04 01
02 02 01 04 03 00 33 02 00 04 00 00 00 02 33 08
00 04 00 00 00 01 33 03 00 01 04 33 01 00 04 00
00 00 08 33 0b 00 01 00 33 07 00 02 00 00 33 04

前 16 个字节:
06 0e 2b 34 02 53 01 01 0d 01 01 01 01 01 51 00(UID)
接下来的 4 个字节是 BER 大小:
83 00 00 f3(0xf3 个字节长)
接下来的 4 个字节:
3c 0a 00 10(0x3c0a 表示 Instance UUID,0x0010 是大小)
然后是 UUID:
a3 be 51 b2 00 05 e7 11 bf 82 21 97 f7 a0 14 ed
接下来的 4 个字节:
30 06 00 04(0x3006 表示 Linked Track ID 和 0x0004 是大小)
接下来的 4 个字节是 Linked Track ID:00 00 00 02
接下来的 4 个字节:30 01 00 08(0x3001 表示采样率,0x0008 是大小)
以下 8 个字节实际上是帧率分子和分母:
0000ea60== 60000 和000003e9== 1001 . 现在我们有了粗体部分:80 00 00 04

有人可以解释一下这是什么意思吗?

接下来的四个字节是01 c9 c3 80,它肯定是比特率(30000000),但我怎么能确定呢?

编辑:80 00 00 04
是否意味着以下内容: 0x8000 是一个动态标签。根据 SMPTE 337,标签 0x8000-0xFFFF 是动态分配的。0x0004 是大小(4 个字节)。如果这是真的,我怎么知道下面的 4 个字节实际上是比特率?它可以是任何东西,或者?
01 c9 c3 80

4

1 回答 1

1

首先,您必须了解本地标签的工作原理。本地标签 0x8000 及以上是用户定义的。您必须查看标题分区的底漆包。底漆包将本地标签转换为全球 UL,该 UL 可能是供应商特定的,也可能不是供应商特定的。

将底漆包视为 2 字节本地标签和 16 字节 UL 之间的转换表。

于 2017-05-25T21:28:25.060 回答