

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

# 建立輸出
<a name="output-settings"></a>

單一 MediaConvert 任務可以將輸出建立為獨立檔案 （例如 .mp4 檔案）、一組適用於適應性位元速率 (ABR) 串流的檔案 （例如 Apple HLS套件），或兩者的組合。當您建立輸出群組和其中的輸出時，您可以指定任務產生的檔案數量和類型。

當您的 MediaConvert 任務完成時，您可以使用 Amazon CloudFront 或其他內容分發網路 (CDN) 來交付串流套件。CDN 會將您的視訊提供給想要檢視視訊的人員。如需詳細資訊，請參閱[使用 CloudFront 隨需交付影片 (VOD)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/on-demand-video.html)。

本節中的主題說明 MediaConvert 輸出群組、MediaConvert 輸出與 MediaConvert 交付給您的實際輸出檔案之間的關係。

**Topics**
+ [在輸出中設定字幕](set-up-captions-in-outputs.md)
+ [使用輸出群組來指定串流套件類型或獨立檔案](outputs-file-ABR.md)
+ [選擇您的 ABR 串流輸出群組](choosing-your-streaming-output-groups.md)
+ [影片品質的建議編碼設定](video-quality.md)
+ [在任務設定中使用變數](using-variables-in-your-job-settings.md)

# 在輸出中設定字幕
<a name="set-up-captions-in-outputs"></a>

任務中的字幕位置取決於您的輸出字幕格式：您的字幕可能會在與您的視訊相同的輸出中、與您的視訊相同的輸出群組內的獨立輸出中，或是在完全不同的輸出群組中。您設定多種字幕軌道的方式，也取決於輸出字幕格式。

如需支援輸入和輸出字幕的完整清單，請參閱 [字幕參考表](captions-support-tables.md)。

如需如何在輸入中設定字幕的資訊，請參閱 [設定輸入字幕](including-captions.md)。

下列程序說明如何為不同的輸出設定字幕。

**為不同的輸出設定字幕**

1. 在 https：//[https://console.aws.amazon.com/mediaconvert](https://console.aws.amazon.com/mediaconvert) 開啟 MediaConvert 主控台。

1. 選擇**建立任務**。

1. 如 [教學課程：設定任務設定](setting-up-a-job.md) 和 [建立輸出](output-settings.md) 中的說明，為視訊與音訊設定您的輸入、輸出群組及輸出。

1. 如 [建立輸入字幕選取器](including-captions.md#create-input-caption-selectors) 所述，建立輸入字幕選擇器。

1. 決定要在您任務中的何處指定字幕。此選擇取決於輸出字幕格式。請參閱以下相關主題進行尋找。

1. 在 **Create job** (建立任務) 頁面的左側窗格，從輸出清單中選擇適當的輸出。

1. 在 **Encoding settings** (編碼設定) 中選擇 **Add caption** (新增字幕)。這會在 **Encoding settings** (編碼設定) 之下顯示一個字幕設定區域。

1. 如果您的輸出字幕格式需要為輸出內的各個軌道提供單獨的字幕設定群組，請再次選擇 **Add captions (新增字幕)**，直到每個軌道皆有一個字幕群組為止。若要判斷您必須為所有軌道提供一個字幕設定群組，或是為每個軌道各提供一個字幕設定群組，請參閱以下相關主題。

1. 在 **Encoding settings** (編碼設定) 之下，從清單中選擇 **Captions 1** (字幕 1)。

1. 在 **Captions source** (字幕來源) 之下選擇字幕選擇器。這會選取您在設定輸入時與選取器相關聯的軌道，因此 AWS Elemental MediaConvert 會將這些字幕包含在此輸出中。

1. 在 **Destination type** (目標類型) 之下選擇輸出字幕格式。請查看 [視訊容器中支援的輸入字幕](captions-support-tables-by-container-type.md) 以確保您選擇的是支援的格式。

1. 為以下相關主題中所述的任何其他欄位提供值。



**Topics**
+ [CEA/EIA-608 和 CEA/EIA-708 （內嵌） 輸出字幕](embedded-output-captions.md)
+ [DVB-Sub 輸出字幕](dvb-sub-output-captions.md)
+ [IMSC、TTML 和 WebVTT （附屬） 輸出字幕](ttml-and-webvtt-output-captions.md)
+ [SCC、SRT 和 SMI （附屬） 輸出字幕](scc-srt-output-captions.md)
+ [電視資訊輸出字幕](teletext-output-captions.md)
+ [燒錄輸出字幕](burn-in-output-captions.md)
+ [可存取性字幕的設定](accessibility-captions.md)

# CEA/EIA-608 和 CEA/EIA-708 （內嵌） 輸出字幕
<a name="embedded-output-captions"></a>

 本節說明如何在 中設定內嵌輸出字幕 AWS Elemental MediaConvert。主要主題包括：
+ 在何處指定字幕。
+ 如何指定多個字幕軌跡。
+ MXF 輸出中的內嵌和輔助字幕。

## 在何處指定字幕
<a name="where-embedded-output-captions"></a>

將您的字幕放在與影片相同的輸出群組和相同的輸出中。

## 如何指定多個字幕音軌
<a name="multilang-embedded-output-captions"></a>
+ 如果您的輸入字幕格式為內嵌 (亦即傳遞內嵌至內嵌)，您只需要建立一個字幕設定群組。您在 **Captions source (字幕來源)** 之下選擇的字幕選擇器，包含來自輸入的所有軌道。
+ 如果您的輸入字幕是兩個 SCC 檔案，您可以將輸出字幕建立為內嵌在輸出視訊串流中的兩個輸出字幕通道。如需詳細資訊，請參閱[將雙 SCC 輸入檔案轉換為內嵌字幕](converting-dual-scc-input-files-to-embedded-captions.md)。
+ 如果您的輸入字幕並非內嵌或 SCC，您只能在每個輸出中包含一個字幕軌。在每個輸出中，包含一個字幕設定群組。在 **Captions source (字幕來源)** 之下，選擇您設定用來包含您想要之軌道的選擇器。

## MXF 輸出中的內嵌和輔助字幕
<a name="embedded-and-ancillary-captions-in-mxf-outputs"></a>

MXF 輸出是否可以包含輔助字幕取決於 MXF 設定檔：
+ MXF XDCAM HD：此 MXF 設定檔指定在 smpte 436 軌道的輔助資料。透過這些輸出，MediaConvert 會將您的內嵌字幕複製到 smpte 436 輔助軌道，並將它包含在視訊串流中。
+ MXF D-10：此 MXF 設定檔規格不允許輔助資料。因此，您的 MXF D-10 輸出僅在視訊串流中嵌入字幕。

MediaConvert 會根據下列編碼設定的值來決定輸出的 MXF 設定檔：
+ Resolution
+ 影格播放速率
+ 視訊轉碼器設定檔
+ 交互模式

如需有關這些設定值對哪些 MXF 設定檔有效的資訊，請參閱相關規格。針對 XDCAM HD，請參閱 IEEE Xplore 數位資料庫中的 [RDD 9:2009 - SMPTE 標準文件 - Sony MPEG 長 GOP 產品的 MXF 相互操作性規格](https://ieeexplore.ieee.org/document/7290306)。針對 MXF D-10，請參閱 [ST 356:2001 - SMPTE 標準 - 針對電視 — D-10 類型串流規格 — MPEG-2 4:2:2P @ ML 為 525/60 及 625/50](https://ieeexplore.ieee.org/document/7290684)。

# DVB-Sub 輸出字幕
<a name="dvb-sub-output-captions"></a>

 本節說明如何在 中設定 DVB-Sub 輸出字幕 AWS Elemental MediaConvert。主要主題包括：
+ 在何處指定字幕。
+ 如何指定多個字幕軌跡。
+ 如何指定字型指令碼。

## 在何處指定字幕
<a name="where-dvb-sub-output-captions"></a>

將您的字幕放在與影片相同的輸出群組和相同的輸出中。

## 如何指定多個字幕音軌
<a name="multilang-dvb-sub-output-captions"></a>
+ 如果您的輸入字幕格式與輸出字幕格式相同 (傳遞)，您只需建立一個字幕設定群組。您在 **Captions source (字幕來源)** 之下選擇的字幕選擇器，包含來自輸入的所有軌道。
+ 如果您的輸入字幕使用不同的格式，則必須為每個軌道建立一個字幕設定群組。將各個字幕設定群組放入相同的輸出中。它們將以 Captions 1 (字幕 1)、Captions 2 (字幕 2) 等出現在設定群組清單中。在每個設定群組中，在 **Captions source (字幕來源)** 之下，選擇您設定用來包含您所需軌道的選擇器。

## 如何指定字型指令碼
<a name="how-to-specify-lang-script-dvb-sub"></a>

AWS Elemental MediaConvert 會根據您在輸出字幕設定中指定的語言，自動為您的字幕選取適當的指令碼。如果您選擇的語言有多個可能的指令碼，請指定您想要的指令碼。

**為了確保服務使用正確的字型指令碼**

1. 在**編碼設定**下的**字幕**區段中，針對**語言**選擇字幕文字的語言。

1. 如果您指定的語言有多個可能的指令碼，請使用**字型指令碼**來指定指令碼。

   例如，如果您為**語言**選擇**中文** (ZH)，請使用**字型指令碼**選擇**簡體中文**或**繁體中文**。在此情況下，如果您未指定**字型指令碼**的值，服務會預設為簡體中文。
**提示**  
在大多數情況下，對於**字型指令碼**，您可以保留 **Automatic** 的預設值。當您這麼做時，服務會根據字幕文字的語言選擇指令碼。

# IMSC、TTML 和 WebVTT （附屬） 輸出字幕
<a name="ttml-and-webvtt-output-captions"></a>

 本節說明如何在 中設定 IMSC、TTML 和 WebVTT （附屬） 輸出字幕 AWS Elemental MediaConvert。主要主題包括：
+ 在何處指定字幕。
+ 如何指定多個字幕軌跡。
+ 附屬字幕容器選項。

如果您的輸出字幕為 IMSC、TTML 或 WebVTT 格式，請根據下列資訊在您的輸出中設定這些字幕。如需 IMSC 支援的限制 , 請參閱 [IMSC 要求](imsc-captions-support.md)。

## 在何處指定字幕
<a name="where-ttml-and-webvtt-output-captions"></a>

將您的字幕放在相同的輸出群組中，但與視訊的輸出不同。

將字幕新增至輸出後，請刪除服務使用輸出自動建立的**視訊**和**音訊 1** 設定群組。

**刪除 視訊和音訊 1 群組的設定**

1. 在**建立任務**頁面的左側**任務**窗格中的**輸出群組**下，選擇包含您要刪除之設定群組的輸出。

1. **影片**設定群組會自動顯示在**串流設定**區段中。選擇**移除影片選擇**器按鈕。

1. **音訊 1** 設定群組會自動顯示在**串流設定**區段中。選擇**移除**按鈕。

## 如何指定多個字幕音軌
<a name="multilang-ttml-and-webvtt-output-captions"></a>

將每個字幕軌放入其各自的輸出中。

**注意**  
在任務中第一個指定的字幕軌會以 HLS 資訊清單中的預設軌道表示。

## 附屬字幕容器選項
<a name="sidecar-captions-container-options"></a>

視輸出群組而定，您可以選擇 IMSC 和 TTML 字幕輸出的字幕容器。

對於 **DASH ISO** 輸出群組，您可以從以下選擇：
+ 分段的 MP4 (`.fmp4`)
+ 原始 (`.xml` 適用於 IMSC，`.ttml` 適用於 TTML)

對於所有其他輸出群組，IMSC 和 TTML 檔案是原始檔案。

**指定 DASH ISO 輸出群組中 IMSC 和 TTML 字幕的字幕容器**

1. 在 **DASH ISO** 輸出群組中設定輸出，如中所述[在 ABR 串流輸出群組中建立輸出](setting-up-a-job.md#create-outputs-in-abr-streaming-output-groups)。將字幕放在單獨的輸出中。

1. 在**建立任務**頁面上，於左側**的任務**窗格中，選擇字幕輸出。

1. 在右側的 **Output settings (輸出設定)** 區段中，選擇 **Container settings (容器設定)**，然後啟用 **DASH container settings (DASH 容器設定)**。

1. 對於 **Captions container (字幕容器)**，請保留預設的 **Raw (原始)** 或選擇 **Fragmented MPEG-4 (分段的 MPEG-4)**。

# SCC、SRT 和 SMI （附屬） 輸出字幕
<a name="scc-srt-output-captions"></a>

 本節說明如何在 中設定 SCC、SRT 和 SMI （附屬） 輸出字幕 AWS Elemental MediaConvert。主要主題包括：
+ 在何處指定字幕。
+ 如何指定多個字幕軌跡。

## 在何處指定字幕
<a name="where-scc-srt-output-captions"></a>

將您的字幕放在相同的輸出群組中，但與視訊的輸出不同。

將字幕新增至輸出後，請刪除服務使用輸出自動建立的**視訊**和**音訊 1** 設定群組。

**刪除 視訊和音訊 1 群組的設定**

1. 在**建立任務**頁面的左側**任務**窗格中的**輸出群組**下，選擇包含您要刪除之設定群組的輸出。

1. **影片**設定群組會自動顯示在**串流設定**區段中。選擇**移除影片選擇**器按鈕。

1. **音訊 1** 設定群組會自動顯示在**串流設定**區段中。選擇**移除**按鈕。

## 如何指定多個字幕音軌
<a name="multilang-scc-srt-output-captions"></a>

 對於每個 SRT、SCC 或 SMI 輸出，每個字幕選擇器都必須有一個輸出。在字幕輸出中，選擇針對您要包含的軌道所設定的**字幕來源下的字幕**選擇器。它們會在設定群組清單中顯示為**字幕選擇器 1**、**字幕選擇器 2** 等。

# 電視資訊輸出字幕
<a name="teletext-output-captions"></a>

 本節說明如何在 中設定電視資訊輸出字幕 AWS Elemental MediaConvert。主要主題包括：
+ 電視資訊至電視資訊傳遞。
+ Teletext to Teletext，頁面重新映射。
+ 來自其他字幕格式的電視資訊。

設定輸出電視資訊字幕的方式取決於您要將字幕移至不同的電視資訊頁面，還是只將字幕完全從輸入傳遞到輸出。

## 電視訊息到電視訊息傳遞
<a name="teletext-to-teletext-passthrough"></a>

當您的輸入字幕格式為電視資訊，且您希望輸出字幕位於相同頁面上，且樣式與輸入相同時，您可以將輸入字幕傳遞至輸出。若要這樣做，請以下列方式設定您的字幕：
+ 請確定您的輸入字幕已設定一個字幕選擇器。如需詳細資訊，請參閱[電視資訊輸入字幕](teletext.md)。
+ 在與視訊相同的輸出群組和相同的輸出中，建立一個字幕索引標籤。這個字幕索引標籤代表所有輸出字幕，無論您擁有的輸出電視資訊頁面數目為何。
+ 在輸出字幕索引標籤中，選擇**字幕來源的輸入字幕**選擇器。
+ 請勿在輸出字幕索引標籤上指定任何其他設定的值。

當您直接在 JSON 任務規格中工作時，一個字幕索引標籤對應至 的一個子項`CaptionDescriptions`。

## Teletext to Teletext，頁面重新映射
<a name="teletext-to-teletext-page-remapping"></a>

當您的輸入字幕格式為電視資訊，而且在輸出中，您想要變更字幕所在的電視資訊頁面時，您可以在輸入和輸出中指定頁面。若要這樣做，請以下列方式設定您的字幕：
+ 請確定您的輸入字幕已為每個電視資訊頁面設定一個字幕選擇器，且您在每個輸入字幕選擇器的設定中指定頁面號碼。如需詳細資訊，請參閱[電視資訊輸入字幕](teletext.md)。
+ 在與視訊相同的輸出群組和相同的輸出中，為每個輸出電視資訊頁面建立一個字幕索引標籤。
+ 在每個輸出字幕索引標籤中，選擇**字幕來源的其中一個輸入字幕**選擇器。
+ 在每個輸出字幕索引標籤中，針對**頁碼**，為輸出中的這些字幕指定您想要的電視資訊頁碼。或者，提供**語言**、**描述**和**頁面類型的**值。

## 來自其他字幕格式的電視資訊
<a name="teletext-from-other-captions-formats"></a>

當您的輸入字幕採用 Teletext 以外的格式時，您必須指定輸出字幕的 Teletext 頁面。MediaConvert 支援這些字幕工作流程：
+ 單一輸入字幕會追蹤到單一輸出的電視資訊頁面。
+ 單一輸入字幕會追蹤多個輸出電視資訊頁面。每個輸出頁面都會複製其他頁面的內容。
+ 多個輸入字幕會追蹤多個輸出電視資訊頁面。您可以使用字幕選擇器來指定要在每個輸出電視資訊頁面上包含的字幕。

像這樣設定您的字幕：
+ 請確定您的輸入字幕已針對您要映射至電視資訊頁面的每個字幕軌設定一個字幕選擇器。如需詳細資訊，請參閱[建立輸入字幕選取器](including-captions.md#create-input-caption-selectors)。
+ 在與視訊相同的輸出群組和相同的輸出中，為每個輸出電視資訊頁面建立一個字幕索引標籤。
+ 在每個輸出字幕索引標籤中，選擇**字幕來源的其中一個輸入字幕**選擇器。
+ 在每個輸出字幕索引標籤中，針對**頁碼**，為輸出中的這些字幕指定您想要的電視資訊頁碼。或者，提供**語言**和**描述**的值。

# 燒錄輸出字幕
<a name="burn-in-output-captions"></a>

 本節說明如何在 中設定燒錄輸出字幕 AWS Elemental MediaConvert。主要主題包括：
+ 在何處指定字幕。
+ 如何指定多個字幕軌跡。
+ 如何使用樣式傳遞。
+ 非英文字型和不支援的字元。

*燒錄*是一種傳遞字幕的方式，而不是字幕格式。燒錄可將字幕直接寫入視訊影格，以字幕取代視訊內容的像素。如果您想要在輸出中燒錄字幕，請根據下列資訊設定字幕。

## 在何處指定字幕
<a name="where-burn-in-output-captions"></a>

將您的字幕放在與影片相同的輸出群組和相同的輸出中。

## 如何指定多個字幕音軌
<a name="multilang-burn-in-output-captions"></a>

您只能在每個輸出中燒錄一個字幕軌道。

## 如何使用樣式傳遞
<a name="how-to-use-style-passthrough"></a>

您可以選擇如何對輸出影片中出現的燒錄字幕文字進行樣式化。有幾個選項，包括樣式傳遞、預設設定或手動覆寫。

當您將樣式傳遞設定為已啟用時，MediaConvert 會使用來自輸入字幕的可用樣式和位置資訊。請注意，MediaConvert 會針對任何缺少的樣式資訊使用預設設定。

MediaConvert 支援下列輸入字幕格式的樣式傳遞：
+ 輔助式
+ 內嵌
+ SCTE-20
+ SCC
+ TTML
+ STL (EBU STL)
+ SMPTE-TT （文字型）
+ 電視資訊
+ IMSC
+ WebVTT

當您將樣式傳遞設定為已停用時，MediaConvert 會忽略輸入中的樣式資訊，並使用預設設定：具有黑底線的白色文字、底部中心定位和自動調整大小。

 無論您是否將樣式傳遞設定為已啟用，您也可以選擇手動覆寫任何個別樣式選項。

**注意**  
TTML 和類似 TTML (IMSC、SMPTE-TT) 輸入具有特殊樣式格式化要求。如需詳細資訊，請參閱[TTML 樣式格式](ttml-style-formatting.md)。

## 如何指定字型指令碼
<a name="how-to-specify-the-language-script-burnin"></a>

AWS Elemental MediaConvert 會根據您在輸出字幕設定中指定的語言，自動為您的字幕選取適當的指令碼。如果您選擇的語言有多個可能的指令碼，請指定您想要的指令碼。

**為了確保服務使用正確的字型指令碼**

1. 在**編碼設定**下的**字幕**區段中，針對**語言**，選擇字幕文字的語言。

1. 如果您指定的語言有多個可能的指令碼，請使用**字型指令碼**來指定指令碼。

   例如，如果您為**語言**選擇**中文** (ZH)，請使用**字型指令碼**選擇**簡體中文**或**繁體中文**。在此情況下，如果您未指定**字型指令碼**的值，服務會預設為簡體中文。
**提示**  
在大多數情況下，對於**字型指令碼**，您可以保留 **Automatic** 的預設值。當您這麼做時，服務會根據字幕文字的語言選擇指令碼。

## 非英文字型和不支援的字元
<a name="non-english-unsupported"></a>

當您的輸入字型使用非英文字型指令碼時，輸出燒錄字幕可能包含不支援的 Unicode 字元 `□`。若要解決此問題，請將**樣式傳遞**設定為**已啟用**。

# 可存取性字幕的設定
<a name="accessibility-captions"></a>

當您建立 HLS 或 CMAF HLS 輸出並包含 ISMC 或 WebVTT 字幕軌時，您可以將字幕的存取性屬性新增至輸出資訊清單。MediaConvert 根據 [Apple 裝置的 HLS 撰寫規格](https://developer.apple.com/documentation/http_live_streaming/hls_authoring_specification_for_apple_devices)第 4.5 和 4.6 節新增這些屬性。

當您將**協助工具字幕** (`accessibility`) 設定為**已啟用 **(`ENABLED`) 時，MediaConvert 會將下列屬性新增至 下資訊清單中的字幕軌`EXT-X-MEDIA`： `CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound"`和 `AUTOSELECT="YES"`。

如果字幕軌並非旨在提供此類可存取性，請保留預設值**已停用** (`DISABLED`)。MediaConvert 不會新增上一段的屬性。

# 使用輸出群組來指定串流套件類型或獨立檔案
<a name="outputs-file-ABR"></a>

AWS Elemental MediaConvert 輸出函數會根據其所屬的輸出群組類型而有所不同。

檔案  
 在**檔案**輸出群組中，您設定的每個輸出都會產生獨立的輸出檔案。  
例如，您可以設定一個輸出，其中包含所有視訊、音訊和字幕。您也可以為附屬字幕設定個別的輸出，例如 TTML。

串流輸出套件  
在下列輸出群組中，您設定的輸出是單一自適應位元速率 (ABR) 串流套件的不同部分：CMAF、DASH ISO、 Apple HLS和 Microsoft Smooth Streaming。

在 ABR 輸出群組中，每個輸出通常是媒體的一個元素。也就是說，每個輸出都是適應性位元速率 (ABR) 堆疊中的一個配量。例如，您可能擁有三個視訊解析度中的每個輸出、兩個音訊語言音軌中的每個輸出，以及兩個字幕語言中的每個輸出。

下圖顯示 ABR 輸出群組中的輸出與 MediaConvert 建立的檔案之間的關係。每個橘色方塊皆對應至輸出群組中的輸出。在此範例中，有三個影片的解析度、兩種語言的音訊，以及兩種語言的字幕。套件包含分段的音訊、影片和字幕檔案，以及資訊清單檔案，告知玩家要下載哪些檔案以及何時播放這些檔案。

![\[ABR 堆疊中的每個轉譯在輸出群組中都有自己的輸出。\]](http://docs.aws.amazon.com/zh_tw/mediaconvert/latest/ug/images/ABRsegSeparately.png)


單一工作可產生零到多個 獨立作業的檔案以及零到多個串流套件。若要建立一個以上的獨立檔案，請將單一檔案輸出群組新增到您的任務，然後將多個輸出新增到該輸出群組。若要建立一個以上的串流堆疊，請將多個 **CMAF (CMAF)**、**AppleHLS (AppleHLS)**、**DASH ISO (DASH ISO)** 或 **Microsoft Smooth Streaming (Microsoft Smooth Streaming)** 輸出群組新增到您的任務。

下圖顯示產生兩個獨立 .mp4 檔案、兩個Apple HLS套件和一個CMAF套件的 MediaConvert 任務。單一檔案輸出群組，在兩個獨立檔案中有兩個輸出結果。具有七個輸出的單一 Apple HLS 輸出群組會產生具有七個 ABR 配量的單一可檢視套件。

![\[MediaConvert 任務產生兩個獨立的 .mp4 檔案、兩個 Apple HLS 套件和一個 CMAF 套件。\]](http://docs.aws.amazon.com/zh_tw/mediaconvert/latest/ug/images/jobSetupToOutput.png)


如需有關設定任務中的輸出群組和輸出的詳細資訊，請參閱 [教學課程：設定任務設定](setting-up-a-job.md)。

# 選擇您的 ABR 串流輸出群組
<a name="choosing-your-streaming-output-groups"></a>

若要為使用者建立媒體資產以串流至其裝置，請選擇一或多個適應性位元速率 (ABR) 輸出群組：Apple HLS、DASH ISO、 Microsoft Smooth Streaming或 CMAF。輸出群組的類型會決定哪些媒體播放器可以播放 MediaConvert 從該輸出群組建立的檔案。

**注意**  
當您設定 CMAFDASH ISO、 或Microsoft Smooth Streaming輸出群組時，請務必正確設定片段長度。如需設定片段長度的相關資訊，請參閱[設定串流輸出的片段長度](setting-the-fragment-length.md)。

下表總結輸出群組與媒體播放器之間的關係。


| 媒體播放器 | 使用此輸出群組 | 
| --- | --- | 
| Apple 裝置，大約在 2013 年之前 | Apple HLS | 
| Apple 裝置、較新的 | CMAF | 
| Android 裝置、大部分智慧型電視 | CMAF 或 DASH ISO | 
| Microsoft 裝置 | Microsoft Smooth Streaming | 

**注意**  
每分鐘轉碼輸出時間的 MediaConvert 帳單，而非每個任務。因此，當您將輸出群組新增至任務時，它會變得比較昂貴。  
例如，具有 Apple HLS套件和 DASH ISO 套件的任務的成本是只有其中一個套件的任務的兩倍。這是假設轉碼設定相同。

**判斷您需要哪些輸出群組**

1. 決定您希望瀏覽者能夠使用哪些裝置來播放轉碼後的媒體資產。如果您希望您的資產可以在所有可能的裝置上播放，請包含這些輸出群組：
   + Apple HLS
   + DASH ISO 或 CMAF
   + Microsoft Smooth Streaming

1. 考慮是否使用進階編碼功能。為了將下列影片提供給 Apple 裝置，您還必須包含 CMAF 輸出群組：
   + 高動態範圍 (HDR) 影片
   + H.265 (HEVC) 編碼的影片

   如果您包含 CMAF 輸出，將無需建立 DASH ISO 輸出，因為所有常見的 DASH 相容播放器皆相容於 CMAF。
**注意**  
有一些不常見的DASH玩家明確需要影片分割延伸類型 .mp4。MediaConvert 會以 .cmfv 格式輸出 CMAF 影片片段。若要建立與這些玩家相容的輸出，請在任務中包含DASH ISO輸出群組。

1. 考量成本的權衡取捨。

   如果您不需要支援在大約 2013 年之前產生的玩家，而且不需要支援需要 .mp4 影片區段的罕見DASH玩家，則可以包含單一 CMAF 輸出群組，而不是同時包含 DASH ISO和 Apple HLS。建立單一 CMAF 套件而非個別的 DASH ISO和 Apple HLS套件也可以節省影片儲存和分發的成本。這是因為您只能存放和分發一組視訊和音訊檔案。

# 設定串流輸出的片段長度
<a name="setting-the-fragment-length"></a>

對於 HLS 以外的所有其他 ABR 串流輸出群組 (CMAF、DASH 和 Microsoft Smooth Streaming)，您為 **Fragment length (片段長度)** (`FragmentLength`) 指定的值必須搭配您指定的其他輸出設定。如果您錯誤設定 **Fragment length (片段長度)**，當觀眾觀看輸出影片，他們的播放器可能會當機。發生的原因是，播放器預期在視訊結尾處有額外的片段並請求不存在的片段。

**片段長度**受限於**封閉 GOP 節奏** (`GopClosedCadence`)、**GOP 大小** (`GopSize`) 和**影格率** (`FramerateNumerator`、) 的值`FramerateDenominator`。如需在主控台和 JSON 任務規格中尋找這些設定的詳細資訊，請參閱[尋找與片段長度相關的設定](#finding-the-settings-related-to-fragment-length)。

**注意**  
當您將輸出**影格率**設定為**跟隨來源**時，請確定輸入影片檔案的影格率與您為輸出**片段長度**指定的值相符。輸入影片檔案的影格率會做為輸出影格率。

**Topics**
+ [片段長度的規則](#rule-for-fragment-length)
+ [片段長度範例](#fragment-length-examples)
+ [尋找與片段長度相關的設定](#finding-the-settings-related-to-fragment-length)

## 片段長度的規則
<a name="rule-for-fragment-length"></a>

片段長度必須是整數，且必須是此值的倍數：**GOP 大小** x **封閉 GOP 節奏** ÷ **影格率**

## 片段長度範例
<a name="fragment-length-examples"></a>

**範例：正確設定**  
封閉式 GOP 下降 = 1

影格率 = 30

GOP 大小 = 60 影格

片段長度 = 2

**範例：錯誤設定**  
封閉式 GOP 下降 = 1

影格率 = 50

GOP 大小 = 90 影格

片段長度 = 2

## 尋找與片段長度相關的設定
<a name="finding-the-settings-related-to-fragment-length"></a>

當您設定**片段長度**時，請檢查**已關閉 GOP 節奏**、**GOP 大小**和**影格率**的值。

### 片段長度
<a name="fragment-length"></a>

您可以使用主控台或 JSON 任務規格來設定片段長度。**Fragment length (片段長度)** 設定會套用至輸出群組，並影響該群組中的每個輸出。

**若要尋找 **Fragment length (片段長度)** 設定 (主控台)**

1. 在**建立任務**頁面的左側**任務**窗格的**輸出群組**下，選擇 CMAF、DASH ISO 或 Microsoft Smooth Streaming 輸出群組的名稱。

1. 在右側的群組設定部分，找到 **Fragment length (片段長度)**。

   群組設定部分的標題為 **CMAF group settings (CMAF 群組設定)**、**DASH ISO group settings (DASH ISO 群組設定)** 或 **MS Smooth group settings (MS Smooth 群組設定)**。

**若要尋找 **Fragment length (片段長度)** 設定 (JSON 任務規格)**
+ 尋找 `FragmentLength`的子項`OutputGroupSettings`，如下列範例所示。

  ```
  {
    "Settings": {
      ...
      "Inputs": [
        ...
      ],
      "OutputGroups": [
        {
          "Name": "DASH ISO",
          "OutputGroupSettings": {
            "Type": "DASH_ISO_GROUP_SETTINGS",
            "DashIsoGroupSettings": {
              "SegmentLength": 30,
              "FragmentLength": 2,
              "SegmentControl": "SINGLE_FILE",
              "HbbtvCompliance": "NONE"
            }
          },
  		...
  ```

### 關閉的 GOP 節奏、GOP 大小和影格率
<a name="closed-gop-cadence-gop-size-and-framerate"></a>

您可以使用主控台或 JSON 任務規格來設定**封閉式 GOP 節奏**、**GOP 大小**和**影格率**。這些設定會分別套用至各個輸出。請確定您為輸出群組中每個輸出設定的值與您為輸出群組**片段長度**指定的值搭配使用。

**注意**  
您的 ABR 堆疊有多個輸出。請務必在每個輸出中設定這些值。

**若要尋找輸出的編碼設定 (主控台)**

1. 在**建立任務**頁面左側**的任務**窗格中的**輸出群組**下，選擇輸出的名稱，例如**輸出 1**、**輸出 2**，以此類推。

1. 在 **Encoding settings (編碼設定)** 部分，**Video (影片)** 標籤會自動選取起來。在此索引標籤上尋找**已關閉的 GOP 節奏**、**GOP 大小**和**影格率**。

**若要尋找輸出的編碼設定 (JSON 任務規格)**
+ 

尋找轉碼器設定的子項 `GopClosedCadence`、`GopSize`、`FramerateNumerator` 和 `FramerateDenominator`，如下列範例所示。在此範例中，轉碼器是 `H_264`，因此轉碼器設定的父項是 `H264Settings`。

  ```
  {
    "Settings": {
      ...
      "Inputs": [
        ...
      ],
      "OutputGroups": [
        {
          "Name": "DASH ISO",
          ...
          },
          "Outputs": [
            {
              "VideoDescription": {
                ...
                "CodecSettings": {
                  "Codec": "H_264",
                  "H264Settings": {
                    "InterlaceMode": "PROGRESSIVE",
                    "NumberReferenceFrames": 3,
                    "Syntax": "DEFAULT",
                    "Softness": 0,
                    "GopClosedCadence": 1,
                    "GopSize": 60,
  				  ...
                    "FramerateNumerator": 60,
                    "FramerateDenominator": 1
                  }
                },
                ...
              },
  ```

# HLS 播放器版本支援
<a name="hls-player-version-support"></a>

AWS Elemental MediaConvert 會根據您啟用的功能，自動設定玩家版本中繼資料。您使用 MediaConvert 建立的大多數 HLS 資產都與 HLS 播放器第 2 版及更新版本相容。

此清單顯示可能需要更新播放器支援的功能：

**Add I-frame only manifest** (新增僅 I-frame 播放功能的資訊清單)：HLS 輸出群組 > 輸出 > 進階 > 新增僅 I-frame 播放功能的資訊清單  
當您選擇 **Include** (包含) 時，檢視器可使用 HLS 播放器第 4 版和更高版本來播放資產。  
當您選擇 **Exclude** (排除) 時，檢視器可使用 HLS 播放器第 2 版和更高版本來播放資產。

**音訊軌類型**：HLS 輸出群組 > 輸出 > 輸出設定 > 進階 > 音訊軌類型  
當您為任何音訊變體選擇其中一個**替代**音訊選項時，檢視器可以使用 HLS 播放器第 4 版及更新版本播放資產。  
當您為音訊**音軌類型**選擇**僅限音訊變體串流**，或為所有音訊變體保持**未選取音訊音軌類型**時，檢視器可以使用 HLS 播放器第 2 版及更新版本來播放資產。

**DRM encryption method** (DRM 加密方法)：HLS 輸出群組 > DRM 加密 > 加密方法  
當您在 **DRM encryption** (DRM 加密)、**Encryption method** (加密方法) 中選擇 **SAMPLE-AES** 時，檢視器可使用第 5 版和更高版本的 HLS 播放器來播放資產。  
當您在 **DRM encryption** (DRM 加密)、**Encryption method** (加密方法) 中選擇任何其他值時，檢視器可使用第 2 版和更高版本的 HLS 播放器來播放資產。

**描述性影片服務旗標**：HLS 輸出群組 > 輸出 （僅限音訊） > 輸出設定 > 描述性影片服務旗標  
此設定也可用於 CMAF 輸出群組：CMAF 輸出群組 > 輸出 > CMAF 容器設定 > 進階 > 描述性影片服務旗標  
若要尋找此設定，您的 HLS 或 CMAF 輸出必須只有音訊設定。在 HLS 輸出中，您必須移除預設的**影片**索引標籤。  
當您選擇**描述性影片服務****旗標**時，檢視器可以使用 HLS 播放器第 5 版及更新版本播放資產。  
若要建立合規Apple HLS輸出：將**描述性影片服務旗標**設定為 **旗標**時，您還必須將**音訊軌類型**設定為**替代音訊、自動選取、預設**或**替代音訊、自動選取，而非預設**。

**Manifest duration format** (資訊清單持續時間格式)：HLS 輸出群組 > Apple HLS 群組設定 > 進階 > 資訊清單持續時間格式   
當您將資訊清單持續時間格式設為 **Integer** (整數) 時，檢視器可使用第 2 版和更高版本的 HLS 播放器來播放資產。  
當您將資訊清單持續時間格式設為 **Floating point** (浮點) 時，檢視器可使用第 3 版和更高版本的 HLS 播放器來播放資產。

**Segment control** (區段控制)：HLS 輸出群組 > Apple HLS 群組設定 > 區段控制  
當您將區段控制設為 **Single file** (單一檔案) 時，檢視器可使用第 4 版和更高版本的 HLS 播放器來播放資產。  
當您將區段控制設為 **Segmented files** (區段化檔案) 時，檢視器可使用第 2 版和更高版本的 HLS 播放器來播放資產。

# 影片品質的建議編碼設定
<a name="video-quality"></a>

當您使用 建立任務時 AWS Elemental MediaConvert，您選擇的編碼設定會影響視訊品質、檔案大小和玩家相容性。

您可以設定任務，以允許 MediaConvert 自動選取視訊品質的最佳編碼設定，並具有平衡的輸出檔案大小。或者，您可以手動指定編碼設定，以符合您的輸出或交付需求。

本節介紹基本概念、描述一般設定，並提供針對影片品質進行最佳化設定的指引。

**Topics**
+ [GOP 結構和影格類型的參考](#gop-structure)
+ [GOP 大小建議設定](#gop-size-settings)
+ [參考影格之間的 B 影格建議設定](#reference-frames)
+ [關閉的 GOP 節奏建議設定](#closed-gop-cadence)
+ [動態 sub-GOP 建議設定](#dynamic-sub-gop)
+ [GOP 參考 B 影格建議設定](#gop-reference-b-frames)
+ [最小 I-Interval 建議設定](#min-i-interval)
+ [自適應量化建議設定](#adaptive-quantization)

## GOP 結構和影格類型的參考
<a name="gop-structure"></a>

當您建立任務時，您為輸出選擇的影像群組 (GOP) 設定會影響視訊品質和玩家相容性。本節介紹基本 GOP 概念、描述典型的 GOP 設定，並提供針對影片品質進行最佳化設定的指引。

GOP 是壓縮影片影格類型的特定排列。這些影格類型包括下列項目：

 **I-Frames**   
編碼內影格。包含解碼器使用解碼影格的所有資訊。一般而言，I 影格會在影片串流中使用最多的位元數。

 **IDR-Frames**   
瞬間解碼器重新整理影格。與 I-frame 類似，它們包含解碼器用來解碼框架的所有資訊。不過，影格無法參考 IDR 影格之前的任何影格。

 **P-Frames**   
預測影格。包含目前影格與之前一或多個影格之間的差異。P 影格比 I 影格提供更好的壓縮，並在影片串流中使用較少的位元。

 **B-Frames**  
雙向預測影格。包含目前影格與前後一或多個影格之間的差異。B 影格提供最高的壓縮，並佔用影片串流中最少的位元。

典型的 GOP 會從 IDR 影格開始，然後接續 B 影格和 P 影格的重複模式。例如：`IDRBBPBBPBBPBB`

下列主題提供個別 GOP 設定的詳細資訊，並建議針對影片品質進行最佳化的設定。

## GOP 大小建議設定
<a name="gop-size-settings"></a>

GOP 大小是 GOP 中的影格數，並定義 IDR 影格之間的間隔。例如，如果 GOP 以 IDR 影格開頭，且結合 29 B 和 P 影格，則 GOP 大小為 30 個影格。

典型的 GOP 大小為 1–2 秒長，並對應至影片影格率。例如，如果您的輸出影格率為每秒 30 個影格，則一般 GOP 大小為 30 或 60 個影格。

當您將輸出視訊轉碼器設定為 `AVC (H.264)`或 時`HEVC (H.265)`，請將 **GOP 模式控制**設定為 `Auto`。這可讓 MediaConvert 選取最佳 GOP 大小。

**注意**  
串流影片格式，包括 HLS、、CMAF DASH和 MSS，需要片段或區段長度為 GOP 大小的倍數。如需詳細資訊，請參閱[設定串流輸出的片段長度](setting-the-fragment-length.md)。當您針對這些影片格式將 GOP 模式控制設定為 Auto 時，MediaConvert 會自動選取與片段或區段長度相關的相容且最佳化的 GOP 大小。

## 參考影格之間的 B 影格建議設定
<a name="reference-frames"></a>

定義 MediaConvert 可在參考影格之間使用的 B 影格數量上限。

如果 **GOP 參考 B-Frames** 設定為 ，則典型值為 1 或 2`Disabled`；如果 **GOP 參考 B-Frames **設定為 ，則值為 3–5`Enabled`。

當您將輸出視訊轉碼器設定為 `AVC (H.264)`或 時`HEVC (H.265)`，請將**參考影格之間的 B 影**格保留空白。這可讓 MediaConvert 在參考影格之間選取最佳數量的 B 影格。

## 關閉的 GOP 節奏建議設定
<a name="closed-gop-cadence"></a>

**關閉的 GOP 節奏**會定義 P 或 B 影格能夠參考GOPs 數量。GOP 可以是*開啟*或*關閉*。開啟的 GOPs可以具有參考不同 GOP 中影格的影格，而關閉GOPs 可以具有僅參考 GOP 本身內的影格。

當您將輸出視訊轉碼器設定為 `AVC (H.264)`或 時`HEVC (H.265)`，請保持**關閉 GOP 節奏**空白，以允許 MediaConvert 選擇最佳的關閉 GOP 節奏。

## 動態 sub-GOP 建議設定
<a name="dynamic-sub-gop"></a>

動態子 GOP 可以改善高動作內容的主觀影片品質。它透過允許 B 影格數量變化來執行此操作。

當您將輸出視訊轉碼器設定為 `AVC (H.264)`或 時`HEVC (H.265)`，請將**動態子 GOP** 設定為 `Adaptive`。這可讓 MediaConvert 判斷最佳子 GOP。

## GOP 參考 B 影格建議設定
<a name="gop-reference-b-frames"></a>

當您將輸出視訊轉碼器設定為 `AVC (H.264)`或 時`HEVC (H.265)`，將 **GOP 參考 B 影格**設定為 `Enabled` ，以允許其他影格類型參考 B 影格。這可改善輸出相對於位元速率的視訊品質。

## 最小 I-Interval 建議設定
<a name="min-i-interval"></a>

最小 I-Interval 會強制執行 IDR 影格之間的影格數下限。這包括在 GOP 開頭或場景變更偵測時建立的影格。在建立兩個 IDR 影格時，使用最小 I-Interval 來改善影片壓縮，方法是改變 GOP 大小。

當您將輸出視訊轉碼器設定為 `AVC (H.264)`或 時`HEVC (H.265)`，請將**最小 I-Interval** 保留空白。這可讓 MediaConvert 選擇最佳的最小 I-interval。

## 自適應量化建議設定
<a name="adaptive-quantization"></a>

自適應量化會選取套用至 MediaConvert 使用的不同量化模式的強度，包括閃爍、空間和時間量化。MediaConvert 會根據影片的複雜性，使用自適應量化來指派位元。

當您將輸出視訊轉碼器設定為 `AVC (H.264)`、 `HEVC (H.265)`或 `XAVC`時，請將**適應性量化**設定為 `Auto`，以允許 MediaConvert 選擇最佳的適應性量化。

# 在任務設定中使用變數
<a name="using-variables-in-your-job-settings"></a>

您可以在任務設定中使用變數，也稱為 *格式識別符 (format identifier)*。格式識別符是您可以放在任務設定中的值，根據輸入檔案或任務的特性，這些值在輸出中有不同解析方式。這些值特別適合您要複製和重複使用的輸出預設集、任務範本和任務。請注意，變數區分大小寫。

例如，您可以使用`$d$`**目的地**設定的日期格式識別符。如果想用任務開始的日期和時間整理輸出，您可以在 **Destination (目標)** 輸入 **s3://amzn-s3-demo-bucket1/\$1d\$1/**。針對 2020 年 6 月 4 日開始的任務，此服務將於 `s3://amzn-s3-demo-bucket1/20200604/` 中建立您的輸出。

如需可用的格式識別符和如何使用的範例詳細資訊，請參閱 [具有範例的設定變數清單](#list-of-settings-variables-with-examples)。

如需有關串流輸出中不同作用的格式識別符，請參閱 [搭配串流輸出使用設定變數](#using-settings-variables-with-streaming-outputs)。

**Topics**
+ [具有範例的設定變數清單](#list-of-settings-variables-with-examples)
+ [搭配串流輸出使用設定變數](#using-settings-variables-with-streaming-outputs)
+ [指定最小位數](#specifying-a-minimum-number-of-digits)

## 具有範例的設定變數清單
<a name="list-of-settings-variables-with-examples"></a>

下表提供您可以在 AWS Elemental MediaConvert 任務中使用的每個格式識別符的相關資訊。如需有關串流輸出中不同作用的格式識別符，請參閱 [搭配串流輸出使用設定變數](#using-settings-variables-with-streaming-outputs)。


| 格式識別符 | 要放入任務設定的值 | 相容任務設定 | 描述和範例 | 
| --- |--- |--- |--- |
| Date and time |  `$dt$`  |  目標 名稱修飾詞 區段修飾詞  |  任務開始時間的 UTC 日期和時間 格式：YYYYMMDDTHHMMSS 範例：**\$1dt\$1** 針對 2020 年 6 月 4 日 3:05:28 PM 開始的任務，解析為 `20200604T150528`。  | 
| Date |  `$d$`  |  目標 名稱修飾詞 區段修飾詞  |  任務開始時間的 UTC 日期  格式：YYYYMMDD 範例：**\$1d\$1** 針對 2020 年 6 月 4 日開始的任務，解析為 `20200604`。  | 
| Time |  `$t$`  |  目標 名稱修飾詞 區段修飾詞  |  任務的 UTC 開始時間。 格式：HHMMSS 範例：**\$1t\$1** 針對 3:05:28 PM 開始的任務，解析為 `150528`。  | 
| Video bitrate |  `$rv$`  |  名稱修飾詞 區段修飾詞  |  輸出的影片位元速率 (千位元數)。對於 QVBR 輸出，服務使用影片最大位元速率 (千位元數)。 範例：如果您將 **編碼設定 (Encoding settings)**、**影片 (Video)**、**位元速率 (位元/秒) (Bitrate (bits/s))** 設定為 **50000000**，**\$1rv\$1** 會解析成 `50000`。  | 
| Audio bitrate |  `$ra$`  |  名稱修飾詞 區段修飾詞  |  輸出中所有音訊位元速率的總和 (千位元數)。 範例：如果您的輸出有單一音訊標籤，且您設定 **編碼設定 (Encoding settings)**、**音訊 1**、**位元速率 (千位元/秒) (Bitrate (kbit/s))** 為 **256000**，**\$1ra\$1** 會解析成 `256000`。  | 
| Container bitrate |  `$rc$`  |  名稱修飾詞 區段修飾詞  |  結合音訊和視訊位元速率的輸出 (千位元數)。 範例：您的輸出有 **影片 (Video)** 設定標籤和 **音訊 1 (Audio 1)** 設定標籤。如果您設定 **編碼設定 (Encoding settings)**、**影片 (Video)**、**位元速率 (位元/秒) (Bitrate (bit/s))** 為 **5000000**，並設定 **編碼設定 (Encoding settings)**、**音訊 (Audio)**、**位元速率 (位元/秒) (Bitrate (bits/s))** 為 **96000** (96 千位元)，**\$1rc\$1** 會解析成 `5096`。  | 
| Video frame width |  `$w$`  |  名稱修飾詞 區段修飾詞  |  影格寬度或水平解析度 (像素) 範例：如果您設定 **編碼設定 (Encoding settings)**、**影片 (Video)**、**解析度 (寬 x 高) (Resolution (w x h))** 為 **1280** x **720**，**\$1w\$1** 會解析為 `1280`。  | 
| Video frame height |  `$h$`  |  名稱修飾詞 區段修飾詞  |  影格高度或垂直解析度 (像素) 範例：如果您設定 **編碼設定 (Encoding settings)**、**影片 (Video)**、**解析度 (寬 x 高) (Resolution (w x h))** 為 **1280** x **720**，**\$1h\$1** 會解析為 `720`。  | 
| Framerate |  `$f$`  |  名稱修飾詞 區段修飾詞  |  截斷為接近整數的影格速率 (每秒影格)  範例：如果您的影格速率是 **59.940**，**\$1f\$1** 會解析為 `59`。  | 
| Input file name |  `$fn$`  |  目標 名稱修飾詞 區段修飾詞  |  無副檔名的輸入檔案名稱。這是有多個輸入的任務中第一個指定的檔案。 範例：如果您任務的 **輸入 1 (Input 1)** 為 **s3://amzn-s3-demo-bucket/my-video.mov**，**\$1fn\$1** 會解析為 `my-video`。  | 
| Output container file extension |  `$ex$`  |  名稱修飾詞 區段修飾詞  |  依輸出群組而異。這是 **檔案群組 (File group)** 輸出的輸出容器檔案副檔名。這是輸出群組中的資訊清單副檔名。 檔案群組的範例：如果您為**輸出設定**選擇 **MPEG2-TS**，**Container** 會**\$1ex\$1**解析為 `m2ts`。 HLS 群組範例：如果您的輸出群組是 HLS，**\$1ex\$1** 會解析為 `m3u8`。  | 
| \$1 |  `$$`  |  名稱修飾詞 區段修飾詞  |  逸出 `$`。 範例： 假設您提供以下值：   輸入檔案名稱：**file1.mp4**   目標：**s3://amzn-s3-demo-bucket/**   名稱修飾詞：**my-video\$1\$1hi-res-**   您的輸出檔案名稱和路徑會解析成 `s3://amzn-s3-demo-bucket/my-video$hi-res-file1.mp4`。  | 

## 搭配串流輸出使用設定變數
<a name="using-settings-variables-with-streaming-outputs"></a>

任務設定中的變數，也稱為 *格式辨識符 (format identifier)*，在 Apple HLS 和 DASH ISO 輸出群組中有不同作用。以下是差別：

**在 Apple HLS 輸出**  
當您在**區段修飾詞**設定中使用日期和時間格式識別符 (`$dt$`、`$t$`、`$d$`) 時，這些格式識別符會解析為每個區段的完成時間，而不是任務的開始時間。

**注意**  
區段可能同時完成使用加速轉碼的任務。這表示日期和時間格式識別符不見得會解析為唯一值。

**對於 DASH ISO 輸出**  
您可以使用 **名稱修飾詞 (Name modifier)** 設定中的另外兩項格式識別符。除了輸出檔案名稱外，這些還會影響 DASH 資訊清單。以下是識別符：

\$1Number\$1  
在您的輸出檔案名稱中， `$Number$` 可以解析為從 1 遞增的一連串數字。這會取代區段檔案名稱中預設的九位區段編號。例如：  
+ 如果您指定 **video\$1\$1Number\$1** 為 **名稱修飾詞 (Name modifier)**，服務會建立名為 `video_1.mp4`、`video_2.mp4` 等名稱的區段。
+ 如果您僅指定 **video\$1** 為 **名稱修飾詞 (Name modifier)**，服務會建立名為 `video_000000001.mp4`、`video_000000002.mp4` 等名稱的區段。
在您的 DASH 資訊清單中， AWS Elemental MediaConvert 包含 `SegmentTemplate`元素`startNumber`內的 `duration`和 ，如下所示： `<SegmentTemplate timescale="90000" media="main_video_$Number$.mp4" initialization="main_video_$Number$init.mp4" duration="3375000"/>`  
如果您在輸出中使用 `$Number$` 格式識別符，您還必須在其他所有輸出群組的輸出中使用。

\$1Bandwidth\$1   
在您的輸出檔案名稱中，`$Bandwidth$` 可以解析為輸出中 **影片 (Video)** 和 **位元速率 (Bitrate)** 的值加上 **音訊 (Audio)** 和 **位元速率 (Bitrate)** 的值。無論您是否包含此格式識別符，服務會在區段檔案名稱中使用九位區段編號。  
例如，假設您指定這些值：  
+ **影片 (Video)** 和 **位元速率 (位元/秒) (Bitrate (bits/s))**：**50000000**
+  **音訊 (Audio)** 和 **位元速率 (位元/秒) (Bitrate (bits/s))**：**96.0** (96,000 位元/秒)
+ **名稱修飾詞**：**video\$1\$1Bandwidth\$1**
\$1Bandwidth\$1 的值會解析為 50,096,000。此服務建立的區段檔案名為 `video_50096000_000000001.mp4`、`video_50096000_000000002.mp4`，以此類推。  
在資訊清單中， AWS Elemental MediaConvert 包含 `SegmentTemplate` 元素`startNumber`內的 `duration`和 ，如下所示：`<SegmentTemplate timescale="90000" media="main_video_$Bandwidth$.mp4" initialization="main_video_$Bandwidth$init.mp4" duration="3375000"/>`。

\$1Time\$1  
在您的輸出檔案名稱中，`$Time$` 會解析為區段的持續時間 (毫秒)。您包含此格式識別符時，服務不會在區段檔案名稱中使用預設的九位區段編號。  
例如，如果您指定 **video180\$1\$1\$1Time\$1** 為 **名稱修飾詞 (Name modifier)**，服務會建立名為 `video180__345600.mp4`、`video180__331680.mp4` 等名稱的區段。在這些範例中，區段持續時間是 345,600 毫秒和 331,680 毫秒。  
在資訊清單中， AWS Elemental MediaConvert 包含在 `SegmentTemplate`元素`SegmentTimeline`內，如下所示：  

```
<Representation id="5" width="320" height="180" bandwidth="200000" codecs="avc1.4d400c">
        <SegmentTemplate media="video180_$Time$.mp4" initialization="videovideo180_init.mp4">
          <SegmentTimeline>
            <S t="0" d="345600" r="2"/>
            <S t="1036800" d="316800"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
```
如果您在輸出中使用 `$Time$` 格式識別符，您還必須在其他所有輸出群組的輸出中使用。

\$1RepresentationID\$1  
在您的輸出檔案名稱中， 會在您的任務設定 中`$RepresentationID$`解析為輸出的數值順序。  
在資訊清單中， 會在 `SegmentTemplate`元素中 AWS Elemental MediaConvert 使用此識別符來參考每個表示法的正確路徑。  
當您需要依表示式 ID 組織 DASH 輸出時，此格式識別符特別有用。

## 指定最小位數
<a name="specifying-a-minimum-number-of-digits"></a>

針對傳回數字的格式識別符，您可以指定可以解析的最少數字數。當您這麼做的話，該服務會在任何傳回較少數字的值前，新增填補零。

使用以下語法來指定數字數：**%0[number of digits]**。只需將值放在格式識別符最後的 `$` 前。

例如，假設您的影片影格高度是 720，而您想要指定至少四個數字，這樣就會在您的檔案名稱中顯示為 `0720`。若要這樣做，請使用以下格式識別符：**\$1h%04\$1**。

**注意**  
因太大而無法用您指定的數字數表示的值會解析為更多數字。