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 konfigurierenAWS Elemental MediaTailor, geben Sie in der ADS-URL 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 URL-Konfiguration Ihrer Vorlage für ADS-Anfragen 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 Abschnitt mit den SCTE-35-Spezifikationen 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 das ADS gestellt wird, um die Verfügbarkeit aufzufüllen, enthält diese die Indexnummer der Anzeigenverfügbarkeit. Dieser Parameter ermöglicht es dem ADS, die Anzeigenauswahl unter Verwendung von Funktionen wie Wettbewerbsausschluss und Frequenzumgrenzung zu verbessern.
[avail.random] Ja Eine Zufallszahl zwischen 0 und 10.000.000.000 als lange Zahl, die für jede Anfrage an das ADS MediaTailor generiert wird. 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 MediaTailor aus dem SCTE-35-Feld avail_num analysierte Wert 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 SCTE-35-Spezifikation.
[scte.event_id]
Ja 9.1 und 9.7.2.1 Der Wert, nach dem MediaTailor aus dem SCTE-35-Feld geparst wurdesplice_event_id, als lange Zahl. MediaTailor verwendet diesen Wert, um lineare Anzeigenverfügbarkeitsnummern zu kennzeichnen oder um Anzeigenserver-Abfragezeichenfolgen, wie z. B. die Positionen von Ad-Pods, 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 SCTE-35-Spezifikation.
[scte.segmentation_upid]

segmentation_upid_type: Yes

private_data: Yes

segmentation_upid: 10.3.3.1

Verwaltete private UPID: 10.3.3.3

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

MediaTailor unterstützt die folgenden segmentation_upid Typen:

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

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

    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 SCTE-35-Spezifikation.

[scte.segmentation_upid.assetId] Ja Wird in Verbindung mit der Managed Private UPID (0xC) für Podbuster-Workflows verwendet. segmentation_ upid_type MediaTailorleitet diesen Wert aus dem assetId Parameter in der JSON-Struktur der MPU ab. private_data Weitere Informationen finden Sie unter Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.key] Ja Wird in Verbindung mit der Managed Private UPID (0xC) segmentation_ upid_type für Podbuster-Workflows verwendet. MediaTailorleitet diesen Wert aus dem cueData.key Parameter in der JSON-Struktur der MPU ab. private_data Weitere Informationen finden Sie unter Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.value] Ja Wird in Verbindung mit der Managed Private UPID (0xC) segmentation_ upid_type für Podbuster-Workflows verwendet. MediaTailorleitet diesen Wert aus dem cueData.key Parameter in der JSON-Struktur der MPU ab. private_data 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 SCTE-35-Spezifikation.
[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 SCTE-35-Spezifikation.
[scte.unique_program_id] Ja 9.7.2.1 Der Integer-Wert, der MediaTailor aus dem SCTE-35-Feld analysiert wurde. splice_insert unique_program_id Der ADS stellt anhand der eindeutigen Programm-ID (UPID) zielgerichtete Werbung auf Programmebene für lineare Live-Streams bereit. Wenn der SCTE-35-Befehl nicht auf Spleißeinfügung gesetzt ist, wird dieser Wert auf einen leeren Wert MediaTailor 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:

  • Ermittelt bei HLS die Dauer MediaTailor anhand der Werte #EXT-X-CUE-OUT: DURATION oder aus den Werten im Tag. #EXT-X-DATERANGE Wenn das Eingabemanifest eine Dauer von Null, ungültig oder 0 für die Anzeigenverfügbarkeit in diesen Tags hat, wird die Standardeinstellung MediaTailor verwendet.

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

[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 festgelegt ist, dann verwendet MediaTailor diesen Wert für die client_ip.
[session.id] Nein Eine eindeutige numerische Kennung für die aktuelle Wiedergabesitzung. Alle Anforderungen eines Players für eine Sitzung haben dieselbe ID, sodass sie für ADS-Felder verwendet werden kann, die zum Korrelieren aller Anforderungen in einer einzelnen Ansicht bestimmt sind.
[session.referer] Nein In der Regel die URL der Seite, auf 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 Player diesen Header nicht angibt, lässt MediaTailor die Variable [session.referer] 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 vor dem Manifest-Endpunkt ein CDN oder ein Proxy angegeben wird, müssen Sie den korrekten Header vom Player hier als Proxy einfügen.
[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 der ADS erfordert, dass zusammen mit der eindeutigen Sitzungskennung ein Abfrageparameter mit dem Namen deviceSession übergeben wird, könnte die ADS-Vorlagen-URL in AWS Elemental MediaTailor wie folgt aussehen:

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

AWS Elemental MediaTailor generiert automatisch eine eindeutige Kennung für jeden Stream und gibt die Kennung anstelle von session.id ein. Wenn die ID lautet1234567, würde die letzte Anfrage, die MediaTailor an das ADS gestellt wird, in etwa so aussehen:

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

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

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 Beispiel-XML-Fragment für einen DASH-Marker 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 Beispiel-XML-Fragment für einen DASH-Marker zeigt, wie es verwendet wirdscte35: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 Beispiel-XML-Fragment für einen DASH-Marker zeigt, wie es verwendet wirdscte35: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 Beispiel für ein HLS-Tag zeigt die Verwendung EXT-X-DATERANGE von:

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

Das folgende Beispiel für ein HLS-Tag zeigt die Verwendung von: EXT-X-CUE-OUT

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

Das folgende Beispiel für ein HLS-Tag zeigt die Verwendung von: EXT-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 } }