View a markdown version of this page

MediaTailor Sitzungsvariablen für ADS-Anfragen - 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.

MediaTailor Sitzungsvariablen für ADS-Anfragen

AWS Elemental MediaTailor sendet Sitzungsdaten an den Ad Decision Server (ADS), wenn Sie die Konfiguration so konfigurieren AWS Elemental MediaTailor , dass eine oder mehrere der in diesem Abschnitt aufgeführten Variablen in der ADS-URL der Vorlage angegeben werden. Sie können einzelne Variablen verwenden und mehrere Variablen zu einem einzelnen Wert verketten. MediaTailor generiert einige Werte und bezieht den Rest aus Quellen wie dem Manifest und der Anfrage des Players zur Sitzungsinitialisierung.

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 SCTE (Society of Cable Telecommunications Engineers) -Spezifikation, Digital Program Insertion Cueing Message. Einzelheiten zum Ad Prefetch finden Sie unter. Anzeigen vorab abrufen

Name Verfügbar für den Anzeigenvorabruf SCTE-35 Abschnitt „Spezifikation“ Description
[avail.index] Ja Eine Zahl, die die Position einer verfügbaren Anzeige in einem Index darstellt. MediaTailor Erstellt zu Beginn einer Playback-Sitzung einen Index aller Werbeanzeigen in einem Manifest und speichert den Index für den Rest der Sitzung. Wenn eine MediaTailor Anfrage an das ADS gesendet wird, um den Avail aufzufüllen, wird die Indexnummer der verfügbaren Anzeige mitgeliefert. 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 Aufzeichnungsbeschränkungen für das Segment. Wenn dieser Wert 1 ist, gelten für das Segment keine Aufzeichnungsbeschränkungen.
[scte.avail_num] Ja 9.7.2.1 Der MediaTailor aus dem SCTE-35 Feld geparste Wert als avail_num lange Zahl. MediaTailor Ich kann diesen Wert verwenden, um lineare und verfügbare Zahlen zu kennzeichnen.

Der Wert muss eine Ganzzahl sein.

[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 von segments_expected in der Spezifikation. SCTE-35
[scte.event_id]
Ja 9.1 und 9.7.2.1 Der MediaTailor aus dem SCTE-35 Feld geparste Wert als splice_event_id lange Zahl. MediaTailor verwendet diesen Wert, um lineare Zahlen zur Anzeigenverfügbarkeit anzugeben oder um Anzeigenserver-Abfragezeichenfolgen wie Anzeigenpod-Positionen aufzufüllen.

Der Wert muss eine Ganzzahl sein.

[scte.no_regional_blackout_flag] Ja 10.3.3.1 Ein optionaler boolescher Wert. Wenn dieser Wert 0 ist, gelten regionale Blackout-Einschränkungen für das Segment. Wenn dieser Wert 1 ist, gelten regionale Blackout-Einschränkungen nicht für das Segment.
[scte.segment_num] Ja 10.3.3.1 Ein optionaler Ganzzahlwert, der Segmente innerhalb einer Sammlung von Segmenten nummeriert. Weitere Informationen zu dieser Variablen finden Sie in der Beschreibung von segment_num in der Spezifikation. SCTE-35
[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 von segmentation_type_id in der Spezifikation. SCTE-35
[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 Element. SCTE-35 segmentation_upid Das segmentation_upid Element enthält segmentation_upid_type undsegmentation_upid_length.

MediaTailor unterstützt die folgenden segmentation_upid Typen:

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

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

    Du kannst diese Struktur in einem Podbuster-Workflow verwenden. Geben Sie dazu ein 32-Bit-Format (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 von segmentation_upid in der Spezifikation. SCTE-35

[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.

Der Wert kann eine Zeichenfolge sein.

[scte.segmentation_upid.private_data.{index}] Ja Wird in Verbindung mit der Managed Private UPID (0xC) segmentation_upid_type für gezielte Werbe-Workflows verwendet. MediaTailor teilt durch Doppelpunkte getrennte Segmentierungs-UPID-Token auf und erstellt indizierte Sitzungsvariablen. Der Index entspricht der Position in der durch Doppelpunkte getrennten Liste, wobei Leerzeichen am Anfang des Doppelpunkts ignoriert werden.

Zum Beispiel, wenn, dann: segmentation_upid = ":3213214:2313321/5:3943"

  • [scte.segmentation_upid.private_data.0] = 3213214

  • [scte.segmentation_upid.private_data.1] = 2313321/5

  • [scte.segmentation_upid.private_data.2] = 3943

Der Wert kann eine Zeichenfolge sein.

[scte.segments_expected] Ja 10.3.3.1 Ein optionaler Ganzzahlwert, der die erwartete Anzahl einzelner Segmente innerhalb einer Sammlung von Segmenten angibt. Weitere Informationen zu dieser Variablen finden Sie in der Beschreibung von segments_expected in der Spezifikation. SCTE-35
[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 von sub_segment_num in der Spezifikation. SCTE-35
[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 Spezifikation. SCTE-35
[scte.unique_program_id] Ja 9.7.2.1 Der aus dem Feld geparste Integer-Wert. MediaTailor SCTE-35 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 splice insert lautet, wird dieser Wert auf einen leeren Wert MediaTailor gesetzt.

Der Wert muss eine Ganzzahl sein.

[session.avail_duration_ms] Ja

Die Dauer des Anzeigenverfügbarkeitszeitraums in Millisekunden. Der Standardwert ist 300.000 ms. AWS Elemental MediaTailor ruft den Dauerwert wie folgt aus dem Eingabe-Manifest ab:

  • Für HLS: MediaTailor Ruft die Dauer aus den #EXT-X-CUE-OUT: DURATION oder aus den Werten im Tag ab. #EXT-X-DATERANGE Wenn das Eingabe-Manifest eine Dauer von Null, Ungültig oder 0 für die Anzeige hat, die in diesen Tags verfügbar ist, wird die Standarddauer MediaTailor verwendet.

  • Für DASH: MediaTailor Ruft den Dauerwert aus der Eventdauer ab, falls eine angegeben ist. Andernfalls wird der Standardwert verwendet.

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

[session.avail_duration_secs] Ja Die Dauer des Ad Availability Slot (Ad Avail) in Sekunden, gerundet auf die nächste Sekunde. MediaTailor bestimmt diesen Wert auf die gleiche Weise wie er 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 Normalerweise die URL der Seite, auf der der Videoplayer gehostet wird. MediaTailor setzt diese Variable auf den Wert des Referer Headers, den der Player bei 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, geben Sie hier den richtigen Header des Players als Proxy an.
[session.user_agent] Nein Der User-Agent Header, der von der Sitzungsanforderung des Players zur Initialisierung der Sitzung 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
[avail.source_content_time_epoch_ms] Nein

Für HLS ist der Wert die PDT des Ursprungssegments, das den Avail gestartet hat. Für DASH ist der Wert derjenige<Period>, <SupplementalProperty> urn:scte:dash:utc-time der den enthält. <EventStream>

  • Bei PREROLL-HLS- oder DASH-Anzeigen [avail.source_content_time_epoch_ms] ist das PDT des ersten HLS-Segments und das des <SupplementalProperty> urn:scte:dash:utc-time ersten. <Period> Bei Livestreams mit kurzen Manifestfenstern ist dieser Wert für jeden Zuschauer unterschiedlich, je nachdem, wann er mit dem Ansehen des Streams beginnt. Bei einem Livestream mit einem vollen Event-DVR-Fenster ist der Wert für jeden Zuschauer gleich.

  • Bei teilweiser Verfügbarkeit aufgrund der Unterdrückung von Verfügbarkeit [avail.source_content_time_epoch_ms] ist dies der PDT des Quellinhaltssegments, mit dem der Zugriff gestartet wurde. Wenn beispielsweise die ersten 20 Sekunden der Verfügbarkeit MediaTailor entfernt werden, [avail.source_content_time_epoch_ms] wird immer noch das ursprüngliche PDT verwendet und nicht um 20 Sekunden verschoben.

  • Für Prefetch-ADS-Anfragen [avail.source_content_time_epoch_ms] ist das Feld leer, Kunden können es jedoch mithilfe dynamischer Variablen für den Prefetch-Schedule-Abruf festlegen.

Beispiel

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 einen eindeutigen Bezeichner für jeden Stream und gibt den Bezeichner anstelle von ein. session.id Wenn der Identifier lautet1234567, würde die letzte Anfrage, MediaTailor die an das ADS gestellt wird, in etwa so aussehen:

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

Wenn für das ADS mehrere Abfrageparameter übergeben werden müssen, AWS Elemental MediaTailor könnte die ADS-URL 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 eine DASH-Markierung zeigt, wie es verwendet wirdscte35: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 eine DASH-Markierung 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 eine DASH-Markierung 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 VerwendungEXT-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 Beispiel für ein HLS-Tag zeigt die Verwendung: 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: 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 } }