如何在碎片化的 MP4 中正确采样 h264 NAL 单元

How h264 NAL units to be corectly sampled inside fragmented MP4

拥有类型为 [5 [1]+]+ 的 NAL 单元流,如何在 frgmented mp4 的 trun 框的样本字段中正确引用它们,以便它们能够正确解码和呈现,而不会卡顿?

这里的主要问题是,并非每次单个 NAL 单元都映射到单个 I/P/B 帧,通常多个 NAL 单元代表同一帧,因此不清楚每个 MP4 样本是否应该引用每个 NAL与同一 I/P/B 帧相关的单元或一组 NAL 单元。

如果我应该在单独的 MP4 样本中引用每个 NAL 单元,那么 DTS/PTS/CTS 呢?如果都是同一个框架,应该怎么区别?

如果我应该在一个 MP4 样本中参考与同一帧相关的 NAL 单元组,是否相同 frame_num 对于相同 NAL 类型的连续 NAL 单元将它们定义为与同一帧相关?

在h.264中称为"Access Unit"(或AU)的"Frame"包含另外1个NALU。 trun 对每个 AU 大小进行编码,这包括该 AU 的所有 NALU。 NALU 没有时间戳,AU 有。