使用 MediaTailor 中的细分 UPID 令牌提供的值添加 ADS 会话变量的指导原则是什么?

2 分钟阅读
0

我想使用 AWS Elemental MediaTailor 中的细分 UPID 令牌提供的值添加 ADS 会话变量。这样做的指导原则是什么?

简短描述

MediaTailor 可以在 SCTE-35 细分唯一程序 ID (UPID) 中发送特定数据。MediaTailor 解析 UPID 并将令牌作为会话变量发送到广告决策服务器 (ADS)。如果有效负载的格式正确,则可以发送各种私有数据负载。

解决方法

以下是有关细分 UPID 格式要求和细分 UPID 示例的指导原则。该功能适用于 DASH 和HLS。DASH 需要二进制标记才能使用 XML EventStreams。

指导原则

  • 细分 UPID 必须具有以下内容:
    segmentation_upid_type 为 12。
    format_identifier,由任意四个字节组成。
  • MediaTailor 解决方案适用于任何 ADS 平台,并且令牌的数量不是固定的。
  • 解码的 SCTE-35 细分 UPID 可以包含一个或多个冒号分隔符。如果没有冒号分隔符,那么 UPID 将被视为单个值。冒号分隔符允许使用一个或多个值。
  • 模板变量和解码的 UPID 令牌的数量必须相等,如以下示例所示:
    https://domain/ads?sur0=[scte.segmentation_upid.private_data.0]&sur1=[scte.segmentation_upid.private_data.1]
    :46175218:46175218/5
  • 如果 ADS URL 模板变量发现了无效的字符串,例如 https://domain/ads?sur0=&sur1=&sur2=,则默认为空。
  • 限制和格式结构遵循 ANSI/SCTE 35 2019 第 10.3.3.3 节的规范。该规范如下:
SyntaxBitsMnemonic
MPU() {         format_identifier          private_data }32N*8uimsbfuimsbf

format_identifier 是 ISO/IEC 13818-1 中定义并向 SMPTE 注册机构注册的 32 位唯一标识符。

private_data 是由 format_identifier 字段值的注册所有者定义的可变长度、字节对齐的数据集。长度由 segmentation_upid_length 定义,其中包括 format_identifier 字段的长度。

细分 UPID 使用情况示例

SCTE 来源

/DBlAAAAAAAAAP/wFAUAFlNif+//5KMqQ/4AUmXAAAAAAAA9AAhDVUVJAAAAAAIxQ1VFSQAWU2J/wAAAUmXADB15aml0OjQ2MTc1MjE4OjQ2MTc1MjE4LzU6NDA1MwAAAAAAAIu9c38=

已解码的 SCTE

MediaTailor 解析 UPID 并假设前四个字节是 format_identifier。如果缺少 format_identifier,那么 private_data 会截断前四个字节。这可能会导致 ADS 预期值不同的问题。例如,如果 UPID 被写成 123456 而不是 ABCD123456(其中 ABCD 是 format_identifier),那么 MediaTailor 会将 1234 解释为格式标识符,将 UPID 的其余部分解释为 56。这会导致使用 56 而不是 123456 进行 ADS 调用。

"segmentation_upid_type": 12,
                  "segmentation_upid_type_name": "MPU",
                  "segmentation_upid_length": 29,
                  "segmentation_upid": {
                        "format_identifier": "0x796a6974",
                        "private_data": "0x3a34363137353231383a34363137353231382f353a34303533"
                  },

解码后的 UPID(私有数据)

ABCD:46175218:46175218/5:4053

前面的字节(如果存在)是用冒号分隔的 ASCII 编码的 HyLDA (FreeWheel) 字段。

在此示例中,令牌映射到令牌顺序为 :Airing ID:Break ID:Channel ID 的会话变量。然后,令牌被发送到广告服务器 (ADS)。此示例使用 FreeWheel 作为广告服务器。MediaTailor 还可以与其他广告服务器配合使用。

细分 UPID 示例

  • :DS8291:33129DS:SAD123 被视为有效
  • :46175218:46175218/5:4053 被视为有效
  • :46175218::4053 被视为无效,因为使用了双冒号,但中间没有值。
  • :461752@a:46175218/5:4053 被视为有效
  • :: 被视为无效,因为使用的双冒号前面、中间或结尾都没有值。

会话变量示例

_fw_hylda=aiid=[scte.segmentation_upid.private_data.0]&abid=[scte.segmentation_upid.private_data.1]&acid=[scte.segmentation_upid.private_data.2]

_fw_hylda=aiid=46175218&abid=46175218/5&acid=4053

_fw_hylda=aiid%3D46175190%26abid%3D46175190%2F2%26acid%3D4053

相关信息

使用会话变量

AWS 官方
AWS 官方已更新 2 年前