

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 網路抽象層 (NAL) 適應性旗標參考
<a name="producer-reference-nal"></a>

本節包含有關 `StreamInfo.NalAdaptationFlags` 列舉的可用旗標的資訊。

應用程式中的[基礎串流](https://en.wikipedia.org/wiki/Elementary_stream)可以是 **Annex-B** 或 **AVCC** 格式：
+ **Annex-B** 格式使用兩個位元組的零劃分 [NALU (網路抽象層單位)](https://en.wikipedia.org/wiki/Network_Abstraction_Layer#NAL_units)，後面跟隨一或三個位元組的零，然後是數位 *1* (稱為**起始碼**，例如 00000001)。
+ **AVCC** 格式也對 NALU 進行了包裝，但每個 NALU 前都有一個表示 NALU 大小 (通常為 4 個位元組) 的值。

許多編碼器產生 Annex-B 位元串流格式。某些高階位元串流處理器 （例如播放引擎或 中的[媒體來源延伸 (MSE) ](https://en.wikipedia.org/wiki/Media_Source_Extensions)播放器 AWS 管理主控台) 會針對其影格使用 AVCC 格式。

轉碼器私有資料 (CPD) 為 H.264 轉碼器的 SPS/PPS (序列參數集/圖片參數集)，也可以採用 Annex-B 或 AVCC 格式。但是，對 CPD 而言，格式與前面描述的有所不同。

這些旗標告知軟體開發套件將 NALU 與影格資料和 CPD 的 AVCC 或 Annex-B 調節，如下所示：


****  

| 旗標 | 調節 | 
| --- | --- | 
| NAL\$1ADAPTATION\$1FLAG\$1NONE | 不適應。 | 
| NAL\$1ADAPTATION\$1ANNEXB\$1NALS | 將 Annex-B NALUs 調整為 AVCC NALUs。 | 
| NAL\$1ADAPTATION\$1AVCC\$1NALS | 將 AVCC NALUs 調整為 Annex-B NALUs。 | 
| NAL\$1ADAPTATION\$1ANNEXB\$1CPD\$1NALS | 將轉碼器私有資料的 Annex-B NALUs調整為 AVCC 格式 NALUs。 | 
| NAL\$1ADAPTATION\$1ANNEXB\$1CPD\$1AND\$1FRAME\$1NALS | 將轉碼器和影格私有資料的 Annex-B NALUs調整為 AVCC 格式 NALUs。 | 

有關 NALU 類型的更多資訊，請參閱 **RFC 3984** 中的[第 1.3 節：網路抽象層單位類型](https://www.ietf.org/rfc/rfc3984.txt)。