使用 ESAM XML 指定 SCTE-35 标记 - MediaConvert
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 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 文档包含在任务设置中(控制台)
  1. 打开 MediaConvert 控制台,网址为 https://console.aws.amazon.com/mediaconvert

  2. 选择 Create new job (创建新任务)。

  3. 为视频和音频设置输入、输出组和输出,如在 MediaConvert 中配置作业创建输出中所述。

  4. 在左侧的 Job (任务) 窗格中的 Job settings (任务设置) 部分中,选择 Settings (设置)

  5. Ad signaling (广告信号) 部分中,启用 Event signaling and messaging (ESAM) (事件信令和消息收发 (ESAM))

  6. 对于 Signal processing notification XML (信号处理通知 XML),请以文本形式输入 ESAM 信号 XML 文档。有关示例,请参阅示例 ESAM XML 信号处理通知

    注意

    默认情况下, MediaConvert 会向 ESAM 有效载荷添加四秒的预滚动。这可能会导致 SCTE-35 消息的 MediaConvert 放置时间比 HLS 清单中指定的提示标记早一段。要移除预卷,请将 responseSignalPreroll 设置为零。此设置是的子设置EsamSettings

  7. 如果您希望将有关 SCTE-35 标记的信息包含在 HLS 清单中,对于 清单确认条件通知 XML,请以文本形式输入 ESAM 清单条件 XML 文档。 MediaConvert 不在你的 DASH 清单中包含有关你的 SCTE-35 标记的信息。

    要在除清单之外在传输流中插入 SCTE-35 标记,请将 MCC 文档中的dataPassThrough属性设置为。"true"如果您不想在传输流中使用标记,请移除这些 dataPassThrough 属性。

    有关示例,请参阅示例 ESAM XML 清单确认条件通知

  8. 对于您希望 SCTE-35 标记所在的每个 MPEG2-TS 输出,请启用标记:

    1. 在左侧的 Job (任务) 窗格中,在 Output groups (输出组)File group (文件组) 下,选择输出。

    2. 确认它是 MPEG2-TS 输出。在 Output settings (输出设置) 部分中,请确保 Container (容器) 设置为 MPEG-2 Transport Stream (MPEG-2 传输流)

    3. 选择 Container settings (容器设置),然后向下滚动以查找 PID controls (PID 控件) 部分。

    4. 对于 ESAM SCTE-35,选择 Enabled (已启用)

    5. 对于 SCTE-35 source (SCTE-35 源),保留默认值 None (无)

  9. 仅对任务中的任何 Apple HLS 输出组执行此步骤。

    如果您要使用 ESAM 插入点限制 HLS 清单,请按照在您的 HLS 清单中包含 SCTE-35 信息中的过程操作。否则,请执行以下步骤来确认以下设置仍处于其默认状态:

    1. 请确保 Manifest confirm condition notification XML (清单确认条件通知 XML)(已在此过程的上一步中讨论)为空。

    2. 对于您的任务中的每个 Apple HLS 输出组,请确认您已将 Ad Markers (广告标记) 保持未选中状态。

      1. 在左侧的 Job (任务) 窗格中,在 Output groups (输出组) 下,选择 Apple HLS

      2. Apple HLS group settings (Apple HLS 组设置) 部分中,选择 Advanced (高级)

      3. Ad markers (广告标记) 部分中,清除 ElementalSCTE-35 enhanced (SCTE-35 增强) 复选框。

    3. 对于 Apple HLS 输出组中的每个输出,请确认 SCTE-35 source (SCTE-35 源) 设置为 None (无)

      1. 在左侧的 Job (任务) 窗格中,在 Output groups (输出组)Apple HLS 下,选择输出。

      2. Output settings (输出设置) 部分中,选择 Transport stream settings (传输流设置)

      3. 对于 SCTE-35 source (SCTE-35 源),选择 None (无)

在作业设置中包含 ESAM XML 文档(API、SDK 等 Amazon CLI)
  1. 将任务设置的根处的 esam 属性及其子属性包含在 JSON 任务规范中。以下示例显示了这些属性。

    1. 以字符串形式将 ESAM 信号处理 XML 规范包含在设置 sccXml 中。

    2. (可选)以字符串形式将清单确认条件 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 ... " }
  2. 对于任务中的每个 M2TS(MPEG2 传输流)输出,设置 JSON 任务规范,如以下示例所示。包含属性 scte35Esam。将 scte35Source 设置为 NONE

    "outputs": [ { "extension": "m2ts", "containerSettings": { "container": "M2TS", "m2tsSettings": { ... "scte35Esam": { "scte35EsamPid": 508 }, ... "scte35Source": "NONE" }
  3. 如果您要使用 SCTE-35 信息限制 HLS 清单,则对于任务中的每个 Apple HLS 输出组,包含以下内容。这些设置显示在此步骤结尾的示例中:

    如果您不想使用 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" }
  4. 像往常一样提交任务。

    有关以编程方式提交 AWS Elemental MediaConvert 任务的信息,请参阅使用软件Amazon 开发工具包开始使用 AWS Elemental 或 MediaConvert 使用 API Amazon CLI开始使用 AWS Elemental MediaConvert