Verwenden von Sitzungsvariablen - AWS Elemental MediaTailor

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Sitzungsvariablen

Um das Senden von Sitzungsdaten an den Ad Decision Server (ADS) zu konfigurieren AWS Elemental MediaTailor ADSURL, geben Sie in der Vorlage eine oder mehrere der in diesem Abschnitt aufgeführten Variablen an. Sie können einzelne Variablen verwenden und mehrere Variablen zu einem einzigen Wert verketten. MediaTailor generiert einige Werte und bezieht den Rest aus Quellen wie dem Manifest und der Anfrage des Players zur Initialisierung der Sitzung.

In der folgenden Tabelle werden die Sitzungsdatenvariablen beschrieben, die Sie in der Konfiguration Ihrer ADS Vorlagenanforderung URL verwenden können. Die in der Tabelle aufgeführten Abschnittsnummern entsprechen der Version 2019a der Spezifikation -35 der Society of Cable Telecommunications Engineers (SCTE), Digital Program Insertion Cueing Message For Cable. Weitere Informationen zu Ad Prefetch finden Sie unter. Anzeigen vorab abrufen

Name Verfügbar für Ad-Prefetch SCTEAbschnitt mit den Spezifikationen von -35 Beschreibung
[avail.index] Ja Eine Zahl, die die Position einer verfügbaren Anzeige in einem Index angibt. MediaTailor Erstellt zu Beginn einer Wiedergabesitzung einen Index aller verfügbaren Werbeanzeigen in einem Manifest und speichert den Index für den Rest der Sitzung. Wenn eine MediaTailor Anfrage an sie gestellt wirdADS, um die Anzeige auszufüllen, enthält diese die Indexnummer der Anzeigenverfügbarkeit. Dieser Parameter ermöglicht es ihnenADS, die Anzeigenauswahl zu verbessern, indem sie Funktionen wie Wettbewerbsausschluss und Frequenzbegrenzung nutzen.
[avail.random] Ja Eine Zufallszahl zwischen 0 und 10.000.000.000 als lange Zahl, die für jede Anfrage an den MediaTailor generiert wird. ADS Einige Werbe-Server verwenden diesen Parameter, um Funktionen wie z. B. die Trennung der Werbung von Konkurrenzunternehmen zu ermöglichen.
[scte.archive_allowed_flag] Ja 10.3.3.1 Ein optionaler boolescher Wert. Wenn dieser Wert 0 ist, gelten für das Segment Aufzeichnungseinschränkungen. Wenn dieser Wert 1 ist, gelten für das Segment keine Aufnahmeeinschränkungen.
[scte.avail_num] Ja 9.7.2.1 Der Wert, nach dem MediaTailor aus dem Feld SCTE -35 geparst wurdeavail_num, als lange Zahl. MediaTailor Ich kann diesen Wert verwenden, um lineare und verfügbare Zahlen zu bezeichnen.
[scte.avails_expected] Ja 9,7.2.1 Ein optionaler langer Wert, der die erwartete Anzahl von Verfügungen innerhalb des aktuellen Ereignisses angibt.
[scte.delivery_not_restricted_flag] Ja 10.3.3.1 Ein optionaler boolescher Wert. Wenn dieser Wert 0 ist, sind die nächsten fünf Bits reserviert. Wenn dieser Wert 1 ist, nehmen die nächsten fünf Bits die in der SCTE -35-Spezifikation beschriebenen Bedeutungen an.
[scte.device_restrictions] Ja 10.3.3.1 Ein optionaler Ganzzahlwert, der drei vordefinierte, unabhängige und nicht hierarchische Gerätegruppen signalisiert. Weitere Informationen zu dieser Variablen finden Sie in der Beschreibung segments_expected in der -35-Spezifikation. SCTE
[scte.event_id]
Ja 9.1 und 9.7.2.1 Der Wert, nach dem MediaTailor aus dem Feld SCTE -35 geparst wurdesplice_event_id, als lange Zahl. MediaTailor verwendet diesen Wert, um lineare Anzeigenverfügbarkeitsnummern zu kennzeichnen oder um Abfragezeichenfolgen für Anzeigenserver, wie z. B. die Positionen von Anzeigenpods, aufzufüllen.
[scte.no_regional_blackout_flag] Ja 10.3.3.1 Ein optionaler boolescher Wert. Wenn dieser Wert 0 ist, gelten für das Segment regionale Blackout-Einschränkungen. Wenn dieser Wert 1 ist, gelten die regionalen Blackout-Einschränkungen nicht für das Segment.
[scte.segment_num] Ja 10.3.3.1 Ein optionaler Integer-Wert, der Segmente innerhalb einer Sammlung von Segmenten nummeriert. Weitere Informationen zu dieser Variablen finden Sie in der Beschreibung segment_num in der SCTE -35-Spezifikation.
[scte.segmentation_event_id] Ja 10.3.3.1 MediaTailor macht diese Variable verfügbar als. scte.event_id
[scte.segmentation_type_id] Ja 10.3.3.1 Ein optionaler 8-Bit-Ganzzahlwert, der den Segmentierungstyp angibt. Weitere Informationen zu dieser Variablen finden Sie in der Beschreibung segmentation_type_id in der -35-Spezifikation. SCTE
[scte.segmentation_upid]

segmentation_upid_type: Yes

private_data: Yes

segmentation_upid: 10.3.3.1

Privat verwaltet: UPID 10.3.3.3

Entspricht dem Element SCTE segmentation_upid -35. Das segmentation_upid Element enthält segmentation_upid_type undsegmentation_upid_length.

MediaTailor unterstützt die folgenden segmentation_upid Typen:

  • ADSInformation (0x0E) — Werbeinformationen. Weitere Informationen finden Sie in der Beschreibung segmentation_upid in der -35-Spezifikation. SCTE

  • Managed Private UPID (0x0C) — Die Managed Private () -Struktur, wie sie in der UPID -35-Spezifikation MPU definiert ist. SCTE MediaTailor unterstützt Binärdateien oder Repräsentationen. DASH XML SCTE

    Sie können diese Struktur in einem Podbuster-Workflow verwenden. Geben Sie dazu einen 32-Bit-Wert (4 Byte) an und format_identifier nehmen Sie die folgenden Parameter in das private_data Attribut auf:

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

    MediaTailor analysiert die Werte aus dem vorherigen JSON und übergibt sie an die scte.segmentation_upid.cueData.value dynamischen Variablen scte.segmentation_upid.assetIdscte.segmentation_upid.cueData.key, und.

  • Benutzerdefiniert (0x01) — Eine benutzerdefinierte Struktur. Weitere Informationen finden Sie in der Beschreibung segmentation_upid in der -35-Spezifikation. SCTE

[scte.segmentation_upid.assetId] Ja Wird in Verbindung mit Managed Private UPID (0xC) für Podbuster-Workflows verwendet. segmentation_ upid_type MediaTailorleitet diesen Wert aus dem assetId Parameter in der s-Struktur ab. MPU private_data JSON Weitere Informationen finden Sie unter Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.key] Ja Wird in Verbindung mit Managed Private UPID (0xC) segmentation_ upid_type für Podbuster-Workflows verwendet. MediaTailorleitet diesen Wert aus dem cueData.key Parameter in der s-Struktur ab. MPU private_data JSON Weitere Informationen finden Sie unter Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.value] Ja Wird in Verbindung mit Managed Private UPID (0xC) segmentation_ upid_type für Podbuster-Workflows verwendet. MediaTailorleitet diesen Wert aus dem cueData.key Parameter in der s-Struktur ab. MPU private_data JSON Weitere Informationen finden Sie unter Managed Private UPID JSON structure for a podbuster workflow.
[scte.segments_expected] Ja 10.3.3.1 Ein optionaler Integer-Wert, der die erwartete Anzahl einzelner Segmente innerhalb einer Sammlung von Segmenten angibt. Weitere Informationen zu dieser Variablen finden Sie in der Beschreibung segments_expected in der SCTE -35-Spezifikation.
[scte.sub_segment_num] Ja 10.3.3.1 Ein optionaler Ganzzahlwert, der ein bestimmtes Untersegment innerhalb einer Sammlung von Untersegmenten identifiziert. Weitere Informationen zu dieser Variablen finden Sie in der Beschreibung sub_segment_num in der -35-Spezifikation. SCTE
[scte.sub_segments_expected] Ja 10.3.3.1 Ein optionaler Ganzzahlwert, der die erwartete Anzahl einzelner Untersegmente innerhalb einer Sammlung von Untersegmenten angibt. Weitere Informationen zu dieser Variablen finden Sie in der Beschreibung sub_segments_expected in der -35-Spezifikation. SCTE
[scte.unique_program_id] Ja 9.7.2.1 Der Integer-Wert, nach dem MediaTailor aus dem Feld -35 geparst wurde. SCTE splice_insert unique_program_id Der ADS verwendet die eindeutige Programm-ID (UPID), um gezielte Werbung auf Programmebene für lineare Livestreams bereitzustellen. Wenn der Befehl SCTE -35 nicht Splice Insert ist, wird dieser Wert auf einen MediaTailor leeren Wert gesetzt.
[session.avail_duration_ms] Ja

Die Dauer des Zeitfensters für die Anzeigenverfügbarkeit in Millisekunden. Der Standardwert ist 300.000 ms. AWS Elemental MediaTailor erhält den Wert für die Dauer wie folgt aus dem Eingabemanifest:

  • ForHLS: MediaTailor Ruft die Dauer aus den Werten #EXT-X-CUE-OUT: DURATION oder aus den Werten im #EXT-X-DATERANGE Tag ab. Wenn das Eingabemanifest eine Dauer von Null, ungültig oder 0 für die in diesen Tags verfügbare Anzeige hat, wird der Standardwert MediaTailor verwendet.

  • ForDASH: MediaTailor Ruft den Wert für die Dauer aus der Eventdauer ab, sofern eine angegeben wurde. Andernfalls wird der Standardwert verwendet.

  • FürVOD: Wenn ein VOD Stream einen Pre-Roll-Anzeigenaufruf auslöst und das Manifest keine SCTE Nachrichten mit einem Wert für die Dauer enthält, wird MediaTailor keine Dauer für [session.avail_duration_ms] eingegeben, einschließlich des Standardwerts für die Dauer.

[session.avail_duration_secs] Ja Die auf die nächste Sekunde gerundete Dauer des Anzeigenverfügbarkeitsslots oder der Anzeigenverfügbarkeit in Sekunden. MediaTailor bestimmt diesen Wert auf die gleiche Weise, wie er ihn bestimmt[session.avail_duration_ms].
[session.client_ip] Nein Die Remote-IP-Adresse, von der die MediaTailor Anfrage kam. Wenn der X-forwarded-for Header gesetzt ist, wird dieser Wert für MediaTailor verwendetclient_ip.
[session.id] Nein Eine eindeutige numerische Kennung für die aktuelle Wiedergabesitzung. Alle Anfragen, die ein Spieler für eine Sitzung stellt, haben dieselbe ID, sodass sie für ADS Felder verwendet werden kann, die Anfragen für eine einzelne Wiedergabe korrelieren sollen.
[session.referer] Nein Normalerweise die Seite, auf URL der der Videoplayer gehostet wird. MediaTailor setzt diese Variable auf den Wert des Referer Headers, den der Player in seiner Anfrage verwendet hat MediaTailor. Wenn der Spieler diesen Header nicht bereitstellt, MediaTailor lässt [session.referer] er leer. Wenn Sie ein Content Delivery Network (CDN) oder einen Proxy vor dem Manifest-Endpunkt verwenden und möchten, dass diese Variable angezeigt wird, stellen Sie hier den richtigen Header des Players als Proxy bereit.
[session.user_agent] Nein Der User-Agent Header, der von der Sitzungsinitialisierungsanfrage des Players MediaTailor empfangen wurde. Wenn Sie einen CDN OR-Proxy vor dem Manifest-Endpunkt verwenden, müssen Sie hier den richtigen Header des Players als Proxy verwenden.
[session.uuid] Nein

Alternative zu[session.id]. Hierbei handelt es sich um eine eindeutige Kennung für die aktuelle Wiedergabesitzung, wie z. B. im Folgenden:

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

Wenn für ein benannter deviceSession Abfrageparameter mit der eindeutigen Sitzungs-ID übergeben werden muss, AWS Elemental MediaTailor könnte die darin ADS URL enthaltene Vorlage wie folgt aussehen: ADS

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

AWS Elemental MediaTailor generiert automatisch einen eindeutigen Bezeichner für jeden Stream und gibt den Bezeichner anstelle von einsession.id. Wenn die Kennung lautet1234567, ADS würde die letzte Anfrage, die MediaTailor an die gestellt wird, in etwa so aussehen:

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

Wenn für mehrere Abfrageparameter übergeben werden müssen, AWS Elemental MediaTailor könnte die Vorlage ADS URL wie folgt aussehen: ADS

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]

Das folgende DASH XML Marker-Beispielfragment zeigt, wie man es benutztscte35: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>

Das folgende DASH XML Marker-Beispielfragment zeigt, wie man es benutztscte35: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>

Das folgende DASH XML Marker-Beispielfragment zeigt, wie man es benutztscte35: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>

Das folgende HLS Tag-Beispiel zeigt die Verwendung vonEXT-X-DATERANGE:

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

Das folgende HLS Tag-Beispiel zeigt, wie Folgendes verwendet wirdEXT-X-CUE-OUT:

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

Das folgende HLS Tag-Beispiel zeigt, wie Folgendes verwendet wirdEXT-X-SPLICEPOINT-SCTE35:

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

Das folgende Beispiel zeigt, wie scte35:Binary decode verwendet wird:

{ "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 } }