本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 ESAM XML 指定 SCTE-35 标记
如果您的输入视频不包含 SCTE-35 标记,但您需要在输出中指定广告插入点,则可以在 AWS Elemental MediaConvert 任务设置中提供事件信号和管理 (ESAM) XML 文档。执行此操作时, MediaConvert在文档中指定的插入点处使用 IDR(即时解码器刷新)帧来调整输出。在同样封装在 MPEG2-TS 和 HLS 容器中的输出中,在这些位置 MediaConvert 插入 SCTE-35 time_signal 消息。
对于 Apple HLS 输出组,您也可选择提供用于限制 XML 文档的 HLS 清单。随后,您可以设置任务以相应地限制 HLS 输出的清单。
注意
要将 SCTE-35 标记置于 MPEG2-TS 输出中,除了提供 ESAM XML 文档之外,您还必须在每个输出上启用 ESAM SCTE-35。有关更多信息,请参阅该概述后面的控制台过程。
关于 ESAM 文档中的时间码
在输入剪辑和拼接后,在 XML 文档中指定相对于最终输出时间的插入点。从 00:00:00:00 开始计时,无论您的时间码设置如何。使用以下 24 小时格式和帧号:HH: MM: SS: FF。
例如,一个任务具有以下三个输入:一个 5 分钟的预卷、一个 1 小时的影片和一个 5 分钟的续卷。您可以使用输入剪辑来剪辑调整一小时输入的最后 20 分钟。因此,您的带预卷和续卷的输出的时长为 30 分钟。如果您希望第一个插入点在主要内容中显示三分钟,则应在 8 分钟处指定它 5 分钟预卷后的 3 分钟处。
将 ESAM XML 文档包含在任务设置中(控制台)
-
打开 MediaConvert 控制台,网址为 https://console.aws.amazon.com/mediaconvert
。 -
选择 Create new job (创建新任务)。
-
为视频和音频设置输入、输出组和输出,如在 MediaConvert 中配置作业和创建输出中所述。
-
在左侧的 Job (任务) 窗格中的 Job settings (任务设置) 部分中,选择 Settings (设置)。
-
在 Ad signaling (广告信号) 部分中,启用 Event signaling and messaging (ESAM) (事件信令和消息收发 (ESAM))。
-
对于 Signal processing notification XML (信号处理通知 XML),请以文本形式输入 ESAM 信号 XML 文档。有关示例,请参阅示例 ESAM XML 信号处理通知。
注意
默认情况下, MediaConvert 会向 ESAM 有效载荷添加四秒的预滚动。这可能会导致 SCTE-35 消息的 MediaConvert 放置时间比 HLS 清单中指定的提示标记早一段。要移除预卷,请将
responseSignalPreroll
设置为零。此设置是的子设置EsamSettings。 -
如果您希望将有关 SCTE-35 标记的信息包含在 HLS 清单中,对于 清单确认条件通知 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)
-
将任务设置的根处的
esam
属性及其子属性包含在 JSON 任务规范中。以下示例显示了这些属性。-
以字符串形式将 ESAM 信号处理 XML 规范包含在设置
sccXml
中。 -
(可选)以字符串形式将清单确认条件 XML 通知文档包含在设置
mccXml
中:
"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
。有关使用选定的每个设置创建的示例清单,请参阅示例清单: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 开发工具包开始使用 AWS Elemental 或 MediaConvert 使用 API AWS CLI开始使用 AWS Elemental MediaConvert 。