本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SCTE-35 条广告中断消息
使用 MediaTailor,您可以根据来源位置和VOD源资源创建内容频道。然后,您可以根据频道的时间表为每个节目设置一个或多个广告时段。您可以使用基于 SCTE -35 规范的消息来限制内容是否有广告插播时间。例如,您可以使用 SCTE -35 条消息来提供有关广告插播时间的元数据。有关 SCTE -35 规范的更多信息,请参阅数字节目插入提示消息。
您可以通过以下两种方式之一来设置广告插播时间:
-
在消息中附
time_signal
SCTE上一条 -35 消息。segmentation_descriptor
此segmentation_descriptor
消息包含更高级的元数据字段,例如内容标识符,用于传达有关广告插播时间的更多信息。 MediaTailor 将广告元数据作为EXT-X-DATERANGE
(HLS) 或EventStream
(DASH) 广告标记的 SCTE -35 数据的一部分写入输出清单。 -
附上一条
splice_insert
SCTE -35 消息,提供有关广告插播时间的基本元数据。 -
HLS:
-
当广告标记类型为时
Daterange
,在清单中将广告插播EXT-X-DATERANGE
时间 MediaTailor 指定为标签。 -
当广告标记类型为时
Scte35 Enhanced
,使用以下标签 MediaTailor 指定广告插播时间:-
MediaTailor
EXT-X-CUE-OUT
在广告板的第一部分放置一个,表示从内容到广告插播时间已被切断。它包含广告插播的预期持续时间,例如EXT-X-CUE-OUT:Duration=30
。 -
>EXT-X-ASSET
:此标签与创建或更新程序 AdBreak 时提供的广告插播元数据出现在同一片段上,EXT-X-CUE-OUT
并且包含该广告插播元数据。它总是包含CAID
。 -
EXT-OATCLS-SCTE35
:此标签与 -35 消息出现在同一段中,EXT-X-CUE-OUT
并且包含 -35 消息的 base64 编码字节。SCTE -
EXT-X-CUE-OUT-CONT
:此标签显示在广告列表中的每个后续细分中,并包含持续时间和经过的时间信息。它还包含 base64 编码的 SCTE -35 消息,以及.CAID
-
EXT-X-CUE-IN
:广告插播结束后,此标签会显示在第一段内容上,表示从广告插播到内容的剪辑。
-
-
下图显示了使用 SCTE -35 条消息在频道中设置广告时段的两种方法:
-
使用
splice_insert()
消息设置带有基本元数据的广告时段。 -
将消息与
time_signal()
消息结合使用,设置带有更详细元数据的广告时段。segmentation_descriptor()
![使用 SCTE -35 条消息在频道中设置广告时段的两种方法。](images/scte-35-splice-insert-vs-time-signal-segmentation-descriptor.png)
有关使用的信息time_signal
,请参阅 2022 SCTE -35 规范第 9.7.4 节 “数字节目插入提示
广告插播信息显示在输出 splice_info_section
SCTE -35 数据中。使用 MediaTailor,您可以将一条segmentation_descriptor
消息与一条time_signal
消息配对。
注意
如果您发送segmentation_descriptor
消息,则必须将其作为time_signal
消息类型的一部分发送。该time_signal
消息仅包含使用给定时间戳 MediaTailor 构造的splice_time
字段。
下表描述了每segmentation_descriptor
条消息 MediaTailor 所需的字段。有关更多信息,请参阅 2022 SCTE -35 规范第 10.3.3.1 节,您可以在网上商店网站上购买该规范。ANSI
字段 | 类型 | 默认值 | 描述 |
---|---|---|---|
segmentation_event_id |
整数 | 1 | 这是写给的segmentation_descriptor.segmentation_event_id 。 |
segmentation_upid_type |
整数 | 14 (0x0E) | 这是写给的segmentation_descriptor.segmentation_upid_type 。该值必须介于 0 和 256 之间(含)。 |
segmentation_upid |
字符串 | "" (空字符串) |
这是写给的segmentation_descriptor.segmentation_upid 。该值必须是包含字符和的十六进制字符串。0-9 A-F |
segmentation_type_id |
整数 | 48 (0x30) | 这是写给的segmentation_descriptor.segmentation_type_id 。该值必须介于 0 和 256 之间(含)。 |
segment_num |
整数 | 0 | 这是写给的segmentation_descriptor.segment_num 。该值必须介于 0 和 256 之间(含)。 |
segments_expected |
整数 | 0 | 这是写给的segmentation_descriptor.segments_expected 。该值必须介于 0 和 256 之间(含)。 |
sub_segment_num |
整数 | null |
这是写给的segmentation_descriptor.sub_segment_num 。该值必须介于 0 和 256 之间(含)。 |
sub_segments_expected |
整数 | null |
这是写给的segmentation_descriptor.sub_segments_expected 。该值必须介于 0 和 256 之间(含)。 |
下表显示了为segmentation_descriptor
消息的某些字段 MediaTailor 自动设置的值。
字段 | 类型 | 值 |
---|---|---|
segmentation_event_cancel_indicator |
布尔值 | True |
program_segmentation_flag |
布尔值 | True |
delivery_not_restricted_flag |
布尔值 | True |
MediaTailor 始终将设置segmentation_duration_flag
为True
。 MediaTailor用状态内容的持续时间(以刻度为单位)填充该segmentation_duration
字段。
注意
MediaTailor 发送time_signal
消息时,它将splice_info_section
消息中的splice_command_type
字段设置为 6 (0x06)。
在HLS输出中,对于AdBreak
带有time_signal
消息的,输出EXT-X-DATERANGE
标签包括一个设置为splice_info_section
消息序列化版本的SCTE-35
字段。例如,以下EXT-X-DATERANGE
标签显示splice_info_section
消息的序列化版本:
#EXT-X-DATERANGE:ID=\"1\",START-DATE=\"2020-09-25T02:13:20Z\",DURATION=300.0,SCTE35-OUT=0xFC002C00000000000000FFF00506800000000000160214435545490000000100E000019BFCC00E0030000000000000
在DASH输出中,对于AdBreak
带有time_signal
消息的,输出EventStream
元素包括一个以scte35:TimeSignal
和scte35:SpliceInfoSection
元素为子scte35:SegmentationDescriptor
元素的元素。该scte35:TimeSignal
元素有一个子scte35:SpliceTime
元素,而该scte35:SegmentationDescriptor
元素有一个子scte35:SegmentationUpid
元素。例如,以下DASH输出显示了EventStream
元素的子元素结构:
<EventStream schemeIdUri="urn:scte:scte35:2013:xml" timescale="90000"> <Event duration="27000000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="0" tier="4095"> <scte35:TimeSignal> <scte35:SpliceTime ptsTime="0" /> </scte35:TimeSignal> <scte35:SegmentationDescriptor segmentNum="0" segmentationDuration="27000000" segmentationEventCancelIndicator="false" segmentationEventId="1" segmentationTypeId="48" segmentsExpected="0"> <scte35:SegmentationUpid segmentationUpidFormat="hexBinary" segmentationUpidType="14">012345</scte35:SegmentationUpid> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event> </EventStream>
您学习了如何使用 SCTE -35 条消息在频道集合中设置广告时段、这些消息的结构和必填字段,以及包含 SCTE -35 条消息的示例HLS和DASH输出。