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 であること。
任意の 4 バイトで構成される、format_identifier。
- MediaTailor ソリューションはどの ADS プラットフォームでも動作し、トークンの数は固定されていません。
- デコードされた SCTE-35 セグメンテーション UPID には、1 つ以上のコロン区切り文字を含めることができます。コロン区切り文字がない場合、UPID は 1 つの値と見なされます。コロン区切り文字によって、1 つ以上の値を使用できます。
- 次の例に示すように、テンプレート変数とデコードされた 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 仕様に準拠しています。この仕様は次のとおりです。
| | |
---|
構文 | ビット | ニーモニック |
MPU() { format_identifier private_data } | 32N*8 | uimsbfuimsbf |
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 を解析し、最初の 4 バイトがformat_identifier であると想定します。format_identifier が見つからない場合、private_data は最初の 4 バイトを切り捨てます。これにより、ADS で異なる値が予期される問題が発生する可能性があります。例えば、UPID が ABCD123456 (ここで ABCD は format_identifier) ではなく 123456 と書き込まれると、MediaTailor は 1234 をフォーマット識別子として、UPID の残りを 56 と解釈します。これにより、ADS コールは 123456 ではなく 56 で発信されます。
"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
関連情報
セッション変数を使う