访问单元如何在Apple的HLS中的PES数据包中对齐?

时间:2014-09-15 08:06:36

标签: h.264 http-live-streaming mpeg2-ts packet-injection

Apple是否指定了这个?应该在PES数据包有效负载中放入多少个访问单元?

此外,我想知道PES数据包中存在哪些前缀起始码(如果有)。我假设在访问单元中第一个NAL单元之前的那个是无用的并且不能被放置。正确?

我想知道它是如何专门在HLS中完成的 - 不一定是任何其他MPEG-2 TS应用程序。

1 个答案:

答案 0 :(得分:7)

  

我想知道它是如何专门在HLS中完成的 - 不一定   任何其他MPEG-2 TS应用程序。

HLS是标准的MPEG-2 TS流。除了限制单个音频和单个视频流之外,HLS不会做任何不同的操作。并将编解码器限制为AVC / AAC / MP3

对于其余的答案,我将假设您指的是AVC编解码器。 (AAC和MP3有不同的答案)

  

应该在PES数据包有效负载中放入多少个访问单元?

一。然而,为了效率,可以在TS边界上截断最后的NALU,并且在下一个PES的开始处将剩余的NALU预先添加到下一个AU。这是可选的,但确实会降低比特率。

  

我想知道PES中存在哪些前缀起始码(如果有)   分组。

MPEGTS需要附件B样式的起始码。每个NALU之前的一个开始代码。 AU将有几个NALU,因为mpegts需要AUD。

  

我假设在访问中第一个NAL单元之前的那个   单位是无用的,不能放。正确?

完全错了。每个NALU必须以开始代码开头,