View a markdown version of this page

MediaTailor variabili di sessione per le richieste ADS - AWS Elemental MediaTailor

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

MediaTailor variabili di sessione per le richieste ADS

AWS Elemental MediaTailor invia i dati della sessione all'Ad Decision Server (ADS) quando si configura AWS Elemental MediaTailor per specificare una o più delle variabili elencate in questa sezione nell'URL ADS del modello. È possibile utilizzare variabili singole e concatenare più variabili per creare un unico valore. MediaTailor genera alcuni valori e ottiene il resto da fonti come il manifest e la richiesta di inizializzazione della sessione del giocatore.

La tabella seguente descrive le variabili dei dati di sessione che è possibile utilizzare nella configurazione dell'URL di richiesta ADS del modello. I numeri di sezione elencati nella tabella corrispondono alla versione 2019a della specifica -35 della Society of Cable Telecommunications Engineers (SCTE), Digital Program Insertion Cueing Message. Per dettagli sul prefetch degli annunci, vedere. Prefetching degli annunci

Nome Disponibile per il prefetch degli annunci SCTE-35 sezione delle specifiche Description
[avail.index] Un numero che rappresenta la posizione di un annuncio disponibile in un indice. All'inizio di una sessione di riproduzione, MediaTailor crea un indice di tutti gli annunci in un manifesto e memorizza l'indice per il resto della sessione. Quando MediaTailor richiede all'ADS di compilare l'avail, include il numero di indice di disponibilità dell'annuncio. Questo parametro consente all'ADS di migliorare la selezione degli annunci utilizzando funzionalità quali l'esclusione competitiva e il limite di frequenza.
[avail.random] Un numero casuale compreso tra 0 e 10.000.000.000, come numero lungo, che viene MediaTailor generato per ogni richiesta all'ADS. Alcuni server di annunci usano questo parametro per abilitare funzionalità come la separazioni degli annunci di aziende concorrenti.
[scte.archive_allowed_flag] 10.3.3.1 Un valore booleano opzionale. Quando questo valore è 0, vengono applicate delle restrizioni alla registrazione sul segmento. Quando questo valore è 1, le restrizioni di registrazione non vengono applicate al segmento.
[scte.avail_num] 9.7.2.1 Il valore analizzato MediaTailor dal SCTE-35 campoavail_num, come numero lungo. MediaTailor può utilizzare questo valore per designare numeri lineari e disponibili.

Il valore deve essere un numero intero.

[scte.avails_expected] 9,7.2.1 Un valore long opzionale che fornisce il numero previsto di utilizzi nell'evento corrente.
[scte.delivery_not_restricted_flag] 10.3.3.1 Un valore booleano opzionale. Quando questo valore è 0, i cinque bit successivi sono riservati. Quando questo valore è 1, i cinque bit successivi assumono il significato descritto nella SCTE-35 specifica.
[scte.device_restrictions] 10.3.3.1 Un valore intero opzionale che segnala tre gruppi di dispositivi predefiniti, indipendenti e non gerarchici. Per ulteriori informazioni su questa variabile, vedere la descrizione segments_expected nelle specifiche. SCTE-35
[scte.event_id]
9.1 e 9.7.2.1 Il valore analizzato MediaTailor dal SCTE-35 camposplice_event_id, come numero lungo. MediaTailor utilizza questo valore per indicare numeri lineari di annunci disponibili o per compilare le stringhe di query del server pubblicitario, ad esempio le posizioni dei pod pubblicitari.

Il valore deve essere un numero intero.

[scte.no_regional_blackout_flag] 10.3.3.1 Un valore booleano opzionale. Quando questo valore è 0, al segmento si applicano le restrizioni regionali di blackout. Quando questo valore è 1, le restrizioni regionali di blackout non si applicano al segmento.
[scte.segment_num] 10.3.3.1 Un valore intero opzionale che numera i segmenti all'interno di un insieme di segmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione segment_num nelle specifiche. SCTE-35
[scte.segmentation_event_id] 10.3.3.1 MediaTailor espone questa variabile come. scte.event_id
[scte.segmentation_type_id] 10.3.3.1 Un valore intero opzionale a 8 bit che specifica il tipo di segmentazione. Per ulteriori informazioni su questa variabile, vedere la descrizione segmentation_type_id nelle specifiche. SCTE-35
[scte.segmentation_upid]

segmentation_upid_type: Sì

private_data: Sì

segmentation_upid: 10.3.3.1

UPID privato gestito: 10.3.3.3

Corrisponde all'elemento. SCTE-35 segmentation_upid L'segmentation_upidelemento contiene segmentation_upid_type esegmentation_upid_length.

MediaTailor supporta i seguenti segmentation_upid tipi:

  • Informazioni ADS (0x0E) - Informazioni pubblicitarie. Per ulteriori informazioni, vedi la descrizione di segmentation_upid nelle specifiche. SCTE-35

  • Managed Private UPID (0x0C): la struttura Managed Private UPID (MPU) definita nella specifica. SCTE-35 MediaTailor supporta rappresentazioni SCTE XML binarie o DASH.

    Puoi usare questa struttura in un flusso di lavoro podbuster. A tale scopo, specificate un valore a 32 bit (4 byte) format_identifier e includete i seguenti parametri nell'attributo: private_data

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

    MediaTailor analizza i valori del JSON precedente e li passa nelle variabili dinamichescte.segmentation_upid.assetId, scte.segmentation_upid.cueData.key e. scte.segmentation_upid.cueData.value

  • Definito dall'utente (0x01): una struttura definita dall'utente. Per ulteriori informazioni, vedere la descrizione di segmentation_upid nelle specifiche. SCTE-35

[scte.segmentation_upid.assetId] Utilizzato insieme al Managed Private UPID (0xC) per i flussi di lavoro di podbuster. segmentation_ upid_type MediaTailorricava questo valore dal parametro nella struttura JSON della MPU. assetId private_data Per ulteriori informazioni, consulta Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.key] Utilizzato insieme al Managed Private UPID (0xC) per i flussi di lavoro di podbuster. segmentation_ upid_type MediaTailorricava questo valore dal parametro nella struttura JSON della MPU. cueData.key private_data Per ulteriori informazioni, consulta Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.value] Utilizzato insieme al Managed Private UPID (0xC) per i flussi di lavoro di podbuster. segmentation_ upid_type MediaTailorricava questo valore dal parametro nella struttura JSON della MPU. cueData.key private_data Per ulteriori informazioni, consulta Managed Private UPID JSON structure for a podbuster workflow.

Il valore può essere una stringa.

[scte.segmentation_upid.private_data.{index}] Utilizzato insieme al Managed Private UPID (0xC) segmentation_upid_type per flussi di lavoro pubblicitari mirati. MediaTailor divide i token UPID di segmentazione delimitati da due punti e crea variabili di sessione indicizzate. L'indice corrisponde alla posizione nell'elenco delimitato da due punti, ignorando gli spazi bianchi iniziali a partire dai due punti iniziali.

Ad esempio, se, allora: 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

Il valore può essere una stringa.

[scte.segments_expected] 10.3.3.1 Un valore intero opzionale che fornisce il numero previsto di singoli segmenti all'interno di un insieme di segmenti. Per ulteriori informazioni su questa variabile, vedere la descrizione segments_expected nelle specifiche. SCTE-35
[scte.sub_segment_num] 10.3.3.1 Un valore intero opzionale che identifica un particolare sottosegmento all'interno di un insieme di sottosegmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione del sub_segment_num nelle specifiche. SCTE-35
[scte.sub_segments_expected] 10.3.3.1 Un valore intero opzionale che fornisce il numero previsto di singoli sottosegmenti all'interno di un insieme di sottosegmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione sub_segments_expected nelle specifiche. SCTE-35
[scte.unique_program_id] 9.7.2.1 Il valore intero analizzato dal MediaTailor campo. SCTE-35 splice_insert unique_program_id L’ADS usa l’ID univoco di programma (UPID) per fornire annunci pubblicitari mirati a livello di programma per i flussi lineari live. Se il SCTE-35 comando non è splice insert, lo MediaTailor imposta su un valore vuoto.

Il valore deve essere un numero intero.

[session.avail_duration_ms]

La durata in millisecondi dello slot di disponibilità dell'annuncio. Il valore predefinito è 300.000 ms. AWS Elemental MediaTailor ottiene il valore di durata dal manifesto di input nel modo seguente:

  • Per HLS: MediaTailor ottiene la durata dal #EXT-X-CUE-OUT: DURATION o dai valori nel tag. #EXT-X-DATERANGE Se il manifesto di input ha una durata nulla, non valida o 0 per l'annuncio disponibile in quei tag, utilizza l'impostazione predefinita. MediaTailor

  • Per DASH: MediaTailor ottiene il valore della durata dalla durata dell'evento, se ne viene specificato uno. In caso contrario, usa il valore predefinito.

  • Per VOD: quando uno stream VOD attiva una chiamata pubblicitaria preliminare, se il manifesto non include messaggi SCTE con un valore di durata, MediaTailor non inserisce una durata per [session.avail_duration_ms], incluso il valore di durata predefinito.

[session.avail_duration_secs] La durata in secondi dello slot di disponibilità dell'annuncio, o disponibilità dell'annuncio, arrotondata al secondo più vicino. MediaTailor determina questo valore nello stesso modo in cui lo determina[session.avail_duration_ms].
[session.client_ip] No L'indirizzo IP remoto da cui proviene la MediaTailor richiesta. Se l'intestazione X-forwarded-for è impostata, quel valore è ciò che MediaTailor usa per client_ip.
[session.id] No Un identificatore numerico univoco per la sessione di riproduzione corrente. Tutte le richieste effettuate da un lettore per una sessione condividono lo stesso ID, che può quindi essere usato per i campi ADS destinati a correlare le richieste per una singola visualizzazione.
[session.referer] No Di solito, l'URL della pagina che ospita il lettore video. MediaTailor imposta questa variabile sul valore dell'Refererintestazione utilizzata dal player nella sua richiesta. MediaTailor Se il lettore non fornisce questa intestazione, MediaTailor lascia vuoto l'oggetto [session.referer]. Se usi un Content Delivery Network (CDN) o un proxy davanti all'endpoint del manifest e vuoi che questa variabile appaia, esegui qui il proxy dell'intestazione corretta del player.
[session.user_agent] No L'User-Agentintestazione MediaTailor ricevuta dalla richiesta di inizializzazione della sessione del giocatore. Se non usi una CDN o un proxy davanti all'endpoint manifest, qui devi inoltrare l'intestazione corretta dal lettore.
[session.uuid] No

Alternativa a. [session.id] Si tratta di un identificatore unico per la sessione di riproduzione corrente, ad esempio:

e039fd39-09f0-46b2-aca9-9871cc116cde
[avail.source_content_time_epoch_ms] No

Per HLS il valore è il PDT del segmento di origine che ha dato inizio all'avail. Per DASH il valore è quello che contiene <SupplementalProperty> urn:scte:dash:utc-time il<Period>. <EventStream>

  • Per gli annunci HLS o DASH preroll [avail.source_content_time_epoch_ms] è il PDT del primo segmento HLS e il primo. <SupplementalProperty> urn:scte:dash:utc-time <Period> Per i live streaming con finestre manifeste brevi, questo valore sarà diverso per ogni spettatore in base a quando inizia a guardare lo streaming. Per un live streaming con una finestra DVR completa per gli eventi, il valore sarà lo stesso per ogni spettatore.

  • Per gli utilizzi parziali dovuti alla soppressione degli avail, [avail.source_content_time_epoch_ms] è il PDT del segmento di contenuto di origine che ha dato inizio all'avail. Ad esempio, se MediaTailor rimuove i primi 20 secondi dell'avail, [avail.source_content_time_epoch_ms] verrà comunque impostato sul PDT originale, non spostato di 20 secondi.

  • Per le richieste ADS di prefetch, [avail.source_content_time_epoch_ms] è vuoto, tuttavia i clienti possono impostarlo utilizzando le variabili dinamiche di prefetch scheduled retrieval.

Esempio

Se l'ADS richiede il passaggio di un parametro di query denominato deviceSession con l'identificatore di sessione univoco, l'URL ADS modello in AWS Elemental MediaTailor potrebbe essere simile al seguente:

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

AWS Elemental MediaTailor genera automaticamente un identificatore univoco per ogni stream e inserisce l'identificatore al posto di. session.id Se l'identificatore è1234567, la richiesta finale che viene effettuata MediaTailor all'ADS sarà simile a questa:

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

Se l'ADS richiede il passaggio di diversi parametri di query, l'URL ADS del modello in cui è inserito AWS Elemental MediaTailor potrebbe essere il seguente:

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]

Il seguente frammento XML di esempio di marker DASH mostra come utilizzare: 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>

Il seguente frammento XML di esempio di marker DASH mostra come utilizzare: 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>

Il seguente frammento XML di esempio di marker DASH mostra come utilizzare: 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>

Il seguente esempio di tag HLS mostra come usare: 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

Il seguente esempio di tag HLS mostra come usare: EXT-X-CUE-OUT

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

Il seguente esempio di tag HLS mostra come usare: EXT-X-SPLICEPOINT-SCTE35

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

L'esempio seguente mostra come usare la 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 } }