【发布时间】:2018-11-29 13:34:59
【问题描述】:
谁能告诉我或指出规范的一部分,该部分清楚地展示了如何从具有一系列 NALU 的基本流中将它们写入 ISO BMFF mdat?
我可以看到我应该拥有的示例和其他代码:AUD、SPS、PPS、SEI、VideoSlice、AUD 等
我不完全清楚的事情:
- 如果 SPS 和 PPS 也在带外存储在 AVCC 中,mdat 中是否需要它们?
- 如果 mdat 中需要它们,应该在何时/何处写入?例如就在 IDR 之前?
- 对澳元有什么要求?
- 如果我正在为 trun 生成样本大小,是否需要为此计算?在示例中,我正在努力重新创建 trun 中的第一个样本,其大小为 22817,但是如果我查看 mdat 中的第一个样本,NALU 大小前缀为 22678。trun 中的值似乎是所有NALU + 大小不超过第一个样本(请参阅下面的示例)
>
1 0016E405 (1500165) - box.Size
2 6D646174 (mdat) - box.Type
3 00000002 (2) NAL Size
4 0910 - (2) AUD @ 5187
5 00000025 (37)
6 27640020 AC248C0F 0117EF01 10000003 00100000 078E2800 0F424001 E84EF7B8 0F844229 C0 (37) @ 5193 SPS
7 00000004 (4)
8 28DEBCB0 (4) PPS
9 0000000B (11)
10 06000781 36288029 67C080 (? SEI ?)
11 0000000C (12)
12 06010700 00F00000 03020480 (? SEI is type 6)
13 0000002D (45) @ 5269
14 060429B5 00314741 393403CA FFFC8080 FA0000FA 0000FA00 00FA0000 FA0000FA 0000FA00 00FA0000 FA0000FF 80 (SEI ??)
15 00005896 (22678)
16 25888010 02047843 00580010 08410410 0002….. 22678 bytes video @ 5322
【问题讨论】: