DASH 广告标记 - AWS Elemental MediaTailor

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

DASH 广告标记

AWS Elemental MediaTailor 通过拼接插入和时间信号广告去除标记识别 DASH 清单中的广告效用,如下所示:

  • 在多周期 DASH 清单中,当其事件流中的第一个 Event 包含拼接插入或时间信号广告去除标记时,Period 将被视为广告效用。在多周期 DASH 中, MediaTailor 忽略一个周期内除第一个事件之外的所有事件。

  • 在单周期 DASH 清单中,当 Event 包含拼接插入或时间信号广告去除标记时,将被视为广告效用。

默认情况下,AWS Elemental MediaTailor 将 DASH 清单作为多周期清单进行管理。您可以更改配置以处理源服务器中的单周期 DASH 清单。有关信息,请参阅 创建配置

您可以使用清除 XML 或 base64 编码的二进制提供广告标记:

清除 XML

事件流 schemeIdUri 必须设置为 urn:scte:scte35:2013:xml,并且此事件必须具有包含以下选项之一的 scte35:SpliceInfoSection 标记:

  • 对于 scte35:SpliceInsert,将 outOfNetworkIndicator 设置为 true

    以下示例显示了此选项,所需标记以粗体显示。

    <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>
  • scte35:TimeSignal 随附 scte35:SegmentationDescriptor scte35:SegmentationUpid,将对于后者的 segmentationTypeId 设置为以下广告去除数之一:

    • 0x22(开始时段)

    • 0x30(提供商广告开始)

    • 0x32(分销商广告开始)

    • 0x34(提供商放置机会开始)

    • 0x36(分销商放置机会开始)

    以下示例显示了此选项,所需标记以粗体显示。此示例中的 segmentationTypeId 设置为 52,相当于 0x34。

    <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>
Base64 编码的二进制

事件流 schemeIdUri 必须设置为 urn:scte:scte35:2014:xml+bin,并且此事件必须具有包含 base64 编码的二进制的 scte35:Signal scte35:Binary。解码后的二进制必须提供 splice_info_section,且其信息集必须与清除 XML 在 scte35:SpliceInfoSection 元素中提供的相同。命令类型必须为 splice_insert()time_signal(),且其他设置必须符合先前针对清除 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</Binary> </scte35:Signal> </Event> <Event presentationTime="1541436360" duration="24" id="30"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>QW5vdGhlciB0ZXN0IHN0cmluZyBmb3IgZW5jb2RpbmcgdG8gQmFzZTY0IGVuY29kZWQgYmluYXJ5Lg==</Binary> </scte35:Signal> </Event>

以下是先前示例中列出的第一个事件的解码二进制。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 } }

对于多时段 DASH 清单,AWS Elemental MediaTailor使用第一个Event表示广告在事件流中的展示位置的清单,它会忽略流中的任何其他Event标记。对于单周期 DASH 清单, MediaTailor 会考虑每个 Event