

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

# 使用任務
<a name="working-with-jobs"></a>

任務會執行轉碼一或多個媒體檔案的工作。除了建立任務之外，您還可以複製、匯出、匯入和取消任務。您也可以檢視任務歷史記錄，並搜尋任務。

本章提供如何使用 MediaConvert step-by-step說明。它也提供任務中關鍵概念的簡介、基本範例任務設定，以及適用於常見任務組態之重要輸入和輸出設定的詳細資訊。

**Topics**
+ [建立任務](creating-a-job.md)
+ [複製任務](create-new-job-from-completed-job.md)
+ [匯出和匯入任務](exporting-and-importing-jobs.md)
+ [檢視您的任務歷史記錄](viewing-job-history.md)
+ [取消任務](canceling-a-job.md)
+ [教學課程：設定任務設定](setting-up-a-job.md)
+ [任務設定 JSONs範例](example-job-settings.md)
+ [輸入設定](specifying-inputs.md)
+ [輸出設定](output-settings.md)

# 建立任務
<a name="creating-a-job"></a>

若要建立任務，您可以指定輸入設定、輸出設定和任何整個任務的設定。如需詳細的step-by-step程序，請參閱 [教學課程：設定任務設定](setting-up-a-job.md)。下列程序是如何使用 建立任務的高階概觀 AWS 管理主控台。

當您建立任務時，您可以將其提交至佇列進行處理。在資源允許的情況下，會從佇列自動開始處理。如需資源配置的相關資訊，請參閱[平行處理多個任務](working-with-on-demand-queues.md#queue-resources)。

**使用 MediaConvert 主控台建立任務**

1. 在 MediaConvert 主控台中開啟[任務](https://console.aws.amazon.com/mediaconvert/home#/jobs/list)頁面。

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

1. 在**建立任務**頁面上，提供轉碼指示和任務設定。如需詳細資訊，請參閱[教學課程：設定任務設定](setting-up-a-job.md)。

   請務必 AWS 區域 為您的任務和檔案儲存選取相同的 。

1. 選擇**建立**。

您也可以使用[範本](using-a-job-template.md)、[預設](using-a-preset-to-specify-a-job-output.md)集、[重複任務](create-new-job-from-completed-job.md)或任務[設定 JSON 來建立任務](exporting-and-importing-jobs.md)。

# 複製任務
<a name="create-new-job-from-completed-job"></a>

若要建立與您之前執行的任務類似的任務，您可以從任務歷史記錄中複製任務。如果您想要變更任何設定，也可以修改這些設定。

**使用 MediaConvert 主控台根據最近的任務建立任務**

1. 在 MediaConvert 主控台中開啟[任務](https://console.aws.amazon.com/mediaconvert/home#/jobs/list)頁面。

1. 選擇您要複製之任務的任務 **ID**。

1. 選擇 **Duplicate (複製)**。

1. 選擇性地修改任何任務設定。

   可以在不同任務之間變更的設定包括：輸入檔案位置、輸出目的地位置和輸出名稱修飾詞。如果您為與您 AWS 帳戶 帳戶不同的客戶執行轉碼任務，您還必須在**任務設定**下變更 **IAM 角色**。

1. 選擇頁面底部的**建立**。

# 匯出和匯入任務
<a name="exporting-and-importing-jobs"></a>

已完成的 MediaConvert 任務會在**任務**頁面上保留三個月。如果您想要在執行任務超過三個月後，根據已完成的任務執行新任務，請在任務完成後匯出並儲存任務。根據您執行的任務數量，匯出和匯入任務可能比在清單中尋找特定任務並複製任務更簡單。

**使用 MediaConvert 主控台匯出任務**

1. 在 MediaConvert 主控台中開啟[任務](https://console.aws.amazon.com/mediaconvert/home#/jobs/list)頁面。

1. 選擇您要匯出之任務的任務 **ID**。

1. 在**任務摘要**頁面上，選擇**檢視 JSON** 按鈕。

1. 選擇**複製**以將 JSON 複製到剪貼簿。

1. 貼到您的 JSON 編輯器並儲存。

**使用 MediaConvert 主控台匯入任務**

1. 在 MediaConvert 主控台中開啟[任務](https://console.aws.amazon.com/mediaconvert/home#/jobs/list)頁面。

1. 選擇**匯入任務**。

# 檢視您的任務歷史記錄
<a name="viewing-job-history"></a>

您可以在指定的 AWS 帳戶 中檢視使用 建立的 MediaConvert 任務的最新歷史記錄 AWS 區域。超過三個月後，服務會自動刪除任務的記錄。

**任務**頁面顯示成功完成、取消、處理中、佇列中等待中，以及錯誤結束的任務。您可以透過狀態和任務所傳送到的佇列，來篩選任務歷史記錄清單。您也可以從清單中選擇特定的任務，以檢視任務的設定。

------
#### [ Console  ]

使用 MediaConvert 主控台檢視您的任務

1. 在 MediaConvert 主控台中開啟[任務](https://console.aws.amazon.com/mediaconvert/home#/jobs/list)頁面。

1. 或者，您也可以選擇透過從下拉式清單選擇來依照狀態和佇列篩選清單。

1. 若要查看任務的詳細資訊，請選擇**任務 ID** 以檢視其**任務摘要**頁面。

------
#### [ CLI  ]

下列`list-jobs`範例列出最多 20 個最近建立的任務。

```
aws mediaconvert list-jobs
```

如需如何使用 CLI AWS 取消任務的詳細資訊，請參閱 [AWS CLI 命令參考](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediaconvert/list-jobs.html)。

------

# 取消任務
<a name="canceling-a-job"></a>

下列程序說明如何使用 AWS Elemental MediaConvert 主控台取消任務。

------
#### [ Console  ]

使用 MediaConvert 主控台取消任務

1. 在 MediaConvert 主控台中開啟[任務](https://console.aws.amazon.com/mediaconvert/home#/jobs/list)頁面。

1. 透過選擇任務旁邊的選項 (![\[Empty circle outline representing a placeholder or selection option.\]](http://docs.aws.amazon.com/zh_tw/mediaconvert/latest/ug/images/circle-icon.png))，選取您要取消的任務的任務 **ID**。

1. 選擇**取消任務**。

------
#### [ CLI  ]

下列`cancel-job`範例會取消任務。

```
aws mediaconvert cancel-job \
	--id 1234567890123-efg456
```

如需如何使用 CLI AWS 取消任務的詳細資訊，請參閱 [AWS CLI 命令參考](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediaconvert/cancel-job.html)。

------

# 教學課程：設定任務設定
<a name="setting-up-a-job"></a>

此頁面提供如何在 MediaConvert 中設定任務step-by-step指引。

若要設定任務，您可以為要轉碼的服務定義輸入檔案，並為每個視訊、音訊和字幕媒體元素指定來源。該來源可為主要輸入檔案的特定部分，或者為不同檔案。接著，指定 AWS Elemental MediaConvert 要從輸入產生的輸出檔案和套件類型。您也可指定詳細的編碼設定，以達成您希望的輸出品質和類型。

本教學課程說明如何在 MediaConvert 中設定任務，將媒體檔案轉碼為不同的格式。

**Topics**
+ [選用步驟：暫停佇列](#optional-pause-the-queue)
+ [步驟 1：指定輸入檔案](#specify-input-settings)
+ [步驟 2：建立輸入選取器](#create-selectors)
+ [步驟 3：建立輸出群組](#specify-output-groups)
+ [步驟 4：建立輸出](#create-outputs)
+ [步驟 5：指定全域任務設定](#specify-global-job-settings)

## 選用步驟：暫停佇列
<a name="optional-pause-the-queue"></a>

如果您是新客戶或正在試驗 MediaConvert 主控台，您可以暫停佇列，以避免在準備好之前意外啟動任務。如需佇列的詳細資訊，請參閱[佇列](working-with-queues.md)。

使用 暫停或重新啟用隨需佇列 AWS 管理主控台

1. 在 MediaConvert 主控台中開啟[佇列](https://console.aws.amazon.com/mediaconvert/home/#/queues/list)頁面。

1. 在**佇列**頁面上，選擇您要暫停或重新啟用的佇列名稱。

1. 在佇列頁面上，選擇**編輯佇列**按鈕。

1. 在**編輯佇列**頁面上，針對**狀態**，選擇**已暫停**或**作用中**。

1. 選擇**儲存佇列**。

## 步驟 1：指定輸入檔案
<a name="specify-input-settings"></a>

設定 MediaConvert 任務的第一部分是指定輸入檔案的位置。

**指定輸入的位置**

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

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

1. 在**輸入 1** 窗格中，將 URI 提供給存放在 Amazon S3 或 HTTP(S) 伺服器上的視訊輸入檔案。對於 Amazon S3 輸入，您可以直接指定 URI，或選擇**瀏覽**以從 Amazon S3 儲存貯體中選取。針對 HTTP(S) 輸入，提供 URL 給您的輸入影片檔案。如需詳細資訊，請參閱[HTTP 輸入需求](http-input-requirements.md)。
**注意**  
若您的輸入音訊或字幕為不同檔案，請勿為此建立不同輸入。本程序稍後的音訊和字幕選擇器將指定這些檔案。

1. 若要將一個以上的輸入檔案加入到單一資產 (輸入拼接)，請將另一個輸入新增至任務。若要這樣做，請在**任務**窗格中的**輸入**區段中，選擇**新增**。

   對於具有多個輸入檔案的任務，MediaConvert 會依您在任務中指定的順序串連輸入來建立輸出。您可以在任務中包含最多 150 個輸入。
**提示**  
您可以轉碼部分輸入。如需詳細資訊，請參閱[輸入設定](specifying-inputs.md)。

## 步驟 2：建立視訊、音訊和字幕的輸入選擇器
<a name="create-selectors"></a>

接著，建立輸入選擇器從輸入標記將用於輸出的視訊、音訊和字幕元素。如此將標記每個輸入元素，讓您可在設定輸出時指向這些元素。設定輸入選擇器時，您也必須為本服務提供尋找資料之處與解譯方式等資訊。

**設定您的輸入選擇器**

1. 在 **Video selector (視訊選擇器)** 的區段，於適用您任務的欄位指定值。

   您不需要建立影片選擇器，因為 MediaConvert 會在您開始設定任務時自動建立影片選擇器。然而，本服務不會自動偵測視訊來源的資訊。您可於 **Video selector (視訊選擇器)** 欄位提供此資訊。如果您將這些設定保持在其預設狀態，您將建立有效的任務。如需個別設定的詳細資訊，請選擇每個設定旁的**資訊**連結。
**注意**  
 MediaConvert 不支援具有多個視訊串流的輸入，例如 Quad 4k。每個輸入只能有一個影片選擇器。因此，主控台上沒有**新增視訊選取**器按鈕。

1. 在 **Audio selectors (音訊選擇器)** 區段的 **Audio selector 1 (音訊選擇器 1)** 底下，請指定您主要音訊資產的資訊。您不需要建立音訊選擇器 1，因為當您設定任務時，服務會自動建立第一個音訊選擇器。
**注意**  
*音訊資產*通常為對話、背景聲和音樂結合而成的一道音軌。音軌通常包含多個聲道，例如，5.1 Dolby 音效每個音軌有六個聲道。

   1. 在 **Selector type (選擇器類型)** 部分，請選擇您音訊資產的辨識方式。通常，此部分為依照音軌辨識。如果您使用的是 HLS 輸入，並且想要選取替代音訊轉譯，請參閱 [替代 HLS 音訊轉譯需求](using-alternate-audio-renditions.md)。

   1. 提供主要音訊資產的識別符 (亦即音軌編號、PID 或語言代碼)。您的主要音訊資產通常為音軌 1。
**注意**  
大多時候每個輸入選擇器會與一道輸入音軌建立關聯。若您的使用案例需要將多道音軌結合至到單一音軌，或結合至一個串流封裝轉譯，請輸入以逗號分隔的多道輸入音軌清單，將其結合至單一音訊選擇器。如需結合音軌的詳細資訊，請參閱[設定音軌和音訊選擇器](more-about-audio-tracks-selectors.md)。

   1. 如果您的音訊與視訊位於不同的檔案中，請選擇**外部檔案**滑桿開關元素，並將 URI 提供給存放在 Amazon S3 或 HTTP(S) 伺服器上的音訊輸入檔案。對於 Amazon S3 輸入，您可以直接指定 URI，或選擇**瀏覽**以從 Amazon S3 儲存貯體中選取。針對 HTTP(S) 輸入，提供 URL 給您的輸入影片檔案。如需詳細資訊，請參閱[HTTP 輸入需求](http-input-requirements.md)。

1. 如果您有其他音訊資產，例如多語言音軌，請選擇**新增音訊選擇器**。然後提供此程序先前步驟中所述的下一個資產的相關資訊。

1. 在**字幕選擇器**區段中，選擇**新增字幕選擇器**。這會為您計劃在輸出中使用的任何一組字幕建立輸入字幕選擇器。如需設定任務字幕的詳細資訊，請參閱[設定輸入字幕](including-captions.md)。

## 步驟 3：建立輸出群組
<a name="specify-output-groups"></a>

指定輸入後，您可以建立輸出群組。設定輸出群組時的各種選擇，將影響您的任務可產生的資產類型，以及可播放輸出的裝置。

您可以使用 MediaConvert 來建立大致分為兩個類別的媒體資產：
+ **ABR 串流封裝**。您可以建立自適應位元速率 (ABR) 套件，讓最終瀏覽者可以在觀看時逐漸下載資產。根據您設定輸出的方式，最終檢視器的裝置可以透過下載較高或較低品質的區段來適應可用頻寬的變更。ABR 套件也稱為 ABR *堆疊*，因為它們是由影片、音訊和字幕元件的堆疊組成。每個堆疊或封裝內的元件，都稱為*轉譯*。
+ **獨立檔案**。您建立這些檔案並託管的位置，可能位於瀏覽者可一次下載完整檔案再觀看的位置。您也可以建立獨立檔案，然後將其發送給下游系統進行封裝和分發。

**建立輸出群組**

1. 在 **Output groups (輸出群組)** 區段的 **Job (任務)** 窗格中，選擇 **Add (新增)**。

1. 選擇輸出群組類型，然後選擇 **Select** (選取)。

   為所有您要建立的獨立檔案建立一個檔案輸出群組。為所有您要建立的 ABR 串流封裝建立一個 ABR 串流輸出群組。如需將 ABR 串流輸出群組納入任務的指導方針，請參閱[選擇您的 ABR 串流輸出群組](choosing-your-streaming-output-groups.md)。

1. (選用) 在 **Custom group name (自訂群組名稱)** 輸入您的群組名稱。您於此提供的名稱都會顯示於主控台的 **Output groups (輸出群組)** 區段，但不會影響您的輸出。

1. 針對**目的地**，指定轉碼服務將存放輸出檔案之 Amazon S3 位置的 URI。您可以直接指定 URI，或選擇**瀏覽**以從 Amazon S3 儲存貯體中選取。
**注意**  
您可以選擇在目的地 URI 上附加基本名稱。若要建立最終資產的檔案名稱，轉碼服務會使用此基本名稱和您在個別輸出設定中提供的任何名稱修飾詞。  
如果您未在 URI 中提供基本名稱，轉碼服務會從輸入 1 檔案名稱產生基本名稱，減去副檔名。

1. 指定套用至整個輸出群組的其他設定值。這些設定會根據您選取的輸出群組類型而有所不同。如需個別設定的詳細資訊，請選擇每個設定旁邊的 **Info (資訊)** 連結。

## 步驟 4：建立輸出
<a name="create-outputs"></a>

在建立輸出群組之後，在每個群組中設定您的輸出。每個輸出群組的輸出數量取決於輸出群組類型，如下所示：
+ 在 **File (檔案)** 輸出群組部分，將媒體資產的所有元素納入單一輸出中，包括您於不同檔案提供的音訊或字幕。
+ 對於 ABR 串流輸出群組—**CMAF**、**Apple HLS**、**DASH ISO** 和 **Microsoft Smooth Streaming**—為每個媒體元素建立單獨的輸出。亦即，每個視訊解析度一個輸出、每個音軌一個輸出、每個字幕語言一個輸出。

從下列其中一個對應於您在 中建立的輸出群組類型的程序中進行選擇[步驟 3：建立輸出群組](#specify-output-groups)。

### 在 ABR 串流輸出群組中建立輸出
<a name="create-outputs-in-abr-streaming-output-groups"></a>

對於您在 中設定的每個 ABR 串流輸出群組[步驟 3：建立輸出群組](#specify-output-groups)，請為 ABR 串流套件中您想要的每個媒體元素建立和設定輸出。

#### 建立影片 ABR 串流輸出
<a name="video-abr-streaming-outputs"></a>

針對您在輸出群組中包含的每個視訊輸出，MediaConvert 會建立一個視訊轉譯或一組分段的視訊檔案。在單一串流封裝納入多個視訊轉譯 (不同解析度與視訊品質)，讓瀏覽者的裝置能夠依據可用頻寬調整視訊品質。

**注意**  
雖然一個任務只能具有一個視訊*輸入*選擇器，但是 ABR 串流輸出群組的每個輸出群組通常具有多個視訊*輸出*。

**建立並設定視訊 ABR 串流輸出**

1. 在**建立任務**頁面上，在左側**任務**窗格的**輸出群組**下，於您要新增輸出的 **CMAF**、**Apple HLS**、**DASH ISO** 或 **Microsoft Smooth Streaming** 輸出群組下方，選擇**輸出 1**。

   當您建立輸出群組時，MediaConvert 會自動在輸出群組中填入輸出 1。您不需要明確建立第一個輸出。

1. 在 **Output settings (輸出設定)** 窗格的 **Name modifier (名稱修飾詞)**，輸入一個值。

   MediaConvert 會將名稱修飾詞附加到它為此輸出建立的檔案名稱。所輸入的名稱修飾詞，最好能夠輕鬆辨識檔案的輸出來源，例如 `-video-hi-res`。

1. 如果列在 **Preset (預設)** 之下的預先定義的設定群組之一適用於您的工作流程，請在清單中選擇該群組。如果您使用預設，請跳過本程序的下一個步驟。

1. 指定您的視訊設定，如下所示：

   1. 在 **Output settings (輸出設定)** 區段，指定剩餘一般設定的值。根據輸出群組類型，這些設定可能包括傳輸串流設定或其他容器設定。如需個別設定的詳細資訊，請選擇每個設定旁邊的 **Info (資訊)** 連結。

   1. 在 **Stream settings (串流設定)** 區段，指定視訊編碼的值。預設會選取影片設定，因此您不需要明確選擇此設定群組。

      每個任務只能具有一個輸入視訊選擇器，因此在設定視訊輸出時不需要明確選擇。

   如需個別設定的詳細資訊，請選擇主控台的 **Info (資訊)** 連結。

1. 若您的輸出預設包含一組音訊設定，請將其刪除，如下所示：

   1. 在 **Stream settings (串流設定)** 區段，選擇 **Audio 1 (音訊 1)**。

   1. 選擇 **Remove audio (移除音訊)**。

1. 如果您希望 ABR 串流套件中有多個影片轉譯，請重複此程序的上述步驟。這會為每個視訊輸出建立額外的視訊輸出。

#### 建立音訊 ABR 串流輸出
<a name="audio-abr-streaming-outputs"></a>

針對您在輸出群組中包含的每個音訊輸出，MediaConvert 會建立一個音訊轉譯或一組分段的視訊檔案。納入多個音訊轉譯的最常見原因，就是要提供多語言的選項。如果您只提供一個語言，您可能只需要一個音訊輸出。

**注意**  
對於 AAC 串流輸出，初始區段的持續時間比其他區段更長。這是因為在 AAC 中，初始區段必須在區段的聲音部分之前包含靜音的 AAC 前導樣本。MediaConVert 會管理這些時間戳記中的額外樣本，因此音訊會正確播放。

**建立並設定音訊 ABR 串流輸出**

1. 如果您在 CMAF 輸出群組中工作，請略過此步驟。因為第一個音訊輸出已建立。

   建立第一道音訊音軌的輸出。通常，一道音訊音軌會對應到一種語言。

   1. 在 **Job (任務)** 窗格中，選擇您正使用的輸出群組。

   1. 在 **Outputs (輸出)** 窗格上選擇 **Add output (新增輸出)**。

   1. 選擇您剛才建立的輸出。

   1. 若您的輸出預設包含一組視訊設定，請選擇 **Remove video (移除視訊)** 將其刪除。這 k 顯示的**音訊 1** 設定群組。

1. 在 **Output settings (輸出設定)** 窗格的 **Name modifier (名稱修飾詞)**，輸入一個值。

   MediaConvert 會將名稱修飾詞附加到它為此輸出建立的檔案名稱。所輸入的名稱修飾詞，最好能夠輕鬆辨識檔案的輸出來源，例如 `-audio-english`。

1. 如果列在 **Preset (預設)** 之下的預先定義的設定群組之一適用於您的工作流程，請在清單中選擇該群組。如果您使用預設，請跳過本程序的下一個步驟。

1. 指定您的音訊設定，如下所示：

   1. 在 **Output settings (輸出設定)** 區段，指定剩餘一般設定的值。如需個別設定的詳細資訊，請選擇每個設定旁邊的 **Info (資訊)** 連結。

   1. 在 **Stream settings (串流設定)** 底下，針對 **Audio source (音訊來源)** 選擇您於[步驟 2：建立視訊、音訊和字幕的輸入選擇器](#create-selectors)建立的音訊選擇器之一。

   1. 在**串流設定**區段中，指定音訊編碼的值。如需個別設定的詳細資訊，請選擇每個設定旁邊的 **Info (資訊)** 連結。

1. 若您的 ABR 串流封裝須納入其他音訊資產，請為其各自建立輸出，如下所示：

   1. 在 **Job (任務)** 窗格中，選擇您正使用的輸出群組。

   1. 在 **Outputs (輸出)** 窗格上選擇 **Add output (新增輸出)**。

   1. 選擇您剛才建立的輸出。

   1. 若您的輸出預設包含一組視訊設定，請選擇 **Remove video (移除視訊)** 將其刪除。這可讓**音訊 1** 的設定群組保持顯示狀態。

   1. 設定輸出，如同此程序的步驟 2 到 4 所述。

#### 建立 ABR 串流輸出的字幕
<a name="captions-abr-streaming-outputs"></a>

設定字幕可能會十分複雜。如需詳細資訊，請參閱 [設定輸入字幕](including-captions.md)。基本說明請完成下列程序。

**建立和設定 ABR 串流輸出的字幕**

1. 為第一組字幕建立輸出。通常，一組字幕會對應至一種語言。

   1. 在 **Job (任務)** 窗格中，選擇您正使用的輸出群組。

   1. 在 **Outputs (輸出)** 窗格上選擇 **Add output (新增輸出)**。

   1. 選擇您剛才建立的輸出。

   1. 若您的輸出預設包含視訊和音訊設定群組，請選擇 **Remove video (移除視訊)** 和 **Remove audio (移除音訊)** 將其刪除。

   1. 選擇 **Add captions (新增字幕)** 來顯示一組字幕設定。

1. 在 **Output settings (輸出設定)** 窗格的 **Name modifier (名稱修飾詞)**，輸入一個值。

   MediaConvert 會將名稱修飾詞附加到它為此輸出建立的檔案名稱。所輸入的名稱修飾詞，最好能夠輕鬆辨識檔案的輸出來源，例如 `-captions-english`。

1. 指定您的字幕設定，如下所示：

   1. 在 **Output settings (輸出設定)** 區段，指定剩餘一般設定的值。如需個別設定的詳細資訊，請選擇每個設定旁邊的 **Info (資訊)** 連結。

   1. 在 **Stream settings (串流設定)** 底下，針對 **Captions source (字幕來源)** 選擇您於[步驟 2：建立視訊、音訊和字幕的輸入選擇器](#create-selectors)建立的字幕選擇器之一。

   1. 在 **Stream settings (串流設定)** 區段，指定剩餘字幕設定的值。

#### 建立其他資訊清單
<a name="create-additional-manifests"></a>

根據預設，MediaConvert 會為每個 CMAF、Apple HLS、 DASH ISO和 Microsoft Smooth Streaming輸出群組產生單一多變量播放清單。此預設資訊清單參考輸出群組中的所有輸出。

或者，您可以建立額外的多變體播放清單，僅參考輸出群組中的輸出子集。例如，您可能想要針對沒有包含 HDR 訂閱的檢視者，建立不包含 HDR 輸出的資訊清單。

**注意**  
對於 CMAF 輸出群組，如果您保留**寫入 HLS 資訊**清單和**寫入 DASH 資訊**清單的預設啟用值，MediaConvert 會以這兩種格式建立其他資訊清單。如果您停用其中一個設定，MediaConvert 不會以該格式建立其他資訊清單。

**建立其他資訊清單**

1. 在**建立任務**頁面上，在左側**的任務**窗格中，選擇要為其建立其他資訊清單的輸出群組。

1. 在右側的 **Additional manifests (其他資訊清單)** 區段中，選擇 **Add manifest (新增資訊清單)**。

1. 在**資訊清單名稱修飾詞**中，輸入您要在資訊清單檔案名稱結尾、副檔名之前的文字。此設定是必要的，因為它為每個資訊清單提供不同的檔案名稱。

1. 對於 **Select outputs (選取輸出)**，選擇您希望資訊清單參考的輸出。

1. 重複這些步驟以建立最多 10 個額外的資訊清單。每個額外的資訊清單在 **Manifest name modifier (資訊清單名稱修飾詞)** 都必須有不同的值。

### 在檔案輸出群組中建立和設定輸出
<a name="create-outputs-in-file-output-groups"></a>

使用檔案輸出群組時，服務建立的每個資產都會對應至一個輸出，而不是一個輸出群組。每個資產包含所有視訊、音訊和字幕元素。因此，最簡單設定的方式，就是先建立輸出，然後設定所有輸出選擇器。

#### 建立檔案輸出
<a name="create-file-outputs"></a>

如果您在 中建立檔案輸出群組[步驟 3：建立輸出群組](#specify-output-groups)，請針對您要建立的每個獨立檔案，在檔案輸出群組中建立和設定輸出。

**在檔案輸出群組中建立輸出**

1. 當您建立輸出群組時，MediaConvert 會自動將輸出群組填入輸出 1，因此您不需要明確建立輸出群組。若您正建立單一獨立檔案，請跳過此程序的剩餘步驟。

1. 若您想要建立多個獨立檔案，請建立其他輸出，如下所示：

   1. 在**建立任務**頁面左側**的任務**窗格中的**輸出群組**下，選擇**檔案群組**。

   1. 在 **Outputs (輸出)** 窗格上選擇 **Add output (新增輸出)**。

#### 在檔案輸出中設定輸出選擇器
<a name="set-up-output-selectors-in-file-outputs"></a>

接著，針對您剛建立的每個檔案輸出，設定輸出選擇器。

**在檔案輸出中設定輸出選擇器**

1. 在**建立任務**頁面上，在左側**任務**窗格的**輸出群組**下，在**檔案群組**下，選擇**輸出 1**。

1. 在 **Output settings (輸出設定)** 窗格的 **Name modifier (名稱修飾詞)**，輸入一個值。

   MediaConvert 會將名稱修飾詞附加到它為此輸出建立的檔案名稱。輸入名稱修飾詞，以識別哪些檔案來自哪個輸出，例如 `-standalone-hi-res`。

1. 如果列在 **Preset (預設)** 之下的預先定義的設定群組之一適用於您的工作流程，請在清單中選擇該群組。如果您使用預設集，請略過此程序的步驟 4。

   輸出預設最多可包含一組視訊、音訊和字幕設定。因此，若您獨立的輸出檔案內含多個音訊或字幕資產，將無法使用預設。如果您無法在輸出中使用預設集，但想要使用預設集做為起點，請選擇預設集，然後從預設集下拉式清單中選擇**無****預設集**。如此一來，輸出就會預先填入與預設相同的設定。

1. 指定您的輸出設定，如下所示：

   1. 在 **Output settings (輸出設定)** 區段，指定剩餘一般設定的值。這些設定會根據您選擇的容器而有所不同。如需個別設定的詳細資訊，請選擇每個設定旁邊的 **Info (資訊)** 連結。

   1. 在 **Stream settings (串流設定)** 區段，指定視訊編碼的值。如需個別設定的詳細資訊，請選擇每個設定旁邊的 **Info (資訊)** 連結。
**注意**  
預設已選取視訊設定標籤，因此您不需要明確選擇此設定群組。每個任務只能具有一個輸入視訊選擇器，因此在設定視訊輸出時不需要明確選擇。

   1. 選擇 **Audio 1 (音訊 1)** 來顯示第一個音訊資產的編碼設定群組。**Audio 1 (音訊 1)** 位在 **Video (視訊)** 底下 **Stream settings (串流設定)** 窗格左側。

   1. 在 **Stream settings (串流設定)** 底下，針對 **Audio source (音訊來源)** 選擇您於[步驟 2：建立視訊、音訊和字幕的輸入選擇器](#create-selectors)建立的音訊選擇器之一。

   1. 在**串流設定**區段中，指定音訊編碼的值。如需個別設定的詳細資訊，請選擇每個設定旁邊的 **Info (資訊)** 連結。

   1. 若要在輸出中包含字幕，請選擇**新增字幕**。這會顯示一組字幕設定。如需設定字幕的詳細資訊，請參閱[設定輸入字幕](including-captions.md)。

## 步驟 5：指定全域任務設定
<a name="specify-global-job-settings"></a>

全域任務設定適用於任務建立的每個輸出。

若您任務納入的音訊或字幕係由輸入的其他檔案提供，或者您使用圖形浮水印 (影像插入器) 功能，這些部分務必進行正確設定。

時間碼設定有三種不同的群組。全域任務時間碼組態是其中一種。如需不同時間碼設定集以及 MediaConvert 如何管理時間碼的詳細資訊，請參閱 [設定時間碼](setting-up-timecode.md)。

**指定全域任務設定**

1. 在**任務**窗格中**的任務設定**區段中，選擇**AWS 整合**。

1. 針對 **IAM 角色**，選擇具有存取 Amazon S3 儲存貯體之許可的 IAM 角色，該儲存貯體可存放您的輸入和輸出檔案。IAM 角色必須與 MediaConvert 具有信任關係。如需建立此角色的詳細資訊，請參閱[設定 IAM 許可](iam-role.md)。

1. 您也可以選擇在 **Timecode configuration (時間碼組態)** 窗格指定全任務的時間碼設定。

1. 指定其他任務設定的值，並啟用全域處理器。如需個別設定的詳細資訊，請選擇每個設定旁邊的 **Info (資訊)** 連結。

# 任務設定 JSONs範例
<a name="example-job-settings"></a>

這些範例中的任務設定代表您可以執行的最簡單有效任務。它們非常適合用來實驗 服務。當您想要執行更複雜的轉碼或建立不同的輸出時，請使用 主控台來設定您的任務，並產生您的 JSON 任務規格。若要這樣做，請在左側**的任務**窗格中的任務**設定**下，選擇**顯示任務 JSON**。

如需以程式設計方式提交任務的詳細資訊，請參閱 *AWS Elemental MediaConvert API 參考*的其中一個簡介主題：
+ [AWS Elemental MediaConvert 開始使用 AWS SDKs或 AWS CLI](https://docs.aws.amazon.com/mediaconvert/latest/apireference/custom-endpoints.html)
+ [AWS Elemental MediaConvert 開始使用 API](https://docs.aws.amazon.com/mediaconvert/latest/apireference/getting-started.html)

**重要**  
我們建議您使用 MediaConvert 主控台來產生生產 JSON 任務規格。  
您的任務規格必須符合轉碼引擎的驗證。轉碼引擎驗證代表一組設定之間的複雜相依性，以及轉碼設定和輸入檔案屬性之間的相依性。MediaConvert 主控台可做為互動式任務建置器，讓您輕鬆建立有效的任務 JSON 規格。您可以使用[任務範本](using-a-job-template.md)和[輸出預設](using-a-preset-to-specify-a-job-output.md)集快速開始使用。

若要使用這些範例，請以實際值取代以下預留位置值：
+ 角色 ARN
+ s3：//amzn-s3-demo-bucket
+ s3：//amzn-s3-demo-bucket1

**Topics**
+ [範例：MP4 輸出](#mp4-example)
+ [範例：ABR 輸出](#HLS-ABR-example)
+ [範例：自動化 ABR](#auto-abr-example)

## 範例：MP4 輸出
<a name="mp4-example"></a>

```
{
  "UserMetadata": {},
  "Role": "ROLE ARN",
  "Settings": {
    "OutputGroups": [
      {
        "Name": "File Group",
        "OutputGroupSettings": {
          "Type": "FILE_GROUP_SETTINGS",
          "FileGroupSettings": {
            "Destination": "s3://amzn-s3-demo-bucket1/out"
          }
        },
        "Outputs": [
          {
            "VideoDescription": {
              "ScalingBehavior": "DEFAULT",
              "TimecodeInsertion": "DISABLED",
              "AntiAlias": "ENABLED",
              "Sharpness": 50,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "NumberReferenceFrames": 3,
                  "Syntax": "DEFAULT",
                  "Softness": 0,
                  "GopClosedCadence": 1,
                  "GopSize": 48,
                  "Slices": 1,
                  "GopBReference": "DISABLED",
                  "SlowPal": "DISABLED",
                  "SpatialAdaptiveQuantization": "ENABLED",
                  "TemporalAdaptiveQuantization": "ENABLED",
                  "FlickerAdaptiveQuantization": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "Bitrate": 4500000,
                  "FramerateControl": "SPECIFIED",
                  "RateControlMode": "CBR",
                  "CodecProfile": "HIGH",
                  "Telecine": "NONE",
                  "MinIInterval": 0,
                  "AdaptiveQuantization": "HIGH",
                  "CodecLevel": "LEVEL_4_1",
                  "FieldEncoding": "PAFF",
                  "SceneChangeDetect": "ENABLED",
                  "QualityTuningLevel": "SINGLE_PASS_HQ",
                  "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                  "UnregisteredSeiTimecode": "DISABLED",
                  "GopSizeUnits": "FRAMES",
                  "ParControl": "INITIALIZE_FROM_SOURCE",
                  "NumberBFramesBetweenReferenceFrames": 3,
                  "RepeatPps": "DISABLED",
                  "HrdBufferSize": 9000000,
                  "HrdBufferInitialFillPercentage": 90,
                  "FramerateNumerator": 24000,
                  "FramerateDenominator": 1001
                }
              },
              "AfdSignaling": "NONE",
              "DropFrameTimecode": "ENABLED",
              "RespondToAfd": "NONE",
              "ColorMetadata": "INSERT",
              "Width": 1920,
              "Height": 1080
            },
            "AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT",
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "AudioDescriptionBroadcasterMix": "NORMAL",
                    "Bitrate": 96000,
                    "RateControlMode": "CBR",
                    "CodecProfile": "LC",
                    "CodingMode": "CODING_MODE_2_0",
                    "RawFormat": "NONE",
                    "SampleRate": 48000,
                    "Specification": "MPEG4"
                  }
                },
                "LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],
            "ContainerSettings": {
              "Container": "MP4",
              "Mp4Settings": {
                "CslgAtom": "INCLUDE",
                "FreeSpaceBox": "EXCLUDE",
                "MoovPlacement": "PROGRESSIVE_DOWNLOAD"
              }
            }
          }
        ]
      }
    ],
    "AdAvailOffset": 0,
    "Inputs": [
      {
        "AudioSelectors": {
          "Audio Selector 1": {
            "Tracks": [
              1
            ],
            "Offset": 0,
            "DefaultSelection": "DEFAULT",
            "SelectorType": "TRACK",
            "ProgramSelection": 1
          },
          "Audio Selector 2": {
            "Tracks": [
              2
            ],
            "Offset": 0,
            "DefaultSelection": "NOT_DEFAULT",
            "SelectorType": "TRACK",
            "ProgramSelection": 1
          }
        },
        "VideoSelector": {
          "ColorSpace": "FOLLOW"
        },
        "FilterEnable": "AUTO",
        "PsiControl": "USE_PSI",
        "FilterStrength": 0,
        "DeblockFilter": "DISABLED",
        "DenoiseFilter": "DISABLED",
        "TimecodeSource": "EMBEDDED",
        "FileInput": "s3://amzn-s3-demo-bucket"
      }
    ]
  }
}
```



## 範例：ABR 輸出
<a name="HLS-ABR-example"></a>

```
{
  "UserMetadata": {},
  "Role": "ROLE ARN",
  "Settings": {
    "OutputGroups": [
      {
        "Name": "Apple HLS",
        "Outputs": [
          {
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {
                "AudioFramesPerPes": 2,
                "PcrControl": "PCR_EVERY_PES_PACKET",
                "PmtPid": 480,
                "PrivateMetadataPid": 503,
                "ProgramNumber": 1,
                "PatInterval": 100,
                "PmtInterval": 100,
                "VideoPid": 481,
                "AudioPids": [
                  482,
                  483,
                  484,
                  485,
                  486,
                  487,
                  488,
                  489,
                  490,
                  491,
                  492
                ]
              }
            },
            "VideoDescription": {
              "Width": 1920,
              "Height": 1080,
              "VideoPreprocessors": {
                "Deinterlacer": {
                  "Algorithm": "INTERPOLATE",
                  "Mode": "DEINTERLACE"
                }
              },
              "AntiAlias": "ENABLED",
              "Sharpness": 100,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "ParNumerator": 1,
                  "NumberReferenceFrames": 3,
                  "Softness": 0,
                  "FramerateDenominator": 1001,
                  "GopClosedCadence": 1,
                  "GopSize": 90,
                  "Slices": 1,
                  "HrdBufferSize": 12500000,
                  "ParDenominator": 1,
                  "SpatialAdaptiveQuantization": "ENABLED",
                  "TemporalAdaptiveQuantization": "DISABLED",
                  "FlickerAdaptiveQuantization": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "Bitrate": 8500000,
                  "FramerateControl": "SPECIFIED",
                  "RateControlMode": "CBR",
                  "CodecProfile": "HIGH",
                  "Telecine": "NONE",
                  "FramerateNumerator": 30000,
                  "MinIInterval": 0,
                  "AdaptiveQuantization": "MEDIUM",
                  "CodecLevel": "LEVEL_4",
                  "SceneChangeDetect": "ENABLED",
                  "QualityTuningLevel": "SINGLE_PASS_HQ",
                  "GopSizeUnits": "FRAMES",
                  "ParControl": "SPECIFIED",
                  "NumberBFramesBetweenReferenceFrames": 3,
                  "HrdBufferInitialFillPercentage": 90,
                  "Syntax": "DEFAULT"
                }
              },
              "AfdSignaling": "NONE",
              "DropFrameTimecode": "ENABLED",
              "RespondToAfd": "NONE",
              "ColorMetadata": "INSERT"
            },
            "AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT",
                "AudioSourceName": "Audio Selector 1",
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "Bitrate": 128000,
                    "RateControlMode": "CBR",
                    "CodecProfile": "LC",
                    "CodingMode": "CODING_MODE_2_0",
                    "SampleRate": 48000
                  }
                },
                "LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],
            "NameModifier": "_high"
          },
          {
            "VideoDescription": {
              "ScalingBehavior": "DEFAULT",
              "TimecodeInsertion": "DISABLED",
              "AntiAlias": "ENABLED",
              "Sharpness": 50,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "NumberReferenceFrames": 3,
                  "Syntax": "DEFAULT",
                  "Softness": 0,
                  "GopClosedCadence": 1,
                  "GopSize": 90,
                  "Slices": 1,
                  "GopBReference": "DISABLED",
                  "SlowPal": "DISABLED",
                  "SpatialAdaptiveQuantization": "ENABLED",
                  "TemporalAdaptiveQuantization": "ENABLED",
                  "FlickerAdaptiveQuantization": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "Bitrate": 7500000,
                  "FramerateControl": "INITIALIZE_FROM_SOURCE",
                  "RateControlMode": "CBR",
                  "CodecProfile": "MAIN",
                  "Telecine": "NONE",
                  "MinIInterval": 0,
                  "AdaptiveQuantization": "HIGH",
                  "CodecLevel": "AUTO",
                  "FieldEncoding": "PAFF",
                  "SceneChangeDetect": "ENABLED",
                  "QualityTuningLevel": "SINGLE_PASS",
                  "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                  "UnregisteredSeiTimecode": "DISABLED",
                  "GopSizeUnits": "FRAMES",
                  "ParControl": "INITIALIZE_FROM_SOURCE",
                  "NumberBFramesBetweenReferenceFrames": 2,
                  "RepeatPps": "DISABLED"
                }
              },
              "AfdSignaling": "NONE",
              "DropFrameTimecode": "ENABLED",
              "RespondToAfd": "NONE",
              "ColorMetadata": "INSERT",
              "Width": 1280,
              "Height": 720
            },
            "AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT",
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "AudioDescriptionBroadcasterMix": "NORMAL",
                    "Bitrate": 96000,
                    "RateControlMode": "CBR",
                    "CodecProfile": "LC",
                    "CodingMode": "CODING_MODE_2_0",
                    "RawFormat": "NONE",
                    "SampleRate": 48000,
                    "Specification": "MPEG4"
                  }
                },
                "LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],
            "OutputSettings": {
              "HlsSettings": {
                "AudioGroupId": "program_audio",
                "AudioRenditionSets": "program_audio",
                "IFrameOnlyManifest": "EXCLUDE"
              }
            },
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {
                "AudioFramesPerPes": 4,
                "PcrControl": "PCR_EVERY_PES_PACKET",
                "PmtPid": 480,
                "PrivateMetadataPid": 503,
                "ProgramNumber": 1,
                "PatInterval": 0,
                "PmtInterval": 0,
                "Scte35Source": "NONE",
                "Scte35Pid": 500,
                "TimedMetadata": "NONE",
                "TimedMetadataPid": 502,
                "VideoPid": 481,
                "AudioPids": [
                  482,
                  483,
                  484,
                  485,
                  486,
                  487,
                  488,
                  489,
                  490,
                  491,
                  492
                ]
              }
            },
            "NameModifier": "_med"
          },
          {
            "VideoDescription": {
              "ScalingBehavior": "DEFAULT",
              "TimecodeInsertion": "DISABLED",
              "AntiAlias": "ENABLED",
              "Sharpness": 100,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "NumberReferenceFrames": 3,
                  "Syntax": "DEFAULT",
                  "Softness": 0,
                  "GopClosedCadence": 1,
                  "GopSize": 90,
                  "Slices": 1,
                  "GopBReference": "DISABLED",
                  "SlowPal": "DISABLED",
                  "SpatialAdaptiveQuantization": "ENABLED",
                  "TemporalAdaptiveQuantization": "ENABLED",
                  "FlickerAdaptiveQuantization": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "Bitrate": 3500000,
                  "FramerateControl": "INITIALIZE_FROM_SOURCE",
                  "RateControlMode": "CBR",
                  "CodecProfile": "MAIN",
                  "Telecine": "NONE",
                  "MinIInterval": 0,
                  "AdaptiveQuantization": "HIGH",
                  "CodecLevel": "LEVEL_3_1",
                  "FieldEncoding": "PAFF",
                  "SceneChangeDetect": "ENABLED",
                  "QualityTuningLevel": "SINGLE_PASS_HQ",
                  "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                  "UnregisteredSeiTimecode": "DISABLED",
                  "GopSizeUnits": "FRAMES",
                  "ParControl": "INITIALIZE_FROM_SOURCE",
                  "NumberBFramesBetweenReferenceFrames": 2,
                  "RepeatPps": "DISABLED"
                }
              },
              "AfdSignaling": "NONE",
              "DropFrameTimecode": "ENABLED",
              "RespondToAfd": "NONE",
              "ColorMetadata": "INSERT",
              "Width": 960,
              "Height": 540
            },
            "AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT",
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "AudioDescriptionBroadcasterMix": "NORMAL",
                    "Bitrate": 96000,
                    "RateControlMode": "CBR",
                    "CodecProfile": "LC",
                    "CodingMode": "CODING_MODE_2_0",
                    "RawFormat": "NONE",
                    "SampleRate": 48000,
                    "Specification": "MPEG4"
                  }
                },
                "LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],
            "OutputSettings": {
              "HlsSettings": {
                "AudioGroupId": "program_audio",
                "AudioRenditionSets": "program_audio",
                "IFrameOnlyManifest": "EXCLUDE"
              }
            },
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {
                "AudioFramesPerPes": 4,
                "PcrControl": "PCR_EVERY_PES_PACKET",
                "PmtPid": 480,
                "PrivateMetadataPid": 503,
                "ProgramNumber": 1,
                "PatInterval": 0,
                "PmtInterval": 0,
                "Scte35Source": "NONE",
                "Scte35Pid": 500,
                "TimedMetadata": "NONE",
                "TimedMetadataPid": 502,
                "VideoPid": 481,
                "AudioPids": [
                  482,
                  483,
                  484,
                  485,
                  486,
                  487,
                  488,
                  489,
                  490,
                  491,
                  492
                ]
              }
            },
            "NameModifier": "_low"
          }
        ],
        "OutputGroupSettings": {
          "Type": "HLS_GROUP_SETTINGS",
          "HlsGroupSettings": {
            "ManifestDurationFormat": "INTEGER",
            "SegmentLength": 10,
            "TimedMetadataId3Period": 10,
            "CaptionLanguageSetting": "OMIT",
            "Destination": "s3://bucket/hls1/master",
            "TimedMetadataId3Frame": "PRIV",
            "CodecSpecification": "RFC_4281",
            "OutputSelection": "MANIFESTS_AND_SEGMENTS",
            "ProgramDateTimePeriod": 600,
            "MinSegmentLength": 0,
            "DirectoryStructure": "SINGLE_DIRECTORY",
            "ProgramDateTime": "EXCLUDE",
            "SegmentControl": "SEGMENTED_FILES",
            "ManifestCompression": "NONE",
            "ClientCache": "ENABLED",
            "StreamInfResolution": "INCLUDE"
          }
        }
      }
    ],
    "AdAvailOffset": 0,
    "Inputs": [
      {
        "AudioSelectors": {
          "Audio Selector 1": {
            "Tracks": [
              1
            ],
            "Offset": 0,
            "DefaultSelection": "DEFAULT",
            "SelectorType": "TRACK",
            "ProgramSelection": 1
          },
          "Audio Selector 2": {
            "Tracks": [
              2
            ],
            "Offset": 0,
            "DefaultSelection": "NOT_DEFAULT",
            "SelectorType": "TRACK",
            "ProgramSelection": 1
          }
        },
        "VideoSelector": {
          "ColorSpace": "FOLLOW"
        },
        "FilterEnable": "AUTO",
        "PsiControl": "USE_PSI",
        "FilterStrength": 0,
        "DeblockFilter": "DISABLED",
        "DenoiseFilter": "DISABLED",
        "TimecodeSource": "EMBEDDED",
        "FileInput": "s3://INPUT"
      }
    ]
  }
}
```



## 範例：自動化 ABR
<a name="auto-abr-example"></a>

此範例 JSON 任務規格指定 Apple HLS 中的自動化 ABR 堆疊。除了指定自動 ABR 設定之外，還會明確設定這些值：
+ 加速轉碼`Mode`至 `PREFERRED`
+ `rateControlMode` 至 `QVBR`
+ `qualityTuningLevel` 至 `MULTI_PASS_HQ`

如需自動 ABR 設定的相關資訊，請參閱 [自動化 ABR](auto-abr.md)。

```
{
  "UserMetadata": {},
  "Role": "ROLE ARN",
  "Settings": {
    "TimecodeConfig": {
      "Source": "ZEROBASED"
    },
    "OutputGroups": [
      {
        "Name": "Apple HLS",
        "Outputs": [
          {
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {
                "AudioFramesPerPes": 4,
                "PcrControl": "PCR_EVERY_PES_PACKET",
                "PmtPid": 480,
                "PrivateMetadataPid": 503,
                "ProgramNumber": 1,
                "PatInterval": 0,
                "PmtInterval": 0,
                "Scte35Source": "NONE",
                "NielsenId3": "NONE",
                "TimedMetadata": "NONE",
                "VideoPid": 481,
                "AudioPids": [
                  482,
                  483,
                  484,
                  485,
                  486,
                  487,
                  488,
                  489,
                  490,
                  491,
                  492
                ]
              }
            },
            "VideoDescription": {
              "ScalingBehavior": "DEFAULT",
              "TimecodeInsertion": "DISABLED",
              "AntiAlias": "ENABLED",
              "Sharpness": 50,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "NumberReferenceFrames": 3,
                  "Syntax": "DEFAULT",
                  "Softness": 0,
                  "FramerateDenominator": 1,
                  "GopClosedCadence": 1,
                  "GopSize": 60,
                  "Slices": 2,
                  "GopBReference": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "FramerateControl": "SPECIFIED",
                  "RateControlMode": "QVBR",
                  "CodecProfile": "MAIN",
                  "Telecine": "NONE",
                  "FramerateNumerator": 30,
                  "MinIInterval": 0,
                  "AdaptiveQuantization": "AUTO",
                  "CodecLevel": "AUTO",
                  "FieldEncoding": "PAFF",
                  "SceneChangeDetect": "ENABLED",
                  "QualityTuningLevel": "MULTI_PASS_HQ",
                  "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                  "UnregisteredSeiTimecode": "DISABLED",
                  "GopSizeUnits": "FRAMES",
                  "ParControl": "INITIALIZE_FROM_SOURCE",
                  "NumberBFramesBetweenReferenceFrames": 2,
                  "RepeatPps": "DISABLED",
                  "DynamicSubGop": "STATIC"
                }
              },
              "AfdSignaling": "NONE",
              "DropFrameTimecode": "ENABLED",
              "RespondToAfd": "NONE",
              "ColorMetadata": "INSERT"
            },
            "OutputSettings": {
              "HlsSettings": {
                "AudioGroupId": "program_audio",
                "AudioRenditionSets": "program_audio",
                "AudioOnlyContainer": "AUTOMATIC",
                "IFrameOnlyManifest": "EXCLUDE"
              }
            },
            "NameModifier": "video"
          },
          {
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {
                "AudioFramesPerPes": 4,
                "PcrControl": "PCR_EVERY_PES_PACKET",
                "PmtPid": 480,
                "PrivateMetadataPid": 503,
                "ProgramNumber": 1,
                "PatInterval": 0,
                "PmtInterval": 0,
                "Scte35Source": "NONE",
                "NielsenId3": "NONE",
                "TimedMetadata": "NONE",
                "TimedMetadataPid": 502,
                "VideoPid": 481,
                "AudioPids": [
                  482,
                  483,
                  484,
                  485,
                  486,
                  487,
                  488,
                  489,
                  490,
                  491,
                  492
                ]
              }
            },
            "AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT",
                "AudioSourceName": "Audio Selector 1",
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "AudioDescriptionBroadcasterMix": "NORMAL",
                    "Bitrate": 96000,
                    "RateControlMode": "CBR",
                    "CodecProfile": "LC",
                    "CodingMode": "CODING_MODE_2_0",
                    "RawFormat": "NONE",
                    "SampleRate": 48000,
                    "Specification": "MPEG4"
                  }
                },
                "LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],
            "OutputSettings": {
              "HlsSettings": {
                "AudioGroupId": "program_audio",
                "AudioTrackType": "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
                "AudioOnlyContainer": "AUTOMATIC",
                "IFrameOnlyManifest": "EXCLUDE"
              }
            },
            "NameModifier": "audio"
          }
        ],
        "OutputGroupSettings": {
          "Type": "HLS_GROUP_SETTINGS",
          "HlsGroupSettings": {
            "ManifestDurationFormat": "FLOATING_POINT",
            "SegmentLength": 10,
            "TimedMetadataId3Period": 10,
            "CaptionLanguageSetting": "OMIT",
            "Destination": "s3://amzn-s3-demo-bucket1/main",
            "TimedMetadataId3Frame": "PRIV",
            "CodecSpecification": "RFC_4281",
            "OutputSelection": "MANIFESTS_AND_SEGMENTS",
            "ProgramDateTimePeriod": 600,
            "MinSegmentLength": 0,
            "MinFinalSegmentLength": 0,
            "DirectoryStructure": "SINGLE_DIRECTORY",
            "ProgramDateTime": "EXCLUDE",
            "SegmentControl": "SEGMENTED_FILES",
            "ManifestCompression": "NONE",
            "ClientCache": "ENABLED",
            "AudioOnlyHeader": "INCLUDE",
            "StreamInfResolution": "INCLUDE"
          }
        },
        "AutomatedEncodingSettings": {
          "AbrSettings": {
            "MaxRenditions": 6,
            "MaxAbrBitrate": 5000000,
            "MinAbrBitrate": 300000
          }
        }
      }
    ],
    "AdAvailOffset": 0,
    "Inputs": [
      {
        "AudioSelectors": {
          "Audio Selector 1": {
            "Offset": 0,
            "DefaultSelection": "DEFAULT",
            "ProgramSelection": 1
          }
        },
        "VideoSelector": {
          "ColorSpace": "FOLLOW",
          "Rotate": "DEGREE_0",
          "AlphaBehavior": "DISCARD"
        },
        "FilterEnable": "AUTO",
        "PsiControl": "USE_PSI",
        "FilterStrength": 0,
        "DeblockFilter": "DISABLED",
        "DenoiseFilter": "DISABLED",
        "InputScanType": "AUTO",
        "TimecodeSource": "ZEROBASED",
        "FileInput": "s3://amzn-s3-demo-bucket/test.mov"
      }
    ]
  },
  "AccelerationSettings": {
    "Mode": "PREFERRED"
  },
  "StatusUpdateInterval": "SECONDS_60",
  "Priority": 0
}
```



# 指定輸入檔案和輸入剪輯
<a name="specifying-inputs"></a>

您可以使用 MediaConvert 進行*組裝工作流程*。組裝工作流程是一種 MediaConvert 任務，可執行基本的輸入剪輯和拼接，以組合來自不同來源的輸出資產，而不需要單獨的編輯軟體。例如，組裝工作流程可以組合一個緩衝區，後面接著與廣告交錯的特徵內容。特色內容在每個特色區段的開頭可能具有標誌圖形浮水印。

透過這些類型的任務，您可以使用*輸入拼接*來組合來自多個輸入的輸出，或使用輸入*剪輯來組合部分輸入*。MediaConvert 會從此組件建立任務的所有輸出。如果您希望輸出具備輸入檔案的不同剪輯或不同的輸入排列，則必須為每個組件建立單獨的任務。

**Topics**
+ [MediaConvert 如何使用時間軸來組合任務](#how-mediaconvert-uses-timelines-to-assemble-jobs)
+ [設定組件工作流程任務](#setting-up-an-assembly-workflow-job)
+ [設定音軌和音訊選擇器](more-about-audio-tracks-selectors.md)
+ [設定輸入字幕](including-captions.md)

## MediaConvert 如何使用時間軸來組合任務
<a name="how-mediaconvert-uses-timelines-to-assemble-jobs"></a>

MediaConvert 會根據輸入*時間軸和輸出時間軸組合輸入*和輸入剪輯。 **服務會根據您的設定來建構這些時間軸，然後根據它們將您的輸入組裝到輸出中。下圖顯示三個獨立的輸入時間軸和一個輸出時間軸。

![\[三個獨立的輸入檔案以三個矩形表示。每一個都以代表輸入時間軸的數字行來標記。一個時間軸從零開始。一個時間軸顯示內嵌的時間碼。一個時間軸反映從一小時開始的指定開始設定。兩個矩形內有剪輯片段，表示為以顏色填滿部分矩形。其中一個矩形完全填滿，表示會在輸出中使用整個輸入檔案。輸入矩形下方有一個較寬的矩形，代表組裝在一起的所有剪輯片段和輸入。此矩形標有一個數字行，代表輸出時間軸，該時間軸從 00:00:00:00 開始。\]](http://docs.aws.amazon.com/zh_tw/mediaconvert/latest/ug/images/assembly.png)


### 輸入時間軸
<a name="input-timelines"></a>

每個輸入都有自己的*輸入時間軸*。輸入時間軸是 MediaConvert 產生的一系列時間碼，代表輸入檔案的每個影格。

依預設，輸入時間軸與內嵌於輸入視訊中的任何時間碼相同。您可以在輸入設定時間碼**來源中指定不同的開始時間碼**。如果您使用 API 或 SDK，您可以在任務的 JSON 檔案中找到此設定。設定名稱為 `TimecodeSource`，位於 `Settings`、 中`Inputs`。如需詳細資訊，請參閱[使用輸入時間碼來源調整輸入時間軸](timecode-input.md)。

MediaConvert 會針對下列項目使用輸入時間軸：
+ 決定輸入圖形浮水印 (插入的影像) 在視訊中出現的時間。如需輸入和輸出浮水印之間差異的更多資訊，請參閱[在輸入和輸出浮水印之間進行選擇](choosing-between-input-overlay-and-output-overlay.md)。
+ 決定動態圖形浮水印 (插入的影像) 在視訊中出現的時間。如需不同類型圖形浮水印的更多資訊，請參閱[影像插入](graphic-overlay.md)。
+ 將您的視訊與以時間碼為基礎的*附屬字幕*同步化。附屬字幕是以與視訊分開的輸入檔案形式提供的字幕。
+ 解譯您在指定輸入剪輯時提供的時間碼。

### 輸出時間軸
<a name="output-timeline"></a>

*輸出時間軸*是 MediaConvert 產生的一系列時間碼，可內嵌在輸出中。MediaConvert 也會針對套用至任務中每個輸出的功能，使用輸出時間軸的時間碼。

根據預設，輸出時間軸與內嵌在第一個輸入檔案視訊中的任何時間碼相同。您可以在任務設定的整個任務**時間碼組態設定中指定不同的開始時間碼******。如果您使用 API 或 SDK，您可以在任務的 JSON 檔案中找到這些設定。這些設定位於 `Settings`、 下`TimecodeConfig`。如需詳細資訊，請參閱[使用整個任務的時間碼組態調整輸出時間軸](timecode-jobconfig.md)。

MediaConvert 會針對下列項目使用輸出時間軸：
+ 決定當您在輸出時間碼設定中啟用 **Timecode insertion (時間碼插入)** 時，要嵌入至輸出視訊中的時間碼。
+ 決定輸出浮水印 (插入的影像) 在視訊中出現的時間。如需不同類型圖形浮水印的更多資訊，請參閱[影像插入](graphic-overlay.md)。
+ 決定您的 HLS 變體播放清單如何顯示時間
+ 解譯當您指定 **Anchor Timecode (定位點時間碼)** 的值時所提供的時間碼。

## 設定組件工作流程任務
<a name="setting-up-an-assembly-workflow-job"></a>

依照下列步驟設定結合組裝工作流程特色的任務，例如輸入剪輯、輸入拼接、圖形浮水印和附屬字幕同步。以此順序執行這些工作可以更輕鬆進行設定。特別是，我們建議您最後指定輸入剪輯。這是因為每個輸入時間軸會計算整個輸入的影格，而不是每個個別的剪輯片段。

此程序依賴於輸入和輸出時間軸的概念。如需詳細資訊，請參閱[MediaConvert 如何使用時間軸來組合任務](#how-mediaconvert-uses-timelines-to-assemble-jobs)。

**設定組裝工作流程任務 (主控台)**

1. **指定您的視訊輸入檔案。**

   一個任務中最多可以有 150 個輸入。MediaConvert 會依您新增輸入的順序將輸入拼接在一起。若要依時間順序使用相同輸入檔案中的多個剪輯，而它們之間沒有其他輸入，請指定輸入檔案一次。

   如需完整指示，請參閱[步驟 1：指定輸入檔案](setting-up-a-job.md#specify-input-settings)。

1. **設定您的音訊選擇器。**

   在每個輸入中，您會建立音訊選擇器，將輸入音訊對應到輸出。如需說明，請參閱[步驟 2：建立視訊、音訊和字幕的輸入選擇器](setting-up-a-job.md#create-selectors)。

   使用附屬音訊檔案時，MediaConvert 會同步音訊和視訊，而不考慮時間碼。MediaConvert 會將音訊檔案的開頭排入視訊檔案的開頭。

   無論您的音訊是附屬檔案還是內嵌在視訊中，都可以使用輸入音訊選擇器中的**位移**設定來調整其同步。在 **Offset (位移)** 中使用正數，會將音訊在輸入時間軸中往後移動；使用負數則往前移。

1. **Synchronize any sidecar captions (同步任何附屬字幕)。**

   設定附屬字幕同步的方式取決於輸入字幕格式：
   + 如果您的輸入字幕格式是以時間碼為基礎 (例如 SCC 或 STL)，則服務會將字幕檔案中的時間碼與輸入時間軸同步。
   + 如果您的輸入字幕格式是以時間戳記為基礎 (例如 SRT、SMI 或 TTML)，則服務會將字幕與視訊同步，而不考慮時間碼。

**相關資訊**
   + [關於輸入時間碼來源和字幕對齊](about-input-timecode-source-and-captions-alignment.md)
   + [使用輸入時間碼來源調整輸入時間軸](timecode-input.md)
   + [字幕和字幕選擇器](including-captions.md) 

1. **設定您希望圖形浮水印或動態圖形浮水印的出現時間。**

   如何指定浮水印出現的時間，取決於您指定的浮水印類型：
   + 對於輸入靜態圖形浮水印，請在輸入中指定要顯示浮水印的位置。指定與該輸入時間軸相符之時間碼的開始時間和結束時間。
   + 對於輸出靜態圖形浮水印，請根據輸出時間軸指定您要顯示浮水印的時間。
   + 對於動態圖形浮水印，請根據輸入的時間軸指定要顯示浮水印的時間。

**相關資訊**
   + [使用輸入時間碼來源調整輸入時間軸](timecode-input.md)
   + [使用整個任務的時間碼組態調整輸出時間軸](timecode-jobconfig.md)
   + [影像插入](graphic-overlay.md)

1. **指定輸入剪輯。**

   除非您希望 MediaConvert 包含輸入的完整持續時間，否則請為每個輸入指定輸入剪輯。指定與該輸入時間軸相符之時間碼的開始時間和結束時間。

   設定輸入剪輯，如下所示：

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

   1. 在 **Input clips** (輸入剪輯) 區段中，選擇 **Add input clip** (新增輸入剪輯)。

   1. 輸入您希望包含的第一個剪輯的開始和結束時間碼。使用下列 24 小時格式搭配影格編號：HH：MM：SS：FF。

      當您為純音訊輸入指定輸入剪輯時，您輸入的時間碼中的最後一個數字會對應到百分之一秒。例如，00：00：30：75 與 30.75 秒相同。

      請確定您提供的時間碼與您輸入時間軸相符。根據預設，MediaConvert 會根據內嵌在輸入影片中的時間碼進行輸入剪輯。對齊時間碼的方式取決於您輸入的影片時是否內嵌時間碼：
      + 如果您的輸入沒有內嵌的時間碼，請將**時間碼來源**設定為**從 0 開始**或**指定開始**。
      + 如果您的輸入*確實*有內嵌的時間碼，而且您希望 MediaConvert 使用它們，則對於**時間碼來源**，請保留預設值 **Embedded**。相應地指定剪輯片段的開始和結束時間。

        例如，如果輸入**時間碼來源**設定為**內嵌**，且視訊內嵌時間碼從 01：00：00：00 開始，請在 01：00：30：00 （非 00：00：30：00) 中定義剪輯 30 秒的開始時間碼。根據預設，輸入時間軸與內嵌在影片中的時間碼相同。您可以調整輸入**時間碼來源**設定，以調整輸入時間軸的內容。
      + 指定長度少於 12 小時的輸入剪輯持續時間。

      如需詳細資訊，請參閱[使用輸入時間碼來源調整輸入時間軸](timecode-input.md)。

   1. 指定任何其他剪輯。多個剪輯必須按時間順序排列，且不能重疊；每個 **Start timecode (開始時間碼)** 都必須在之前的剪輯的 **End timecode (結束時間碼)** 之後。

      如果您指定一個以上的輸入剪輯，它們會依照您指定時的順序，逐一出現在輸出中。

# 設定音軌和音訊選擇器
<a name="more-about-audio-tracks-selectors"></a>

您可以使用音訊選擇器，建立輸入音訊與輸出音訊的關聯。您可以設定單一音訊選擇器以代表輸入中的一或多個音軌。然後，您可以在輸出中建立音軌，並建立單一音訊選擇器與每個輸出音軌的關聯。

輸入音軌、音訊選擇器及輸出音軌之間的關聯需遵循以下規則：
+  每個輸入音軌皆可關聯至一或多個音訊選擇器 
+  每個音訊選擇器皆有一或多個輸入音軌 
+  每個輸出音軌皆有一個音訊選擇器 

下圖顯示 t 雜湊關係。在此圖中，輸入檔案包含三個音軌。音訊選擇器 1 選擇輸入音軌 1。音訊選擇器 1 與輸出音軌 1 相關聯，因此輸出的音軌 1 與輸入的音軌 1 有相同的內容。音訊選擇器並未選擇第二個輸入音軌，因此不會用於輸出。音訊選擇器 2 選擇輸入音軌 1 和 3。音訊選擇器 2 與輸出音軌 2 相關聯，因此輸出音軌 2 包含輸入音軌 1 和 3 的聲道。

![\[使用音訊選擇器，建立輸入音軌與輸出音軌的關聯。\]](http://docs.aws.amazon.com/zh_tw/mediaconvert/latest/ug/images/audio-selectors-shared-vsd.png)


針對需要通道層級控制的工作流程，請使用音訊聲道混音功能 ，支援下列工作流程：
+ 變更音軌中的聲道順序
+ 將音訊聲道從一或多個輸入音軌移動至不同的輸出音軌
+ 將來自多個聲道的音訊結合至單一聲道
+ 將單一聲道的音訊分離為多個聲道
+ 調整音訊聲道的音量大小

# 設定輸入字幕
<a name="including-captions"></a>

若要將字幕包含在任務中，請依序進行以下步驟：

1. 如果您的輸入字幕是以時間碼為基礎的附屬字幕格式 (例如 SCC 或 STL)，請[設定時間碼來源設定。](#set-the-timecode-source-settings)

1. [收集必要的字幕資訊。](#gather-required-captions-information)

1. [建立輸入字幕選擇器。](#create-input-caption-selectors)

1. [在輸出中設定字幕。](set-up-captions-in-outputs.md)

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

如需如何在輸出中設定字幕的資訊，請參閱 [在輸出中設定字幕](set-up-captions-in-outputs.md)。

**提示**  
您可以使用 Amazon Transcribe 搭配 MediaConvert 來產生字幕，並將其包含在輸出中。如需詳細資訊，請參閱 GitHub 上*AWS 範例中*[AWS 使用 Amazon Transcribe 的 VOD 字幕](https://github.com/aws-samples/aws-transcribe-captioning-tools)。

## 指定時間碼來源
<a name="set-the-timecode-source-settings"></a>

若要讓字幕正確地與影片同步，您必須設定輸入時間軸，以符合字幕檔中嵌入的時間碼。MediaConvert 會根據您為輸入時間**碼來源設定選擇的值來建立輸入時間**軸。如需詳細資訊，請參閱[輸入時間碼來源和字幕對齊](about-input-timecode-source-and-captions-alignment.md)。

如需調整 **Timecode source (時間碼來源)** 設定的指示，請參閱[使用輸入時間碼來源調整輸入時間軸](timecode-input.md)。

## 收集必要的字幕資訊
<a name="gather-required-captions-information"></a>

在您的任務中設定字幕之前，請注意以下資訊：
+ *輸入字幕格式*。您必須事先擁有此資訊；MediaConvert 不會從您的輸入檔案讀取此資訊。
+ 您要在任何輸出中所使用輸入字幕的*軌道*。
+ 您要在此任務中建立的*輸出封裝和檔案*。如需指定輸出封裝或檔案類型的詳細資訊，請參閱 [建立輸出](output-settings.md)。
+ 您要用於每個輸出的*輸出字幕格式*。

  如需有關依據您的輸入容器、輸入字幕格式及輸出容器而定的支援輸出字幕的詳細資訊，請參閱 [視訊容器中支援的輸入字幕](captions-support-tables-by-container-type.md)。
+ 您要包含在每個輸出的*輸出字幕軌*。如果您傳遞 teletext-to-teletext (電視資訊到電視資訊)，輸入內的所有軌道都會在輸出中提供。否則，您在輸出中包含的軌道，可能是輸入內可用的軌道子集。

## 建立輸入字幕選取器
<a name="create-input-caption-selectors"></a>

當您設定字幕時，請先建立字幕選擇器。字幕選擇器能夠識別輸入中的特定字幕資產，並以標籤與其進行關聯。字幕資產為輸入檔案內的單一軌道或所有軌道的組合，這取決於您的輸入字幕格式。例如，您可以新增 **Captions selector 1** (字幕選擇 1) 並將法語字幕與其建立關聯。當您[設定輸出以包含字幕](set-up-captions-in-outputs.md)時，可藉由指定字幕選擇器來執行此作業。

**建立輸入字幕選擇器**

1. 在**建立任務**頁面上，於左側**的任務**窗格中，選擇輸入。
**注意**  
在有多個輸入的任務中，每個輸入都必須具有相同數量的字幕選擇器。對於沒有字幕的輸入，請建立空白字幕選擇器。針對這些選擇器，針對**來源**選擇 **Null 來源**。如果沒有輸入具有字幕，請移除所有字幕選擇器。

1. 在靠近頁面底部的 **Captions selectors** (字幕選擇器) 區段中，選擇 **Add captions selector** (新增字幕選擇器)。

1. 在 **Source** (來源) 之下選擇輸入字幕格式。

1. 大多數格式會出現更多的欄位。依照與您的輸入字幕格式相關的主題所述，為這些欄位指定值。請由此程序後的清單中選擇適當的主題。

1. 視需要建立多個字幕選擇器。您需要的字幕選擇器數量，取決於您的輸入字幕格式。請由此程序後的清單中選擇適當的主題。

# MXF VANC 資料 （輔助） 輸入字幕中的 QuickTime 字幕追蹤或字幕
<a name="ancillary"></a>

如果您的輸入字幕為以下其中一種格式，此服務會將其視為「輔助」資料進行處理：
+ QuickTime 字幕軌 (格式 QTCC)
+ MXF VANC 資料

MediaConvert 不會以這些格式建立輸出字幕，但您可以將它們轉換為[支援的輸出格式](captions-support-tables-by-container-type.md)。

**輔助式字幕**
+ 為您將在輸出中使用的每一個軌道建立一個字幕選擇器。
+ 在每個字幕選擇器中，在 **Source** (來源) 中選擇 **Ancillary** (輔助)。
+ 在每個字幕選擇器中，在 **CC channel (CC 通道)** 中選擇與該選擇器關聯之軌道的通道號碼。

  例如，輸入字幕有 CC 通道 1 中的英文，以及 CC 通道 2 中的西班牙文。若要使用這些字幕，請建立字幕選擇器 1，然後在 **CC channel** (CC 通道) 下拉式清單中選擇 1。接著，建立字幕選擇器 2，然後在 **CC channel** (CC 通道) 下拉式清單中選擇 2。

# 內嵌 (CEA/EIA-608、CEA/EIA-708)、內嵌 \$1 SCTE-20 和 SCTE-20 \$1 內嵌輸入字幕
<a name="embedded"></a>

如果您的輸入字幕為以下任何一種格式，此服務會將其視為「內嵌」資料進行處理：
+ CEA-608
+ EIA-608
+ CEA-708
+ EIA-708

如果您的輸入字幕同時包含嵌入字幕和 SCTE-20 字幕，並且您希望輸出中同時使用這兩種類型，請為 SCTE-20 和內嵌字幕軌設定單獨的輸入字幕選擇器。設定 SCTE-20 字幕選擇器的方法與設定嵌入式選擇器的方法相同。

**注意**  
對於 MXF 輸入，您的字幕很可能在輔助式的軌道上。某些第三方媒體分析工具不正確地將這些字幕報告為內嵌的 608/708。如需設置輔助式字幕的資訊，請參閱 [MXF VANC 資料 （輔助） 輸入字幕中的 QuickTime 字幕追蹤或字幕](ancillary.md)。

## 內嵌字幕的字幕選擇器數量
<a name="embedded-how-many-caption-selectors"></a>
+ 如果您所有的輸出字幕都是內嵌格式，您只需建立一個字幕選擇器，即使您想要在輸出中包含多個軌道。透過此設定，MediaConvert 會自動擷取所有軌道，並將它們包含在輸出中。
+ 如果您所有的輸出都不是內嵌格式，則必須為您要在輸出中包含的每個軌道建立一個字幕選擇器。
+ 如果您的輸出有一些有內嵌格式的字幕，另外有一些有不同格式的字幕，請為內嵌字幕的輸出建立一個字幕選取器。同時為非內嵌格式的其他字幕建立個別的選擇器，亦即為您要在輸出中包含的每個軌道建立一個字幕選擇器。

## 內嵌字幕的字幕選擇器欄位
<a name="embedded-caption-selector-fields"></a>

**Source** (來源)：選擇 **Embedded** (內嵌)

**CC channel number (CC 通道號碼)**：此欄位指定擷取的軌道。完成如下所示：
+ 如果您正在執行embedded-to-embedded字幕 （亦即，您只為輸入內嵌字幕建立一個字幕選擇器），MediaConvert 會忽略此欄位，因此請保留 **CC 頻道號碼**的預設值。
+ 如果您要將內嵌字幕轉換為另一種格式 (亦即建立多個字幕選擇器，每個軌道一個選擇器)，請從包含您所需軌道的輸入中，指定字幕通道號碼。若要這麼做，請從下拉式清單中選擇通道號碼。例如，選擇 **1** 以選擇 CC1。

**注意**  
MediaConvert 不會自動偵測每個頻道中的語言。您可以在設定輸出字幕時指定 ，以便 MediaConvert 將字幕頻道的語言程式碼中繼資料傳遞至輸出以供下游使用。



# DVB-Sub 輸入字幕
<a name="dvb-sub-or-scte-27"></a>

MediaConvert 僅在 TS 輸入中支援 DVB-Sub。

在大多數情況下，請為每個軌道建立一個字幕選擇器。在每個選擇器中，提供 PID 或語言代碼以指定您想要的軌道。

**注意**  
請勿同時在 **PID** 欄位和 **Language** (語言) 下拉式清單中指定字幕。請在其中之一指定。

如果您要執行 DVB 字幕至 DVB 字幕 (DVB-sub-to-DVB-sub)，而且您想要將所有字幕軌道從輸入傳遞至輸出，請為所有軌道建立一個字幕選擇器。在此情況下，讓 **PID** 欄位維持空白，並且不要在 **Language (語言)** 下拉式清單中選擇任何語言。

# 電視資訊輸入字幕
<a name="teletext"></a>

設定電視資訊輸入字幕選擇器的方式取決於您計劃在輸出中使用字幕的方式。您可以透過下列其中一種方式使用電視資訊字幕：
+ [電視訊息到電視訊息傳遞](#input-teletext-to-output-teletext-passthrough)

  透過電視資訊傳遞，MediaConvert 會將您的輸入字幕從輸入傳遞到輸出。字幕樣式、電視資訊頁面號碼和非字幕電視資訊資料會顯示在輸出中，與輸入完全相同。

  電視資訊傳遞是將非字幕的電視資訊資料包含在輸出中的唯一方法。
+ [Teletext to Teletext，頁面重新映射](#input-teletext-to-output-teletext-with-page-remapping)

  如果您希望輸出上的電視訊息頁碼與輸入上的頁碼不同，您可以重新映射內容。當您執行此操作時，您的輸出字幕具有純樣式，而且您會遺失任何非字幕的電視資訊。
+ [其他字幕格式的電視資訊](#input-teletext-to-other-format-output-captions)

  您可以使用電視資訊輸入字幕，以某些其他格式產生輸出字幕。若要查詢您可以從電視資訊輸入產生哪些字幕，請參閱 [字幕參考表](captions-support-tables.md)。

如需為每個工作流程設定字幕的資訊，請參閱下列主題。

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

當您執行電視文字到電視文字傳遞時，請為整組輸入字幕建立一個輸入字幕選擇器。請勿指定**頁碼**的值。

如需設定此字幕工作流程輸出的資訊，請參閱 [電視訊息到電視訊息傳遞](teletext-output-captions.md#teletext-to-teletext-passthrough)。

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

當您輸入和輸出字幕的字幕格式是電視資訊，而且您希望輸出電視資訊頁面號碼與輸入頁面號碼不同時，請為輸入的每個電視資訊頁面建立單獨的輸入字幕選擇器。為頁碼指定輸入電視資訊**頁碼**。

如需設定此字幕工作流程輸出的資訊，請參閱 [Teletext to Teletext，頁面重新映射](teletext-output-captions.md#teletext-to-teletext-page-remapping)。

## 其他字幕格式的電視資訊
<a name="input-teletext-to-other-format-output-captions"></a>

當您的輸入字幕是電視資訊，而輸出字幕是另一種格式時，請為每個輸入電視資訊頁面設定一個輸入字幕選擇器。為頁碼指定輸入電視資訊**頁碼**。

如需有關設定此字幕工作流程輸出的資訊，請參閱 中輸出格式的 一節[在輸出中設定字幕](set-up-captions-in-outputs.md)。

# IMSC、SCC、SMPTE-TT、SRT、STL、TTML （附屬） 輸入字幕
<a name="sidecar-input"></a>

IMSC、SCC、SMPTE-TT、SRT、STL 和 TTML 是附屬字幕格式。使用這些格式，您可以用獨立的檔案提供輸入字幕。根據您的輸出字幕設定， 會以相同格式將它們 AWS Elemental MediaConvert 傳遞至輸出，或將其轉換為其他附屬格式。

**所有附屬字幕**  
在所有情況下，為每個輸入字幕檔案建立一個字幕選擇器。

在**來源檔案中**，將 URI 輸入至存放在 Amazon S3 或 HTTP(S) 伺服器上的字幕輸入檔案。對於 Amazon S3 輸入，您可以直接指定 URI，或選擇**瀏覽**以從 Amazon S3 儲存貯體中選取。針對 HTTP(S) 輸入，提供輸入影片檔案的 URL。如需詳細資訊，請參閱[HTTP 輸入需求](http-input-requirements.md)。

**IMSC 字幕**  
MediaConvert 支援 IMSC 做為輸入字幕格式，可以是附屬檔案或 IMF 來源的一部分。如果您的輸入 IMSC 字幕是 IMF 套件的一部分，請參閱 [IMSC 輸入字幕 （作為 IMF 來源的一部分）](IMSC-in-MXF.md)。如需 IMSC 支援的限制 , 請參閱 [IMSC 要求](imsc-captions-support.md)。

**SMPTE-TT 字幕**  
您可以使用純文字的 SMPTE-TT 輸入字幕，這些字幕影像包含在具有 base64 編碼的字幕檔案中 (`smpte:image encoding="Base64"`)，以及使用字幕影像的外部參考 ()`smpte:backgroundImage`。

當您的字幕使用映像的外部參考時，這些映像必須位於與字幕檔案相同的 Amazon S3 儲存貯體和資料夾中。例如，假設這是 SMPTE\$1TT 檔案的 Amazon S3 路徑：`amzn-s3-demo-bucket/mediaconvert-input/captions/my-captions-spanish.ttml`。然後，您必須將字幕檔案參考的影像檔案存放在此處：`s3://amzn-s3-demo-bucket/mediaconvert-input/captions/`。

**SRT 字幕**  
MediaConvert 支援具有 UTF-8 字元編碼的 SRT 輸入字幕。

**同步附屬字幕和影片**  
為了確保您的字幕與影片正確同步，請檢查**影片選擇**器區段中**時間碼來源**的值是否符合字幕檔案中的時間碼。例如，如果您的影片有從 01：00：00：00 開始的內嵌時間碼，但字幕檔案中的時間碼從零開始，請將影片選取器**時間碼來源**的預設值從**內嵌**變更為**從 0 開始**。如果您任務的其他層面阻止該作業，請使用 **Time delta (時間差量)** 設定來調整您的字幕，如 [時間差異的使用案例](time-delta-use-cases.md) 所述。

**注意**  
MediaConvert 會根據字幕格式是以時間碼為基礎還是以時間戳記為基礎，以不同的方式處理字幕與視訊的對齊。如需詳細資訊，請參閱[輸入時間碼來源和字幕對齊](about-input-timecode-source-and-captions-alignment.md)。

在**時間差異**中輸入正數或負數，以修改字幕檔案中的時間值。根據預設，時間差異的測量單位為秒。例如，輸入 **15**將 15 秒新增至字幕檔案中的所有時間值。或者，輸入 **-5**以從字幕檔案中的時間值減去 5 秒。若要改為以毫秒為單位指定 ，請將**時間差異單位**設定為**毫秒**。

如果您為**時間差異**輸入的值會在影片前後產生字幕，則這些字幕將不會出現在輸出中。

**注意**  
從 SCC 轉換到 SRT 時，MediaConvert 會先將您為**時間差異**設定的值四捨五入到最接近的輸入影格。MediaConvert 會在計算輸出 SRT 計時時使用此四捨五入值。

**Topics**
+ [輸入時間碼來源和字幕對齊](about-input-timecode-source-and-captions-alignment.md)
+ [時間差異的使用案例](time-delta-use-cases.md)
+ [將雙 SCC 輸入檔案轉換為內嵌字幕](converting-dual-scc-input-files-to-embedded-captions.md)
+ [TTML 樣式格式](ttml-style-formatting.md)

# 輸入時間碼來源和字幕對齊
<a name="about-input-timecode-source-and-captions-alignment"></a>

當您透過將輸入**時間碼來源**設定為**從 0 **開始或**指定啟動**來調整輸入時間軸時，MediaConvert 的行為就像您的輸入具有在您指定時啟動的內嵌時間碼一樣。但是 MediaConvert 不會變更附屬字幕檔案中的時間戳記。因此，對齊字幕的方式取決於您的字幕格式。

**時間碼型附屬格式 (SCC、STL)**  
有些字幕格式 (包括 SCC 和 STL) 會依據時間碼定義字幕在視訊中的放置位置。透過這些格式，MediaConvert 會根據輸入時間軸中的每個影格的時間碼，將每個字幕放置在字幕檔案中指定的影格上。若要調整字幕以開始於不同的時間，請使用 **Time delta (時間差量)** 設定。如需詳細資訊，請參閱[時間差異的使用案例](time-delta-use-cases.md)。

MediaConvert 會根據您為輸入時間**碼來源設定選擇的值來建立輸入時間**軸。

例如，如果您的 SCC 檔案指定第一個字幕應該出現在 00:05:23:00，而且您將 **Timecode source (時間碼來源)** 設定為 **Specified start (指定開始)**，並將 **Start timecode (開始時間碼)** 設定為 00:04:00:00，則第一個字幕會在視訊一分鐘二十三秒後出現在輸出中。如果您將 **Timecode source (時間碼來源)** 設定為 **Specified start (指定的開始)** 以及將 **Start timecode (開始時間碼)** 設定為 01:00:00:00，您就看不到字幕，因為根據輸入時間軸，00:05:23:00 發生在您的視訊開始之前。

**時間戳記型附屬格式 (SRT、SMI、TTML)**  
有些字幕格式 (包括 SRT、SMI 和 TTML) 允許依時間戳記定義字幕在視訊中的放置位置。有了這些，MediaConvert 會測量字幕從影片開始的時間距離放置。無論字幕檔案使用時間碼還是時間戳記指定放置的位置，都是如此。

因此，您的字幕會在字幕檔案指定的時間出現，而不考慮視訊時間碼。例如，如果您的 SRT 檔案指定第一個字幕應該出現在 00:05:23:00 或 00:05:23,000，而且您將 **Timecode source (時間碼來源)** 設定為 **Specified start (指定開始)**，並將 **Start timecode (開始時間碼)** 設定為 00:04:00:00，則第一個字幕仍會在視訊五分鐘二十三秒後出現在輸出中。

若要調整字幕以開始於不同的時間，請使用 **Time delta (時間差量)** 設定。如需詳細資訊，請參閱[時間差異的使用案例](time-delta-use-cases.md)。

**在影片串流中嵌入字幕的格式 (CEA/EIA-608、CEA/EIA-708)**  
有些字幕格式會將字幕直接嵌入視訊影格或視訊影格中繼資料。有了這些，MediaConvert 會保留字幕及其內嵌的影格，無論時間碼設定為何。

# 時間差異的使用案例
<a name="time-delta-use-cases"></a>

使用**時間差異 (TimeDelta)** 的方式取決於您嘗試解決的問題，以及您正在使用的字幕格式。

 根據預設，您可以指定以秒為單位的時間差。如果您想要改為以毫秒為單位指定，請將**時間差異單位 (TimeDeltaUnits)** 設定為**毫秒 (MILLISECONDS)**。

## 調整影片和字幕檔案之間的不同時間碼
<a name="adjusting-for-different-timecodes-between-video-and-captions-files"></a>

使用以時間碼為基礎的註解格式 (例如 SCC 和 STL) 時，字幕中的時間碼可能是相對於開始時間碼，而不是內嵌在視訊中的開始時間碼。您可以使用 **Time delta (時間差量)**，針對差異進行調整。

**範例問題：**您的影片檔案可能有從 00：05：00：00 開始的內嵌時間碼。第一個需要字幕的對話執行個體可能是影片一分鐘，時間碼為 00：06：00：00。您的字幕檔案是基於以下假設來撰寫：您的視訊時間碼於 00:00:00:00 開始，且第一個字幕於 00:01:00:00 開始。如果您不使用**時間差異**，MediaConvert 不會包含此第一個字幕，因為它發生在影片開始之前。

**解決方案：**在字幕中增加五分鐘。輸入 **300** 作為 **Time delta (時間差量)**。

## 同步視訊和音訊後調整字幕
<a name="adjusting-captions-after-sychronizing-video-and-audio"></a>

您的時間碼型 (SCC 或 STL) 字幕可能與視訊中內嵌的時間碼對齊，但您可能需要使用輸入 **Timecode source (時間碼來源)** 設定來對齊音訊。這會在視訊與字幕之間產生差異，您需要對此進行調整。若使用時間戳記型字幕格式 (例如 SRT、SMI 和 TTML)，則不需要進行此調整。

如需在使用輸入 **Timecode source (時間碼來源)** 時對齊字幕的詳細資訊，請參閱[輸入時間碼來源和字幕對齊](about-input-timecode-source-and-captions-alignment.md)。

**範例問題：**您的視訊檔案可能會有從 00:05:00:00 開始的內嵌時間碼，而需要字幕的第一段對話可能在視訊一分鐘的位置，時間碼為 00:06:00:00。您的字幕檔案會正確寫入同步，第一個字幕從 00:06:00:00 開始。但是，您必須在輸入中變更內嵌字幕，才能正確地與音訊檔案同步。因此，您會將輸入 **Timecode source (時間碼來源)** 設定為 **Start at Zero (從零開始)**。如果您不使用**時間差異**，MediaConvert 會在 6 分鐘將輸出中的第一個字幕放入影片。

**解決方案：**從字幕中減去五分鐘。輸入 **-300** 作為 **Time delta (時間差量)**。

## 更正字幕同步中的輕微錯誤
<a name="correcting-slight-errors-in-captions-sync"></a>

採用任何類型的附屬格式，您的輸入字幕檔案中可能有個小錯誤，以致字幕始終延後一點或提早一點。

**範例問題：**您的視訊都有從零開始的內嵌字幕。第一個需要字幕的對話執行個體是在 00:06:15:00，但是字幕延遲三秒 (00:06:18:00) 才出現在螢幕上。

**解決方案：**從字幕中減去三秒。輸入 **-3** 作為 **Time delta (時間差量)**。

# 將雙 SCC 輸入檔案轉換為內嵌字幕
<a name="converting-dual-scc-input-files-to-embedded-captions"></a>

如果您想要使用兩個 SCC 檔案作為字幕輸入，並將字幕內嵌為輸出視訊串流中內嵌的兩個輸出字幕頻道，請根據此程序設定字幕。

**將雙 SCC 轉換為內嵌字幕**

1. 設定兩個輸入字幕選取器。請遵循 [建立輸入字幕選取器](including-captions.md#create-input-caption-selectors) 中的程序。指定值，如下所示：
   + 在每個字幕選取器中，選擇 **SCC** 作為 **Source (來源)**。
   + 對於 **Source file (來源檔案)**，請在每個選取器中選擇其中一個輸入 SCC 檔案。
   + 如果您想要在輸出中同時內嵌 608 和 708 字幕，請在兩個字幕選擇器中選擇 **Upconvert** for **Force 608 to 708 upconvert**。

1. 在您的輸出中設定字幕。請遵循 [在輸出中設定字幕](set-up-captions-in-outputs.md) 中的程序。依照以下特定選項：
   + 在與您要內嵌字幕之視訊的相同輸出中指定字幕。
   + 選擇兩次**新增字幕**，在**編碼設定**區段中建立**字幕 1** 和**字幕 2** 標籤。
   + 對於 **Captions source (字幕來源)**，請在每個字幕標籤中，選擇您在此程序的先前步驟中建立的其中一個字幕選取器。
   + 對於 **CC channel number (CC 頻道號碼)**，為不共用欄位的每個字幕標籤選擇一個數字。例如，在**字幕 1** 中，為 **CC 頻道號碼**選擇 **1**，在**字幕 2** 中，為 **CC 頻道號碼**選擇 **3**。

     請勿選擇組合 1 和 2 或 3 和 4，因為這些頻道配段共用相同的欄位。
   + 如果您在此程序的先前步驟中選擇 **Upconvert (向上轉換)**，請選擇性針對 **708 service number (708 服務號碼)** 指定服務號碼。在輸出中，每個字幕標籤都必須指定不同的服務號碼。

     如果您向上轉換但未指定 **708 service number (708 服務號碼)**，服務會使用您針對 **CC channel number (CC 頻道號碼)** 指定的值作為 708 服務號碼。

# TTML 樣式格式
<a name="ttml-style-formatting"></a>

AWS Elemental MediaConvert 會在任務執行時讀取輸入字幕的樣式格式。如果您注意到輸出的樣式格式有問題，建議您檢查輸入字幕的格式，或將**樣式傳遞**設定為已啟用。下列主題提供在 TTML 輸入字幕中使用字型、可繼承和不可繼承屬性，以及從右到左語言的指導。

**指定字型** 

MediaConvert 支援 [TTML2 W3C 建議](https://www.w3.org/TR/ttml2/#style-value-generic-family-name)中列出的下列一般字型系列：
+ 預設
+ 單空間
+ sansSerif
+ serif
+ monospaceSansSerif
+ monospaceSerif
+ proportionalSansSerif
+ proportionalSerif

為了獲得最佳結果，請在 TTML 輸入字幕中指定一般字型系列。如果您改為指定個別字型，MediaConvert 會將字型映射到上面列出的其中一個一般字型系列。

**可繼承和不可繼承的屬性** 

樣式屬性為可繼承或不可繼承。[TTML 2 W3C 建議](https://www.w3.org/TR/ttml2/#styling-attribute-vocabulary)會針對每個樣式屬性列出*繼承*的這些項目。

在您希望套用它們的每個元素中包含不可繼承的樣式屬性。

例如， `tts:backgroundColor` 是不可繼承的樣式屬性。以下結果會產生紅色背景顏色的 *hello* 和沒有背景顏色*的世界*：

`<span tts:backgroundColor="red">hello<br/>world</span>` 

您可以修正上述格式，讓 *hello world* 都具有紅色背景顏色，方法是使用個別跨度，每個跨度都有自己的樣式屬性，如本範例所示：

`<span><span tts:backgroundColor="red">hello</span> <br/> <span tts:backgroundColor="red">world</span></span>` 

**從右到左語言** 

MediaConvert 在 TTML 中同時支援從左到右和從右到左的文字方向。

當您未指定文字方向時，MediaConvert 會使用從左到右。

若要從右到左指定，請包含 `tts:direction="rtl"` 屬性。如果您的文字混合了雙向字元，也請包含`tts:unicodeBidi="embed"`屬性，如 [TTML2 W3C 建議](https://www.w3.org/TR/ttml2/#style-attribute-direction)中所述。請注意， `tts:unicodeBidi` 是不可繼承的屬性。

# IMSC 輸入字幕 （作為 IMF 來源的一部分）
<a name="IMSC-in-MXF"></a>

AWS Elemental MediaConvert 支援 IMSC 做為輸入字幕格式，可以是附屬檔案或 IMF 來源的一部分。如果您的輸入 IMSC 字幕位於附屬檔案中，請參閱 [IMSC、SCC、SMPTE-TT、SRT、STL、TTML （附屬） 輸入字幕](sidecar-input.md)。

當您的輸入 IMSC 字幕是 IMF 來源的一部分時，您不需要指定 IMSC 字幕的來源檔案。該資訊位於您為任務輸入指定的 CPL 檔案中。如需 IMSC 支援的限制 , 請參閱 [IMSC 要求](imsc-captions-support.md)。

**IMSC 的字幕選擇器數量**  
請為每個軌道建立一個字幕選擇器。

**軌道編號**  
提供軌道編號來指定所需的字幕。軌道編號對應於軌道在 CPL 檔案中顯示的順序。例如，如果您的 CPL 檔案首先列出法語字幕，請將 **Track number (軌道編號)** 設定為 **1** 來指定法語字幕。

**在您的 JSON 任務規格中**  
如果您使用 API 或 SDK，您可以在任務的 JSON 檔案中找到這些設定。這些設定位於 下`Inputs`，如下列範例所示：

```
"Inputs": [

 
      {
        ...
        		
        "CaptionSelectors": {
          "Captions Selector 1": {
            "SourceSettings": {
              "SourceType": "IMSC",
              "TrackSourceSettings": {
                "TrackNumber": 1
              }
            }
          },

          "Captions Selector 2": {
            "SourceSettings": {
              "SourceType": "IMSC",
              "TrackSourceSettings": {
                "TrackNumber": 4
              }
            }
          },
          ...
```

# WebVTT 輸入字幕 （作為 HLS 來源的一部分）
<a name="WebVTT-in-HLS"></a>

AWS Elemental MediaConvert 支援 WebVTT 做為輸入字幕格式，可以是附屬檔案或 HLS 來源的一部分。如果您的輸入 WebVTT 字幕位於附屬檔案中，請參閱 [IMSC、SCC、SMPTE-TT、SRT、STL、TTML （附屬） 輸入字幕](sidecar-input.md)。

當您的輸入 WebVTT 字幕是 HLS 來源的一部分時，您不需要為 WebVTT 字幕指定來源 WebVTT 資訊清單檔案。該資訊位於您在任務輸入中指定的主要 HLS 輸入檔案中。您需要啟用**使用 HLS 轉譯群組**，並使用下列設定。

**WebVTT 的字幕選擇器數量**  
為每個 WebVTT 來源建立一個字幕選擇器。

**轉譯群組 ID**  
提供群組 ID，指定您想要的字幕群組。群組 ID 對應至 HLS 資訊清單中的 EXT-X-MEDIA、GROUP-ID 標籤。例如，如果您的 HLS 資訊清單檔案列出特定群組 "subs" 中的法文字幕，請將**轉譯群組 ID** 設為 **子**，以指定法文字幕群組 ID。

**轉譯名稱**  
提供轉譯名稱來指定您想要的字幕群組。轉譯名稱對應至 HLS 資訊清單中的 EXT-X-MEDIA、NAME 標籤。例如，如果您的 HLS 資訊清單檔案在名為「法文」的轉譯名稱中列出您的法文字幕，請將**轉譯名稱**設定為**法文**，以指定法文字幕轉譯名稱。

**轉譯語言程式碼**  
提供 ISO 639-3 語言代碼，指定您想要的字幕群組。語言對應至 HLS 資訊清單中的 EXT-X-MEDIA、LANGUAGE 標籤。例如，如果您的 HLS 資訊清單檔案以「FRA」的語言代碼列出您的法文字幕，請將**轉譯語言代碼**設定為 **FRA**，以指定法文字幕轉譯語言代碼。

**在您的 JSON 任務規格中**  
如果您使用 API 或 SDK，您可以在任務的 JSON 檔案中找到這些設定。這些設定位於 下`Inputs`，如下列範例所示：

```
"Inputs": [

 
      {
        ...
        		
"CaptionSelectors": {
  "Caption Selector 1": {
    "SourceSettings": {
      "SourceType": "WebVTT",
      "WebvttHlsSourceSettings": {
        "RenditionGroupId": "subs",
        "RenditionName": "French",
        "RenditionLanguageCode": "FRA"
      }
    }
  }
}
          ...
```

# 建立輸出
<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**。

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