网络抽象层 (NAL) 适配标记参考 - Amazon Kinesis Video Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

网络抽象层 (NAL) 适配标记参考

本节包含有关 StreamInfo.NalAdaptationFlags 枚举的可用标记的信息。

应用程序中的基本流可以采用 Annex-BAVCC 格式:

  • Annex-B 格式使用两个字节的零划分 NALU (网络抽象层单元),后跟一或三个字节的零,然后是数字 1 (称为起始码,例如 00000001)。

  • AVCC 格式也对 NALU 进行了包装,但每个 NALU 前都有一个表示 NALU 大小 (通常为 4 个字节) 的值。

许多编码器生成 Annex-B 比特流格式。一些较高级的比特流处理器 (例如播放引擎或 中的 Media Source Extensions (MSE)Amazon Web Services Management Console 播放器) 则为其帧使用 AVCC 格式。

编解码器私有数据 (CPD) 是面向 H.264 编解码器的 SPS/PPS (序列参数集/图片参数集),也可以采用 Annex-B 或 AVCC 格式。但是,对 CPD 而言,格式与前面描述的有所不同。

这些标记告知 SDK 将 NALU 与帧数据和 CPD 的 AVCC 或 Annex-B 适配,如下所示:

标记 适配
NAL_ADAPTATION_FLAG_NONE 没有改编。
NAL_ADAPTATION_ANNEXB_NALS 将 Annex-B Nalus 改编为 AVCC NalU。
NAL_ADAPTATION_AVCC_NALS 将 AVCC Nalus 改编成附件 B NalU。
NAL_ADAPTATION_ANNEXB_CPD_NALS 将编解码器私有数据的 Annex-B Nalus 改编为 AVCC 格式的 nalU。
NAL_ADAPTATION_ANNEXB_CPD_AND_FRAME_NALS 调整编解码器的 Annex-B Nalus,将私有数据帧转换为 AVCC 格式的 naLU。

有关 NALU 类型的更多信息,请参阅 RFC 3984 中的 Section 1.3: Network Abstraction Layer Unit Types