本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DASH 廣告標記
MediaTailor
AWS Elemental MediaTailor 使用以下邏輯,使用 SCTE-35 提示輸出標記來識別 DASH 資訊清單中的廣告時段:
-
多期間 DASH:MediaTailor
TimeSignal會在每個包含SpliceInsert或提示輸出標記Period的第一個Event中插入廣告。MediaTailor 會忽略 中的其他Event標記Period。 -
單一期間 DASH:MediaTailor
TimeSignal會在Event中插入每個包含SpliceInsert或提示輸出標記Period的廣告。
根據預設, 會將 DASH 資訊清單 AWS Elemental MediaTailor 管理為多期間資訊清單。您可以變更您的組態,以處理來自您的原始伺服器的單一期間 DASH 資訊清單。如需相關資訊,請參閱建立 MediaTailor 播放組態。
下列各節提供 DASH 廣告標記處理的其他詳細資訊,並提供來自原始伺服器的裝飾資訊清單。
DASH 原始清單檔案 XML 要求
原始伺服器 DASH 資訊清單中的廣告標記必須正確格式化,MediaTailor 才能識別廣告休息時間。下列主題以清晰的 XML 描述這些格式要求。
SpliceInsert 以清晰的 XML 顯示
SpliceInsert 清晰 XML 中的廣告標記必須包含下列項目:
-
EventStream必須具有下列屬性:schemeIdUri=urn:scte:scte35:2013:xml -
Event必須保留scte35:SpliceInfoSection -
scte35:SpliceInfoSection必須保留scte35:SpliceInsert -
scte35:SpliceInsert必須具有下列屬性:outOfNetworkIndicator="true"
範例 SpliceInsert 以 XML 顯示
在下列範例中,必要的 SCTE 標記以粗體顯示。
<Period start="PT444806.040S" id="123586" duration="PT15.000S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="1350000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="180832" tier="4095"> <scte35:SpliceInsert spliceEventId="4026531855" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1"> <scte35:Program><scte35:SpliceTime ptsTime="5672624400"/></scte35:Program> <scte35:BreakDuration autoReturn="true" duration="1350000"/> </scte35:SpliceInsert> </scte35:SpliceInfoSection> </Event> . . . </Period>
TimeSignal 以清晰的 XML 顯示
TimeSignal 清晰 XML 中的廣告標記必須包含下列項目:
-
EventStream必須具有下列屬性:schemeIdUri=urn:scte:scte35:2013:xml -
Event必須保留scte35:SpliceInfoSection -
scte35:SpliceInfoSection必須保留scte35:TimeSignal -
scte35:SpliceInfoSection也必須保留scte35:SegmentationDescriptor -
scte35:SegmentationDescriptor必須具有下列屬性,其中 值是有效的 Cue-out 號碼:segmentationTypeId="xx"
-
scte35:SegmentationDescriptor必須保留scte35:SegmentationUpid
Cue-out 號碼
以下是 支援的提示號碼segmentationTypeId。
| 分割訊息 | segmentationTypeId 值 | 十六進位值 |
|---|---|---|
| 經銷商公告結束 | 51 | 0x51 |
| 經銷商公告開始 | 50 | 0x32 |
| 經銷商置放機會結束 | 55 | 0x37 |
| 經銷商置放機會開始 | 54 | 0x36 |
| 結束休息時間 | 35 | 0x23 |
| 供應商公告結束 | 49 | 0x31 |
| 供應商公告開始 | 48 | 0x30 |
| 提供者浮水印置放機會結束 | 57 | 0x39 |
| 供應商浮水印置放機會開始 | 56 | 0x38 |
| 提供者置放機會結束 | 53 | 0x35 |
| 供應商置放機會開始 | 52 | 0x34 |
| 開始休息時間 | 34 | 0x22 |
範例 TimeSignal 以 XML 顯示
在下列範例中,必要的 SCTE 標記以粗體顯示。
<Period start="PT346530.250S" id="178443" duration="PT61.561S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="5310000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183003" tier="4095"> <scte35:TimeSignal> <scte35:SpliceTime ptsTime="3442857000"/> </scte35:TimeSignal> <scte35:SegmentationDescriptor segmentationEventId="1414668" segmentationEventCancelIndicator="false" segmentationDuration="8100000" segmentationTypeId="52" segmentNum="0" segmentsExpected="0"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="false" noRegionalBlackoutFlag="false" archiveAllowedFlag="false" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="12" segmentationUpidLength="2">0100</scte35:SegmentationUpid> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event> . . . </Period>
DASH 原始清單檔案 base64 編碼的二進位需求
來源 DASH 資訊清單中的廣告標記必須正確格式化,MediaTailor 才能識別廣告休息時間。下列主題說明 base64 編碼二進位檔中的這些格式需求。
base64 SpliceInsert 編碼資訊清單中的 TimeSignal和 廣告標記都必須包含下列項目:
-
EventStream必須具有下列屬性:urn:scte:scte35:2014:xml+bin -
Event必須保留scte35:Signal -
scte35:Signal必須保留包含 base64 編碼二進位檔scte35:Binary的 。
解碼的二進位檔必須提供splice_info_section與清晰 XML 廣告標記所需的資訊相同的資訊。
-
命令類型必須是
splice_insert()或time_signal() -
其他設定必須符合 TimeSignal 以清晰的 XML 顯示和 中所述的設定SpliceInsert 以清晰的 XML 顯示。
解碼的二進位必須提供 splice_info_section,其具有與 scte35:SpliceInfoSection 元素中 Clear XML 將提供的一組相同資訊。此命令類型必須是 splice_insert() 或 time_signal(),並且其他設定必須遵守前述針對 Clear XML 交付所述的資訊。
以下範例顯示此選項,必要標記以粗體表示。
<Period start="PT444806.040S" id="123586" duration="PT15.000S"> <EventStream schemeIdUri="urn:scte:scte35:2014:xml+bin" timescale="1"> <Event presentationTime="1541436240" duration="24" id="29"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>/DAhAAAAAAAAAP/wEAUAAAHAf+9/fgAg9YDAAAAAAAA25aoh</scte35:Binary> </scte35:Signal> </Event> <Event presentationTime="1541436360" duration="24" id="30"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>QW5vdGhlciB0ZXN0IHN0cmluZyBmb3IgZW5jb2RpbmcgdG8gQmFzZTY0IGVuY29kZWQgYmluYXJ5Lg==</scte35:Binary> </scte35:Signal> </Event> . . . </Period>
以下是前述範例中所列第一個事件解碼的二進位檔。splice_command_type 的設定為 5,這表示 splice_insert。
{ "table_id": 252, "section_syntax_indicator": false, "private_indicator": false, "section_length": 33, "protocol_version": 0, "encrypted_packet": false, "encryption_algorithm": 0, "pts_adjustment": 0, "cw_index": 0, "tier": "0xFFF", "splice_command_length": 16, "splice_command_type": 5, "splice_command": { "splice_event_id": 448, "splice_event_cancel_indicator": false, "out_of_network_indicator": true, "program_splice_flag": true, "duration_flag": true, "splice_immediate_flag": false, "utc_splice_time": { "time_specified_flag": false, "pts_time": null }, "component_count": 0, "components": null, "break_duration": { "auto_return": false, "duration": { "pts_time": 2160000, "wall_clock_seconds": 24.0, "wall_clock_time": "00:00:24:00000" } }, "unique_program_id": 49152, "avail_num": 0, "avails_expected": 0 }, "splice_descriptor_loop_length": 0, "splice_descriptors": null, "Scte35Exception": { "parse_status": "SCTE-35 cue parsing completed with 0 errors.", "error_messages": [], "table_id": 252, "splice_command_type": 5 } }