

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

# 使用 ESAM XML 指定 SCTE-35 標記
<a name="specifying-scte-35-markers-using-esam-xml"></a>

如果您的輸入視訊不包含 SCTE-35 標記，但您需要在輸出中指定廣告插入點，您可以在 AWS Elemental MediaConvert 任務設定中提供事件訊號和管理 (ESAM) XML 文件。當您這麼做時，MediaConvert 會使用 IDR (Instantaneous Decoder Refresh) 影格在文件中指定的插入點設定輸出。在也包裝在 MPEG2-TS 和 HLS 容器中的輸出中，MediaConvert 會在這些點插入 SCTE-35 time\_signal 訊息。

對於 **Apple HLS** 輸出群組，您也可以提供 HLS 資訊清單調節 XML 文件。然後，您可以設定任務以相應地調節 HLS 輸出的資訊清單。

**注意**  
若要將 SCTE-35 標記放入 MPEG2-TS 輸出中，除了提供 ESAM XML 文件外，還必須在每個輸出上啟用 **ESAM SCTE-35**。如需詳細資訊，請參閱此概觀後的主控台程序。

**關於 ESAM 文件中的時間碼**  
剪輯和拼接輸入後，請在 XML 文件中指定相對於最終輸出時間的插入點。無論您的時間碼設定如何，都從 00:00:00:00 開始計時。使用下列 24 小時格式搭配影格編號：HH：MM：SS：FF。

例如，某個任務有以下三個輸入：五分鐘的片頭、1 小時的影片，以及五分鐘的片尾。您可以使用輸入剪輯來剪輯調整一小時輸入的最後 20 分鐘。所以加上片頭和片尾的輸出是 30 分鐘長。如果您希望第一個插入點出現在主要內容的三分鐘內，您會在五分鐘前導的三分鐘後指定它。

**若要在任務設定中包含 ESAM XML 文件 (主控台)**

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. 在左側 **Job (任務)** 窗格的 **Job settings (任務設定)** 部分中，選擇 **Settings (設定)**。

1. 在 **Ad signaling (廣告訊號)** 部分，啟用 **Event signaling and messaging (ESAM) (事件訊號和訊息 (ESAM))**。

1. 對於 **Signal processing notification XML (訊號處理通知 XML)**，以文字輸入您的 ESAM 訊號 XML 文件。如需範例，請參閱 [ESAM XML 訊號處理通知範例](example-esam-xml.md)。
**注意**  
根據預設，MediaConvert 會將四秒的前置作業新增至 ESAM 承載。這可能會導致 MediaConvert 將 SCTE-35 訊息放置在早於 HLS 資訊清單中提示標記指定的區段。若要移除前導，請將 `responseSignalPreroll`設為零。此設定是 [EsamSettings](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs-id.html#jobs-id-model-esamsettings) 的子項。

1. 如果您想要在 HLS 資訊清單中包含 SCTE-35 標記的相關資訊，請在**資訊清單確認條件通知 XML** 中，以文字形式輸入您的 ESAM 資訊清單條件式 XML 文件。MediaConvert 不會在 DASH 資訊清單中包含 SCTE-35 標記的相關資訊。

   若要在傳輸串流中插入除資訊清單外的 SCTE-35 標記，請將 MCC `dataPassThrough` 文件中的 屬性設定為 `"true"`。如果您不想要傳輸串流中的標記，請移除`dataPassThrough`屬性。

   如需範例，請參閱 [ESAM XML 資訊清單確認條件通知範例](example-esam-xml-manifest-conditioning.md)。

1. 對於您想要 SCTE-35 標記的每個 MPEG2-TS 輸出，啟用標記：

   1. 在左側 **Job (任務)** 窗格的 **Output groups (輸出群組)**、**File group (檔案群組)** 下方，選擇輸出。

   1. 確認它是 MPEG2-TS 輸出。在 **Output settings (輸出設定)** 部分，確保 **Container (容器)** 設為 **MPEG-2 Transport Stream (MPEG-2 傳輸串流)**。

   1. 選擇 **Container settings (容器設定)**，然後捲動以找到 **PID controls (PID 控制)** 部分。

   1. 針對 **ESAM SCTE-35**，選擇 **Enabled (已啟用)**。

   1. 對於 **SCTE-35 source (SCTE-35 來源)**，保留預設的 **None (無)**。

1. 請僅針對任務中的任何 **Apple HLS** 輸出群組執行此步驟。

   如果要使用 ESAM 插入點來調節 HLS 資訊清單，請依照[在您的 HLS 資訊清單中包含 SCTE-35 資訊](including-scte-35-information-in-your-hls-manifest.md)中的程序進行。否則，請依照以下步驟，以確認下列設定仍處於其預設狀態：

   1. 確保 **Manifest confirm condition notification XML (資訊清單確認條件通知 XML)** (在此過程的前一步驟中討論過) 為空。

   1. 對於任務每個 **Apple HLS** 輸出群組，請確認 **Ad Markers (廣告標記)** 保持為未核取。

      1. 從左側 **Job (任務)** 窗格的 **Output groups (輸出群組)** 下方，選擇 **Apple HLS**。

      1. 在 **Apple HLS group settings (Apple HLS 群組設定)** 部分，選擇 **Advanced (進階)**。

      1. 在 **Ad markers (廣告標記)** 部分，清除 **Elemental** 和 **SCTE-35 enhanced (SCTE-35 增強型)** 核取方塊。

   1. 對於 **Apple HLS** 輸出群組的每個輸出，確認 **SCTE-35 source (SCTE-35 來源)** 設定為 **None (無)**：

      1. 從左側 **Job (任務)** 窗格的 **Output groups (輸出群組)**、**Apple HLS** 下方，選擇輸出。

      1. 在 **Output settings (輸出設定)** 部分，選擇 **Transport stream settings (傳輸串流設定)**。

      1. 針對 **SCTE-35 source (SCTE-35 來源)** 選擇 **None (無)**。

**在任務設定中包含 ESAM XML 文件 (API、 SDK AWS CLI)**

1. 在 JSON 任務規格的任務設定根目錄中，包含 [`esam` 屬性](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-jobsettings-esam)及其子項。這些屬性如以下範例所示。

   1.  在設定 `sccXml` 中包含 ESAM 訊號處理 XML 規格做為字串。

   1. 或者，在設定 `mccXml` 中包含資訊清單確認條件 XML 通知文件，做為字串：

   ```
     "esam": {
       "responseSignalPreroll": 4000,
       "signalProcessingNotification": {
         "sccXml": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<SignalProcessingNotification ..."
       },
       "manifestConfirmConditionNotification": {
         "mccXml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<ns2:ManifestConfirmConditionNotification ... " 
       }
   ```

1. 對於任務中的每個 M2TS (MPEG2 傳輸串流) 輸出，如以下範例所示，設定 JSON 任務規格。包含屬性 [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35esam](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35esam)。將 [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35source](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35source) 設定為 `NONE`。

   ```
     "outputs": [
           {
             "extension": "m2ts",
             "containerSettings": {
               "container": "M2TS",
               "m2tsSettings": {
                 ...
   
                 "scte35Esam": {
                   "scte35EsamPid": 508
                 },
                 ...
                 "scte35Source": "NONE"
               }
   ```

1. 如果要使用 SCTE-35 資訊來調節 HLS 資訊清單，請為任務中的每個 Apple HLS 輸出群組包含以下內容。這些設定顯示在此步驟結尾的範例中：
   +  將 [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m3u8settings-scte35source](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m3u8settings-scte35source) 設定為 `PASSTHROUGH`。
   + 包含 [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-hlsgroupsettings-admarkers](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-hlsgroupsettings-admarkers) 並以陣列列出 `ELEMENTAL_SCTE35` 或 `ELEMENTAL` 其中一個或兩者。

     如需選取了每個設定而建立的範例資訊清單，請參閱[範例資訊清單：元素廣告標記](sample-manifest-elemental-ad-markers.md)和[範例資訊清單：SCTE-35 增強型廣告標記](sample-manifest-scte-35-enhanced-ad-markers.md)。

   如果您不想使用 SCTE-35 資訊調節 HLS 資訊清單，請為 `scte35Source` 保留預設設定 `NONE` 並且不要包含 `adMarkers`：

   ```
     "outputGroups": [
       {
         "customName": "apple_hls",
         "outputGroupSettings": {
           "type": "HLS_GROUP_SETTINGS",
           "hlsGroupSettings": {
             "adMarkers": [
               "ELEMENTAL_SCTE35"
             ],
             ...
   
           }
         },
         "outputs": [
           {
             "extension": "m3u8",
             "nameModifier": "high",
             "outputSettings": {
               "hlsSettings": {
                 ...
               }
             },
             "containerSettings": {
               "container": "M3U8",
               "m3u8Settings": {
                 ...
                 "scte35Source": "PASSTHROUGH"
               }
   ```

1. 照常提交您的任務。

   如需有關以程式設計方式提交 AWS Elemental MediaConvert 任務的資訊，請參閱[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)。