MP4 文件中的 H.264 流是否可以包含 Annex B startcode 仿真?

Can H.264 stream in MP4 file contain Annex B startcode emulation?

MP4 文件(实际上是使用 MP4 格式的 HLS 流)包含 AVC 格式的 H.264 流:[NALU length][NALU data]。 H.264 解码器需要 Annex B 格式:[startcode][NALU data]。一般来说,startcode 仿真可以以 AVC 格式进行(例如 0x00000001 可以出现在编码数据中)。这是否意味着 MP4 文件格式也可以包含具有 startcode 仿真的 H.264 NALU?还是应该在打包成MP4之前应用防仿真?

始终应用仿真预防以从编码数据 (RBSP) 中删除 00 00 00-02 序列,因此这与附件 B 无关:H.264 附件 B 格式是关于以字节流格式在 NAL 单元前面加上起始代码前缀,而不是单元长度。

作弊sheet:

防仿真是第2行,值为0x03,附件B是上图中的底线。