使用 ESAM XML 指定 SCTE-35 標記 - MediaConvert

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

使用 ESAM XML 指定 SCTE-35 標記

如果您的輸入視訊不包含 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 開啟 MediaConvert 主控台。

  2. 選擇 Create new job (建立新任務)。

  3. 教學課程:設定任務設定建立輸出 中的說明,為視訊與音訊設定您的輸入、輸出群組及輸出。

  4. 在左側 Job (任務) 窗格的 Job settings (任務設定) 部分中,選擇 Settings (設定)

  5. Ad signaling (廣告訊號) 部分,啟用 Event signaling and messaging (ESAM) (事件訊號和訊息 (ESAM))

  6. 對於 Signal processing notification XML (訊號處理通知 XML),以文字輸入您的 ESAM 訊號 XML 文件。如需範例,請參閱「ESAM XML 訊號處理通知範例」。

    注意

    根據預設,MediaConvert 會將四秒前導新增至 ESAM 承載。這可能會導致 MediaConvert 將 SCTE-35 訊息放置在早於 HLS 資訊清單中提示標記指定的區段。若要移除前導,請將 responseSignalPreroll設為零。此設定是 EsamSettings 的子項。

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

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

    如需範例,請參閱「ESAM XML 資訊清單確認條件通知範例」。

  8. 對於您想要 SCTE-35 標記的每個 MPEG2-TS 輸出,啟用標記:

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

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

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

    4. 針對 ESAM SCTE-35,選擇 Enabled (已啟用)

    5. 對於 SCTE-35 source (SCTE-35 來源),保留預設的 None (無)

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

    如果要使用 ESAM 插入點來調節 HLS 資訊清單,請依照在 HLS 資訊清單中包含 SCTE-35 資訊中的程序進行。否則,請依照以下步驟,以確認下列設定仍處於其預設狀態:

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

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

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

      2. Apple HLS group settings (Apple HLS 群組設定) 部分,選擇 Advanced (進階)

      3. Ad markers (廣告標記) 部分,清除 ElementalSCTE-35 enhanced (SCTE-35 增強型) 核取方塊。

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

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

      2. Output settings (輸出設定) 部分,選擇 Transport stream settings (傳輸串流設定)

      3. 針對 SCTE-35 source (SCTE-35 來源) 選擇 None (無)

在任務設定中包含 ESAM XML 文件 (API、SDK AWS CLI)
  1. 在 JSON 任務規格的任務設定根目錄中,包含 esam 屬性及其子項。這些屬性如以下範例所示。

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

    2. 或者,在設定 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 ... " }
  2. 對於任務中的每個 M2TS (MPEG2 傳輸串流) 輸出,如以下範例所示,設定 JSON 任務規格。包含屬性 scte35Esam。將 scte35Source 設定為 NONE

    "outputs": [ { "extension": "m2ts", "containerSettings": { "container": "M2TS", "m2tsSettings": { ... "scte35Esam": { "scte35EsamPid": 508 }, ... "scte35Source": "NONE" }
  3. 如果要使用 SCTE-35 資訊來調節 HLS 資訊清單,請為任務中的每個 Apple HLS 輸出群組包含以下內容。這些設定顯示在此步驟結尾的範例中:

    如果您不想使用 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" }
  4. 照常提交您的任務。

    如需以程式設計方式提交 AWS Elemental MediaConvert 任務的資訊,請參閱AWS Elemental MediaConvert 開始使用 AWS SDKs或 AWS CLIAWS Elemental MediaConvert 開始使用 API