セッション変数の使用 - AWS Elemental MediaTailor

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

セッション変数の使用

セッションデータを Ad Decision Server (ADS) AWS Elemental MediaTailor に送信するように設定するには、テンプレート ADS URL で、このセクションに記載されている変数を 1 つ以上指定します。個々の変数を使用することも、複数の変数を連結して 1 つの値を作成することもできます。 MediaTailor いくつかの値を生成し、残りはマニフェストやプレイヤーのセッション初期化リクエストなどのソースから取得します。

次の表では、テンプレート ADS リクエスト URL 設定で使用できるセッションデータ変数について説明しています。表に記載されているセクション番号は、ケーブル通信技術者協会 (SCTE) -35 仕様の 2019a 版「ケーブル用デジタルプログラム挿入キューメッセージ」に対応しています。広告プリフェッチの詳細については、を参照してください。広告のプリフェッチ

名前 広告プリフェッチに使用できます。 SCTE-35 仕様セクション [Description] (説明)
[avail.index] Yes インデックス内の広告の位置を表す数値。再生セッションの開始時に、 MediaTailor マニフェストで表示されるすべての広告のインデックスを作成し、そのインデックスを残りのセッションのインデックスを保存します。ADS MediaTailor に広告枠を埋めるようにリクエストすると、広告の利用可能時間インデックス番号が含まれます。このパラメータにより、ADS は、競合相手の除外や頻度の上限設定などの機能を使用して広告の選択を改良できます。
[avail.random] Yes ADS MediaTailor へのリクエストごとに生成される、0 から 10,000,000,000 までの乱数(長い数値)。競合する会社から広告を切り離すなどの機能を有効にするために、このパラメータを使用する広告サーバーもあります。
[scte.archive_allowed_flag] Yes 10.3.3.1 オプションの Boolean 値。この値が 0 の場合、セグメントに記録制限が適用されます。この値が 1 の場合、セグメントには記録制限は適用されません。
[scte.avail_num] Yes 9.7.2.1 SCTE-35 MediaTailor avail_num フィールドから解析された値。長い数値です。 MediaTailor この値を使用して、線形の数値と使用可能な数値を指定できます。
[scte.avails_expected] Yes 9,7.2.1 現在のイベント内で予想される使用可能数を示すオプションの長整数値。
[scte.delivery_not_restricted_flag] Yes 10.3.3.1 オプションの Boolean 値。この値が 0 の場合、次の 5 ビットは予約されます。この値が 1 の場合、次の 5 ビットは SCTE-35 仕様で説明されている意味を引き継ぎます。
[scte.device_restrictions] Yes 10.3.3.1 あらかじめ定義された、独立した、階層化されていない 3 つのデバイスグループを示すオプションの整数値。この変数の詳細については、SCTE-35 仕様の segments_expectedの説明を参照してください
[scte.event_id]
Yes 9.1 と 9.7.2.1 SCTE-35 MediaTailor splice_event_id フィールドから解析された値。長い数値です。 MediaTailor この値を使用して、線形広告アベイラビリティ番号を指定したり、広告ポッドの位置などの広告サーバーのクエリ文字列を入力します。
[scte.no_regional_blackout_flag] Yes 10.3.3.1 オプションの Boolean 値。この値が 0 の場合、セグメントには地域のブラックアウト制限が適用されます。この値が 1 の場合、地域別のブラックアウト制限はセグメントに適用されません。
[scte.segment_num] Yes 10.3.3.1 セグメントのコレクション内のセグメントに番号を付けるオプションの整数値。この変数の詳細については、SCTE-35 仕様の segment_num の説明を参照してください。
[scte.segmentation_event_id] Yes 10.3.3.1 MediaTailor この変数はとして公開されます。scte.event_id
[scte.segmentation_type_id] Yes 10.3.3.1 セグメンテーションタイプを指定するオプションの 8 ビット整数値。この変数の詳細については、SCTE-35 仕様の segmentation_type_id の説明を参照してください。
[scte.segmentation_upid]

segmentation_upid_type: はい

private_data: はい

segmentation_upid: 10.3.3.1

マネージドプライベート UPID: 10.3.3.3

SCTE-35 エレメントに対応しています。segmentation_upidsegmentation_upid 要素には、segmentation_upid_typesegmentation_upid_length が含まれます。

MediaTailor segmentation_upid以下のタイプをサポートします。

  • ADS 情報 (0x0e) - 広告情報。詳細については、SCTE-35 仕様の segmentation_upid の説明を参照してください

  • マネージドプライベート UPID (0x0C)-SCTE-35 仕様で定義されているマネージドプライベート UPID (MPU) 構造。 MediaTailor バイナリまたは DASH XML SCTE 表現をサポートします。

    この構造は podbuster ワークフローで使用できます。使用するには、32 ビット (4 バイト) の format_identifier を指定し、private_data 属性に以下のパラメータを含めます。

    ABCD{"assetId":"my_program","cueData":{"cueType":"theAdType","key":"pb","value":"123456"}}

    MediaTailor 先行する JSON の値を解析し、、、動的変数に渡しますscte.segmentation_upid.assetIdscte.segmentation_upid.cueData.key scte.segmentation_upid.cueData.value

  • ユーザー定義 (0x01) - ユーザー定義の構造。詳細については、SCTE-35 仕様の segmentation_upid の説明を参照してください。

[scte.segmentation_upid.assetId] Yes Podbuster ワークフローのマネージドプライベート UPID (0xC) と組み合わせて使用します。segmentation_ upid_type MediaTailorこの値は MPU の JSON assetId 構造内のパラメーターから導出されます。private_data詳細については、「Managed Private UPID JSON structure for a podbuster workflow」を参照してください。
[scte.segmentation_upid.cueData.key] Yes Podbuster ワークフローのマネージドプライベート UPID (0xC) と組み合わせて使用されます。segmentation_ upid_type MediaTailorこの値は MPU の JSON cueData.key 構造内のパラメーターから導出されます。private_data詳細については、「Managed Private UPID JSON structure for a podbuster workflow」を参照してください。
[scte.segmentation_upid.cueData.value] Yes Podbuster ワークフローのマネージドプライベート UPID (0xC) と組み合わせて使用されます。segmentation_ upid_type MediaTailorこの値は MPU の JSON cueData.key 構造内のパラメーターから導出されます。private_data詳細については、「Managed Private UPID JSON structure for a podbuster workflow」を参照してください。
[scte.segments_expected] Yes 10.3.3.1 セグメントコレクション内の個々のセグメントの予想数を示すオプションの整数値。この変数の詳細については、SCTE-35 仕様の segments_expectedの説明を参照してください
[scte.sub_segment_num] Yes 10.3.3.1 サブセグメントのコレクション内の特定のサブセグメントを識別するオプションの整数値。この変数の詳細については、SCTE-35 仕様の sub_segment_num の説明を参照してください
[scte.sub_segments_expected] Yes 10.3.3.1 サブセグメントのコレクション内の個々のサブセグメントの予想数を示すオプションの整数値。この変数の詳細については、SCTE-35 仕様の sub_segments_expectedの説明を参照してください
[scte.unique_program_id] Yes 9.7.2.1 SCTE-35 MediaTailor フィールドから解析された整数値。splice_insert unique_program_idADS は、一意のプログラムID (UPID) を使用して、ライブリニアストリームにプログラムレベルの広告ターゲティングを提供します。SCTE-35コマンドがスプライスインサートでない場合は、 MediaTailor これを空の値に設定します。
[session.avail_duration_ms] Yes

広告アベイラビリティスロットの持続時間 (ミリ秒単位)。デフォルト値は 300,000 ミリ秒です。AWS Elemental MediaTailor は以下のように入力マニフェストから再生時間値を取得します。

  • HLS の場合は、 MediaTailor #EXT-X-CUE-OUT: DURATIONタグ内の値または値から期間を取得します。#EXT-X-DATERANGE入力マニフェストのタグ内の広告の有効期間が NULL、無効、または 0 の場合は、 MediaTailor デフォルトが使用されます。

  • DASH の場合、イベント期間が指定されていれば、 MediaTailor その期間から期間値を取得します。指定されていない場合は、デフォルト値を使用します。

[session.avail_duration_secs] Yes 広告の利用可能スロット、つまり広告が利用可能になるまでの時間(秒単位)を、最も近い秒数に四捨五入したものです。 MediaTailor この値は、決定と同じ方法で決定されます。[session.avail_duration_ms]
[session.client_ip] No MediaTailor リクエストの送信元のリモート IP アドレス。X-forwarded-for ヘッダーが設定されている場合、その値は MediaTailor が client_ip に使用するものです。
[session.id] No 現在の再生セッションの一意の数値識別子。プレイヤーがセッションに対して行うリクエストにはすべて同じ ID が割り当てられるため、その ID は同一の視聴に対するリクエストを関連付けるための ADS フィールドに使用できます。
[session.referer] No 通常は、ビデオプレーヤーをホストしているページの URL です。 MediaTailor この変数を、Refererプレーヤーがリクエストに使用したヘッダーの値に設定します MediaTailor。プレーヤーからこのヘッダーを渡されない場合、 MediaTailor は [session.referer] を空のままにします。マニフェストエンドポイントの前にコンテンツ配信ネットワーク (CDN) またはプロキシを使用していて、この変数を表示したい場合は、プレーヤーからの正しいヘッダーをここにプロキシしてください。
[session.user_agent] No User-Agent MediaTailor プレーヤーのセッション初期化リクエストから受け取ったヘッダー。マニフェストエンドポイントの前で CDN またはプロキシを使用している場合は、ここでプレイヤーからの正しいヘッダーをプロキシする必要があります。
[session.uuid] No

の代替。[session.id]これは、以下のような現在の再生セッションの一意の識別子です。

e039fd39-09f0-46b2-aca9-9871cc116cde

ADS で一意のセッション識別子を付けて渡される deviceSession というクエリパラメータが必要な場合、AWS Elemental MediaTailor のテンプレート ADS URL は以下のようになります。

https://my.ads.server.com/path?deviceSession=[session.id]

AWS Elemental MediaTailor は各ストリームに固有の ID を自動的に生成し、session.id の代わりにその ID を入力します。ID がの場合1234567、ADS への最後のリクエストは次のようになります。 MediaTailor

https://my.ads.server.com/path?deviceSession=1234567

ADS に複数のクエリパラメータを渡す必要がある場合、ADS のテンプレート URL AWS Elemental MediaTailor は次のようになります。

https://my.ads.server.com/sample?e=[scte.avails_expected]&f=[scte.segment_num]&g=[scte.segments_expected]&h=[scte.sub_segment_num]&j=[scte.sub_segments_expected]&k=[scte.segmentation_type_id]

次の DASH マーカーのサンプル XML フラグメントは、使用方法を示しています。scte35:SpliceInsert

<Period start="PT444806.040S" id="123456" duration="PT15.000S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="1350000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="180832" tier="4095"> <scte35:SpliceInsert spliceEventId="1234567890" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1"> <scte35:Program><scte35:SpliceTime ptsTime="5672624400"/></scte35:Program> <scte35:BreakDuration autoReturn="true" duration="1350000"/> </scte35:SpliceInsert> </scte35:SpliceInfoSection>

次の DASH マーカーのサンプル XML フラグメントは、使用方法を示しています。scte35:TimeSignal

<Period start="PT346530.250S" id="123456" duration="PT61.561S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="5310000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183003" tier="4095"> <scte35:TimeSignal> <scte35:SpliceTime ptsTime="3442857000"/> </scte35:TimeSignal> <scte35:SegmentationDescriptor segmentationEventId="1234567" segmentationEventCancelIndicator="false" segmentationDuration="8100000" segmentationTypeId="52" segmentNum="0" segmentsExpected="0"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="false" noRegionalBlackoutFlag="false" archiveAllowedFlag="false" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="12" segmentationUpidLength="2">0100</scte35:SegmentationUpid> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event>

次の DASH マーカーのサンプル XML フラグメントは、使用方法を示しています。scte35:Binary

<Period start="PT444806.040S" id="123456" duration="PT15.000S"> <EventStream schemeIdUri="urn:scte:scte35:2014:xml+bin" timescale="1"> <Event presentationTime="1541436240" duration="24" id="29"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>/DAhAAAAAAAAAP/wEAUAAAHAf+9/fgAg9YDAAAAAAAA25aoh</Binary> </scte35:Signal> </Event> <Event presentationTime="1541436360" duration="24" id="30"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>QW5vdGhlciB0ZXN0IHN0cmluZyBmb3IgZW5jb2RpbmcgdG8gQmFzZTY0IGVuY29kZWQgYmluYXJ5Lg==</Binary> </scte35:Signal> </Event>

次の HLS タグの例は使用方法を示しています。EXT-X-DATERANGE

#EXT-X-DATERANGE:ID="splice-6FFFFFF0",START-DATE="2014-03-05T11: 15:00Z",PLANNED-DURATION=59.993,SCTE35-OUT=0xFC002F0000000000FF0 00014056FFFFFF000E011622DCAFF000052636200000000000A0008029896F50 000008700000000

次の HLS タグ例は使用方法を示しています。EXT-X-CUE-OUT

#EXT-OATCLS-SCTE35:/DA0AAAAAAAAAAAABQb+ADAQ6QAeAhxDVUVJQAAAO3/PAAEUrEoICAAAAAAg+2UBNAAANvrtoQ== #EXT-X-ASSET:CAID=0x0000000020FB6501 #EXT-X-CUE-OUT:201.467

次の HLS タグ例は使用方法を示しています。EXT-X-SPLICEPOINT-SCTE35

#EXT-X-SPLICEPOINT-SCTE35:/DA9AAAAAAAAAP/wBQb+uYbZqwAnAiVDVUVJAAAKqX//AAEjW4AMEU1EU05CMDAxMTMyMjE5M19ONAAAmXz5JA==

次の例は、scte35:Binary decode の使用方法を示しています。

{ "table_id": 252, "section_syntax_indicator": false, "private_indicator": false, "section_length": 33, "protocol_version": 0, "encrypted_packet": false, "encryption_algorithm": 0, "pts_adjustment": 0, "cw_index": 0, "tier": "0xFFF", "splice_command_length": 16, "splice_command_type": 5, "splice_command": { "splice_event_id": 448, "splice_event_cancel_indicator": false, "out_of_network_indicator": true, "program_splice_flag": true, "duration_flag": true, "splice_immediate_flag": false, "utc_splice_time": { "time_specified_flag": false, "pts_time": null }, "component_count": 0, "components": null, "break_duration": { "auto_return": false, "duration": { "pts_time": 2160000, "wall_clock_seconds": 24.0, "wall_clock_time": "00:00:24:00000" } }, "unique_program_id": 49152, "avail_num": 0, "avails_expected": 0 "segment_num": 0, "segments_expected": 0, "sub_segment_num": 0, "sub_segments_expected": 0 }, "splice_descriptor_loop_length": 0, "splice_descriptors": null, "Scte35Exception": { "parse_status": "SCTE-35 cue parsing completed with 0 errors.", "error_messages": [], "table_id": 252, "splice_command_type": 5 } }