本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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 文件 (主控台)
- 
                
在 https://https://console.aws.amazon.com/mediaconvert
開啟 MediaConvert 主控台。  - 
                
選擇 Create new job (建立新任務)。
 - 
                
如 教學課程:設定任務設定 和 建立輸出 中的說明,為視訊與音訊設定您的輸入、輸出群組及輸出。
 - 
                
在左側 Job (任務) 窗格的 Job settings (任務設定) 部分中,選擇 Settings (設定)。
 - 
                
在 Ad signaling (廣告訊號) 部分,啟用 Event signaling and messaging (ESAM) (事件訊號和訊息 (ESAM))。
 - 
                
對於 Signal processing notification XML (訊號處理通知 XML),以文字輸入您的 ESAM 訊號 XML 文件。如需範例,請參閱「ESAM XML 訊號處理通知範例」。
注意
根據預設,MediaConvert 會將四秒前導新增至 ESAM 承載。這可能會導致 MediaConvert 將 SCTE-35 訊息放置在早於 HLS 資訊清單中提示標記指定的區段。若要移除前導,請將
responseSignalPreroll設為零。此設定是 EsamSettings 的子項。 - 
                
如果您想要在 HLS 資訊清單中包含 SCTE-35 標記的相關資訊,請在資訊清單確認條件通知 XML 中,以文字形式輸入您的 ESAM 資訊清單條件式 XML 文件。MediaConvert 不會在 DASH 資訊清單中包含 SCTE-35 標記的相關資訊。
若要除了資訊清單之外,還在傳輸串流中插入 SCTE-35 標記,請將 MCC 文件中的
dataPassThrough屬性設定為"true"。如果您不想要傳輸串流中的標記,請移除dataPassThrough屬性。如需範例,請參閱「ESAM XML 資訊清單確認條件通知範例」。
 - 
                
對於您想要 SCTE-35 標記的每個 MPEG2-TS 輸出,啟用標記:
- 
                        
在左側 Job (任務) 窗格的 Output groups (輸出群組)、File group (檔案群組) 下方,選擇輸出。
 - 
                        
確認它是 MPEG2-TS 輸出。在 Output settings (輸出設定) 部分,確保 Container (容器) 設為 MPEG-2 Transport Stream (MPEG-2 傳輸串流)。
 - 
                        
選擇 Container settings (容器設定),然後捲動以找到 PID controls (PID 控制) 部分。
 - 
                        
針對 ESAM SCTE-35,選擇 Enabled (已啟用)。
 - 
                        
對於 SCTE-35 source (SCTE-35 來源),保留預設的 None (無)。
 
 - 
                        
 - 
                
請僅針對任務中的任何 Apple HLS 輸出群組執行此步驟。
如果要使用 ESAM 插入點來調節 HLS 資訊清單,請依照在 HLS 資訊清單中包含 SCTE-35 資訊中的程序進行。否則,請依照以下步驟,以確認下列設定仍處於其預設狀態:
- 
                        
確保 Manifest confirm condition notification XML (資訊清單確認條件通知 XML) (在此過程的前一步驟中討論過) 為空。
 - 
                        
對於任務每個 Apple HLS 輸出群組,請確認 Ad Markers (廣告標記) 保持為未核取。
- 
                                
從左側 Job (任務) 窗格的 Output groups (輸出群組) 下方,選擇 Apple HLS。
 - 
                                
在 Apple HLS group settings (Apple HLS 群組設定) 部分,選擇 Advanced (進階)。
 - 
                                
在 Ad markers (廣告標記) 部分,清除 Elemental 和 SCTE-35 enhanced (SCTE-35 增強型) 核取方塊。
 
 - 
                                
 - 
                        
對於 Apple HLS 輸出群組的每個輸出,確認 SCTE-35 source (SCTE-35 來源) 設定為 None (無):
- 
                                
從左側 Job (任務) 窗格的 Output groups (輸出群組)、Apple HLS 下方,選擇輸出。
 - 
                                
在 Output settings (輸出設定) 部分,選擇 Transport stream settings (傳輸串流設定)。
 - 
                                
針對 SCTE-35 source (SCTE-35 來源) 選擇 None (無)。
 
 - 
                                
 
 - 
                        
 
在任務設定中包含 ESAM XML 文件 (API、SDK AWS CLI)
- 
                
在 JSON 任務規格的任務設定根目錄中,包含
esam屬性及其子項。這些屬性如以下範例所示。- 
                        
在設定
sccXml中包含 ESAM 訊號處理 XML 規格做為字串。 - 
                        
或者,在設定
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 ... " } - 
                        
 - 
                
對於任務中的每個 M2TS (MPEG2 傳輸串流) 輸出,如以下範例所示,設定 JSON 任務規格。包含屬性
scte35Esam。將scte35Source設定為NONE。"outputs": [ { "extension": "m2ts", "containerSettings": { "container": "M2TS", "m2tsSettings": { ... "scte35Esam": { "scte35EsamPid": 508 }, ... "scte35Source": "NONE" } - 
                
如果要使用 SCTE-35 資訊來調節 HLS 資訊清單,請為任務中的每個 Apple HLS 輸出群組包含以下內容。這些設定顯示在此步驟結尾的範例中:
- 
                        
將
scte35Source設定為PASSTHROUGH。 - 
                        
包含
adMarkers並以陣列列出ELEMENTAL_SCTE35或ELEMENTAL其中一個或兩者。如需選取了每個設定而建立的範例資訊清單,請參閱範例資訊清單:元素廣告標記和範例資訊清單:SCTE-35 增強型廣告標記。
 
如果您不想使用 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" } - 
                        
 - 
                
照常提交您的任務。
如需以程式設計方式提交 AWS Elemental MediaConvert 任務的資訊,請參閱AWS Elemental MediaConvert 開始使用 AWS SDKs或 AWS CLI和AWS Elemental MediaConvert 開始使用 API。