任何人都可以告诉我或指向规范的一部分,以清楚地演示如何从具有一系列NALU的基本流中将这些如何写入ISO BMFF mdat吗?
我看到正在查看的样本和其他代码,例如:AUD,SPS,PPS,SEI,VideoSlice,AUD等
我不完全了解的事情:
>
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
答案 0 :(得分:1)
如果SPS和PPS也被带外存储在AVCC中,那么它们在mdat中是必需的吗?
否
如果在mdat中需要它们,应在何时何地编写它们?例如就在IDR之前?
是的,如果您选择包括它们,但没有理由
对澳元有什么要求?
它们是可选的
如果我正在为样本生成样本大小,这是计算结果吗?
访问单元中的字节数(AU,又称帧)。其中可能包含多个NALU。 SPS / PPS / SEI / AUD都计入AU大小。前缀为每个NALU的4字节大小也计入trun中记录的AU大小。
bytes
4 | 3 00000002 (2) NAL Size
2 | 4 0910 - (2) AUD @ 5187
4 | 5 00000025 (37)
37 | 6 27640020 AC248C0F 0117EF01 10000003 00100000 078E2800 0F424001 E84EF7B8 0F844229 C0 (37) @ 5193 SPS
4 | 7 00000004 (4)
4 | 8 28DEBCB0 (4) PPS
4 | 9 0000000B (11)
11 | 10 06000781 36288029 67C080 (? SEI ?)
4 | 11 0000000C (12)
12 | 12 06010700 00F00000 03020480 (? SEI is type 6)
4 | 13 0000002D (45) @ 5269
45 | 14 060429B5 00314741 393403CA FFFC8080 FA0000FA 0000FA00 00FA0000 FA0000FA 0000FA00 00FA0000 FA0000FF 80 (SEI ??)
4 | 15 00005896 (22678)
22678 | 16 25888010 02047843 00580010 08410410 0002….. 22678 bytes video @ 5322
------|
22817 | <- bytes total