Utilizzo delle variabili di sessione - 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à.

Utilizzo delle variabili di sessione

AWS Elemental MediaTailorPer configurare l'invio dei dati della sessione ad Ad Decision Server (ADS), nell'URL ADS del modello, specifica una o più variabili elencate in questa sezione. Puoi utilizzare singole variabili e puoi concatenare più variabili per creare un singolo 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 della richiesta ADS del modello. I numeri di sezione elencati nella tabella corrispondono alla versione 2019a della specifica della Society of Cable Telecommunications Engineers (SCTE) -35, Digital Program Insertion Cueing Message For Cable. Per dettagli sull'ad prefetch, vedere. Prefetching degli annunci

Nome Disponibile per il prefetch degli annunci Sezione delle specifiche dell'SCTE-35 Descrizione
[avail.index] Un numero che rappresenta la posizione di un annuncio pubblicitario in un indice. All'inizio di una sessione di riproduzione, MediaTailor crea un indice di tutti gli annunci pubblicati in un manifesto e memorizza l'indice per il resto della sessione. Quando invia MediaTailor una richiesta all'ADS per inserire il numero di disponibilità, 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, le restrizioni di registrazione vengono imposte 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 campo avail_num SCTE-35, come numero lungo. MediaTailor Posso usare questo valore per designare numeri lineari e disponibili.
[scte.avails_expected] 9.7.2.1 Un valore lungo opzionale che fornisce il numero previsto di avalli all'interno dell'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 i significati descritti nella specifica SCTE-35.
[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, vedete la descrizione segments_expected nella specifica SCTE-35.
[scte.event_id]
9.1 e 9.7.2.1 Il valore analizzato MediaTailor dal campo SCTE-35, come numero lungo. splice_event_id MediaTailor utilizza questo valore per designare numeri lineari e disponibili o per compilare stringhe di query del server pubblicitario, ad esempio le posizioni dei contenitori pubblicitari.
[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 una raccolta di segmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione segment_num nella specifica 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, vedete la descrizione segmentation_type_id nella specifica 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 e. segmentation_upid_type segmentation_upid_length

MediaTailor supporta i seguenti segmentation_upid tipi:

  • Informazioni ADS (0x0E) - Informazioni pubblicitarie. Per ulteriori informazioni, vedete la descrizione di segmentation_upid nella specifica 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. Per farlo, specifica un valore a 32 bit (4 byte) format_identifier e includi i seguenti parametri nell'attributo: private_data

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

    MediaTailor analizza i valori del codice JSON precedente e li passa nelle variabiliscte.segmentation_upid.assetId, scte.segmentation_upid.cueData.key e dinamiche. scte.segmentation_upid.cueData.value

  • Definito dall'utente (0x01): una struttura definita dall'utente. Per ulteriori informazioni, vedete la descrizione segmentation_upid nella specifica SCTE-35.

[scte.segmentation_upid.assetId] Utilizzato insieme al Managed Private UPID (0xC) per i flussi di lavoro podbuster. segmentation_ upid_type MediaTailorricava questo valore dal parametro nella struttura JSON della MPUassetId. 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 podbuster. segmentation_ upid_type MediaTailorricava questo valore dal parametro nella struttura JSON della MPUcueData.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 podbuster. segmentation_ upid_type MediaTailorricava questo valore dal parametro nella struttura JSON della MPUcueData.key. private_data Per ulteriori informazioni, consulta Managed Private UPID JSON structure for a podbuster workflow.
[scte.segments_expected] 10.3.3.1 Un valore intero opzionale che fornisce il conteggio previsto di singoli segmenti all'interno di una raccolta di segmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione segments_expected nella specifica SCTE-35.
[scte.sub_segment_num] 10.3.3.1 Un valore intero opzionale che identifica un particolare sottosegmento all'interno di una raccolta di sottosegmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione sub_segment_num nella specifica SCTE-35.
[scte.sub_segments_expected] 10.3.3.1 Un valore intero opzionale che fornisce il conteggio previsto dei singoli sottosegmenti all'interno di una raccolta di sottosegmenti. Per ulteriori informazioni su questa variabile, vedete la descrizione sub_segments_expected nella specifica SCTE-35.
[scte.unique_program_id] 9.7.2.1 Il valore intero analizzato MediaTailor dal 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 comando SCTE-35 non è splice insert, imposta questo valore su un valore vuoto. MediaTailor
[session.avail_duration_ms]

La durata in millisecondi dello slot di disponibilità degli annunci. Il valore predefinito è 300.000 ms. AWS Elemental MediaTailor ottiene il valore della durata dal manifest di input nel modo seguente:

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

  • Per DASH, MediaTailor ottiene il valore di durata dalla durata dell'evento, se specificata. In caso contrario, usa il valore predefinito.

[session.avail_duration_secs] La durata in secondi dello slot di disponibilità dell'annuncio, o ad avail, 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 In genere, l'URL della pagina che ospita il lettore video. MediaTailor imposta questa variabile sul valore dell'Refererintestazione utilizzata dal giocatore nella sua richiesta. MediaTailor Se il lettore non fornisce questa intestazione, MediaTailor lascia vuoto l'oggetto [session.referer]. Se utilizzi una rete di distribuzione dei contenuti (CDN) o un proxy davanti all'endpoint manifest e desideri che questa variabile appaia, invia qui l'intestazione corretta del player come proxy.
[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

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 unico per ciascun flusso e immette l'identificatore al posto di session.id. Se l'identificatore è1234567, la richiesta finale MediaTailor inviata all'ADS sarebbe simile alla seguente:

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 simile al 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 utilizzare: 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 utilizzare: 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 utilizzare: EXT-X-SPLICEPOINT-SCTE35

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

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