【问题标题】:formatting an AVC/H.264 mdat格式化 AVC/H.264 mdat
【发布时间】:2018-11-29 13:34:59
【问题描述】:

谁能告诉我或指出规范的一部分,该部分清楚地展示了如何从具有一系列 NALU 的基本流中将它们写入 ISO BMFF mdat?

我可以看到我应该拥有的示例和其他代码:AUD、SPS、PPS、SEI、VideoSlice、AUD 等

我不完全清楚的事情:

  1. 如果 SPS 和 PPS 也在带外存储在 AVCC 中,mdat 中是否需要它们?
  2. 如果 mdat 中需要它们,应该在何时/何处写入?例如就在 IDR 之前?
  3. 对澳元有什么要求?
  4. 如果我正在为 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

【问题讨论】:

    标签: mp4 h.264


    【解决方案1】:

    如果 SPS 和 PPS 也存储在 AVCC 的带外,mdat 中是否需要它们?

    没有

    如果 mdat 中需要它们,应该在何时/何地编写它们?例如就在 IDR 之前?

    是的,如果您选择包含它们,但没有理由这样做

    对澳元有什么要求?

    它们是可选的

    如果我为 trun 生成样本大小,是否需要计算?

    访问单元(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
    

    【讨论】:

    • 感谢您提供的简洁明了的答案
    猜你喜欢
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-16
    • 2015-08-21
    • 2018-02-06
    相关资源
    最近更新 更多