Uso de variables de sesión - AWS Elemental MediaTailor

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de variables de sesión

Para configurar AWS Elemental MediaTailor Para enviar los datos de la sesión al Ad Decision Server (ADS), en la plantilla ADSURL, especifique una o más de las variables enumeradas en esta sección. Puedes usar variables individuales y concatenar varias variables para crear un único valor. MediaTailor genera algunos valores y obtiene el resto de fuentes como el manifiesto y la solicitud de inicialización de sesión del jugador.

En la siguiente tabla se describen las variables de datos de sesión que puedes usar en la configuración de tu ADS solicitud URL de plantilla. Los números de sección que figuran en la tabla corresponden a la versión de 2019 de la especificación -35 de la Sociedad de Ingenieros de Telecomunicaciones por Cable (SCTE), Mensaje de aviso de inserción de programas digitales para cable. Para obtener más información sobre la captura previa de anuncios, consulte. Búsqueda previa de anuncios

Nombre Disponible para la captura previa de anuncios SCTE-35 secciones de especificaciones Descripción
[avail.index] Número que representa la posición de un anuncio disponible en un índice. Al inicio de una sesión de reproducción, MediaTailor crea un índice de todos los anuncios disponibles en un manifiesto y lo guarda durante el resto de la sesión. Cuando solicita MediaTailor que se llene el ADS formulario de disponibilidad del anuncio, se incluye el número de índice de disponibilidad del anuncio. Este parámetro permite ADS mejorar la selección de anuncios mediante funciones como la exclusión competitiva y el límite de frecuencia.
[avail.random] Un número aleatorio entre 0 y 10 000 000 000 000, como número largo, que se MediaTailor genera por cada solicitud que se envía al. ADS Algunos servidores de anuncios utilizan este parámetro para habilitar características como separar los anuncios de empresas en competencia.
[scte.archive_allowed_flag] 10.3.3.1 Un valor booleano opcional. Cuando este valor es 0, las restricciones de grabación se imponen en el segmento. Cuando este valor es 1, las restricciones de grabación no se imponen en el segmento.
[scte.avail_num] 9.7.2.1 El valor analizado MediaTailor desde el campo SCTE -35avail_num, como un número largo. MediaTailor Puede usar este valor para designar números lineales y disponibles.
[scte.avails_expected] 9,7.2.1 Un valor largo opcional que proporciona el recuento esperado de validaciones en el evento actual.
[scte.delivery_not_restricted_flag] 10.3.3.1 Un valor booleano opcional. Cuando este valor es 0, se reservan los cinco bits siguientes. Cuando este valor es 1, los cinco bits siguientes adquieren los significados descritos en la especificación SCTE -35.
[scte.device_restrictions] 10.3.3.1 Un valor entero opcional que señala tres grupos de dispositivos predefinidos, independientes y no jerárquicos. Para obtener más información sobre esta variable, consulte la descripción segments_expected en la especificación -35. SCTE
[scte.event_id]
9.1 y 9.7.2.1 El valor analizado MediaTailor desde el campo SCTE -35splice_event_id, como un número largo. MediaTailor Utiliza este valor para designar números de disponibilidad de anuncios lineales o para rellenar cadenas de consulta del servidor de anuncios, como las posiciones de los pods de anuncios.
[scte.no_regional_blackout_flag] 10.3.3.1 Un valor booleano opcional. Cuando este valor es 0, se aplican restricciones de bloqueo regionales al segmento. Cuando este valor es 1, las restricciones de bloqueo regionales no se aplican al segmento.
[scte.segment_num] 10.3.3.1 Un valor entero opcional que numera los segmentos de un conjunto de segmentos. Para obtener más información sobre esta variable, consulte la descripción segment_num en la SCTE especificación -35.
[scte.segmentation_event_id] 10.3.3.1 MediaTailor expone esta variable como. scte.event_id
[scte.segmentation_type_id] 10.3.3.1 Un valor entero de 8 bits opcional que especifica el tipo de segmentación. Para obtener más información sobre esta variable, consulte la descripción del segmentation_type_id en la especificación -35. SCTE
[scte.segmentation_upid]

segmentation_upid_type: sí

private_data: sí

segmentation_upid: 10.3.3.1

Privado gestionado: UPID 10.3.3.3

Corresponde al elemento SCTE segmentation_upid -35. El segmentation_upid elemento contiene segmentation_upid_type y. segmentation_upid_length

MediaTailor admite los siguientes segmentation_upid tipos:

  • ADSInformación (0x0E): información publicitaria. Para obtener más información, consulta la descripción de segmentation_upid en la especificación -35. SCTE

  • Sector privado gestionado UPID (0x0C): estructura privada gestionada () tal como se define en la especificación UPID -35MPU. SCTE MediaTailor admite imágenes binarias o representaciones. DASH XML SCTE

    Puedes usar esta estructura en un flujo de trabajo de Podbuster. Para ello, especifique una de 32 bits (4 bytes) format_identifier e incluya los siguientes parámetros en el private_data atributo:

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

    MediaTailor analiza los valores anteriores y JSON los pasa a las variables scte.segmentation_upid.cueData.value dinámicas scte.segmentation_upid.assetIdscte.segmentation_upid.cueData.key, y.

  • Definida por el usuario (0x01): estructura definida por el usuario. Para obtener más información, consulte la descripción de segmentation_upid en la especificación -35. SCTE

[scte.segmentation_upid.assetId] Se usa junto con Managed Private UPID (0xC) para los flujos de trabajo de Podbuster. segmentation_ upid_type MediaTailorderiva este valor del assetId parámetro de la estructura. MPU private_data JSON Para obtener más información, consulte Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.key] Se usa junto con Managed Private UPID (0xC) segmentation_ upid_type para los flujos de trabajo de Podbuster. MediaTailorderiva este valor del cueData.key parámetro de la estructura. MPU private_data JSON Para obtener más información, consulte Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.value] Se usa junto con Managed Private UPID (0xC) segmentation_ upid_type para los flujos de trabajo de Podbuster. MediaTailorderiva este valor del cueData.key parámetro de la estructura. MPU private_data JSON Para obtener más información, consulte Managed Private UPID JSON structure for a podbuster workflow.
[scte.segments_expected] 10.3.3.1 Un valor entero opcional que proporciona el recuento esperado de segmentos individuales dentro de un conjunto de segmentos. Para obtener más información sobre esta variable, consulte la descripción segments_expected en la SCTE especificación -35.
[scte.sub_segment_num] 10.3.3.1 Un valor entero opcional que identifica un subsegmento concreto dentro de un conjunto de subsegmentos. Para obtener más información sobre esta variable, consulte la descripción del sub_segment_num en la especificación -35. SCTE
[scte.sub_segments_expected] 10.3.3.1 Un valor entero opcional que proporciona el recuento esperado de subsegmentos individuales dentro de un conjunto de subsegmentos. Para obtener más información sobre esta variable, consulte la descripción de sub_segments_expected en la especificación -35. SCTE
[scte.unique_program_id] 9.7.2.1 El valor entero analizado MediaTailor desde el campo -35. SCTE splice_insert unique_program_id ADSUtiliza el identificador de programa único (UPID) para ofrecer una segmentación de anuncios a nivel de programa para las transmisiones lineales en directo. Si el comando SCTE -35 no es splice insert, lo MediaTailor establece en un valor vacío.
[session.avail_duration_ms]

La duración en milisegundos del intervalo de disponibilidad del anuncio. El valor predeterminado es de 300 000 ms. AWS Elemental MediaTailor obtiene el valor de duración del manifiesto de entrada de la siguiente manera:

  • ParaHLS: MediaTailor obtiene la duración a partir de los valores #EXT-X-CUE-OUT: DURATION o de la #EXT-X-DATERANGE etiqueta. Si el manifiesto de entrada tiene una duración nula, no válida o igual a 0 para los anuncios disponibles en esas etiquetas, se MediaTailor utiliza la predeterminada.

  • ParaDASH: MediaTailor obtiene el valor de duración de la duración del evento, si se especifica alguna. De lo contrario, utiliza el valor predeterminado.

  • ParaVOD: cuando una VOD transmisión activa una convocatoria publicitaria previa, si el manifiesto no incluye SCTE mensajes con un valor de duración, MediaTailor no se introduce una duración para el [session.avail_duration_ms], incluido el valor de duración predeterminado.

[session.avail_duration_secs] La duración en segundos del intervalo de disponibilidad del anuncio, o disponibilidad del anuncio, redondeada al segundo más cercano. MediaTailor determina este valor del mismo modo que lo determina[session.avail_duration_ms].
[session.client_ip] No La dirección IP remota de la que proviene la MediaTailor solicitud. Si el X-forwarded-for encabezado está establecido, ese valor es el que se MediaTailor utiliza paraclient_ip.
[session.id] No Un identificador numérico único para la sesión de reproducción actual. Todas las solicitudes que realiza un jugador para una sesión tienen el mismo identificador, por lo que se puede usar en ADS los campos destinados a correlacionar las solicitudes de una sola visualización.
[session.referer] No Normalmente, el URL de la página que aloja el reproductor de vídeo. MediaTailor establece esta variable en el valor del Referer encabezado que el reproductor utilizó en su solicitud MediaTailor. Si el jugador no proporciona este encabezado, lo MediaTailor deja [session.referer] vacío. Si utilizas una red de entrega de contenido (CDN) o un proxy delante del punto final del manifiesto y quieres que aparezca esta variable, coloca aquí el encabezado correcto desde el reproductor.
[session.user_agent] No El User-Agent encabezado que se MediaTailor recibió de la solicitud de inicialización de sesión del jugador. Si utilizas un proxy CDN o un proxy delante del punto final del manifiesto, debes colocar aquí el encabezado correcto del reproductor.
[session.uuid] No

Alternativa a[session.id]. Se trata de un identificador único de la sesión de reproducción actual, como el siguiente:

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

Si ADS requiere que se pase un nombre deviceSession de parámetro de consulta con el identificador de sesión único, la plantilla ADS URL en AWS Elemental MediaTailor podría tener el siguiente aspecto:

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

AWS Elemental MediaTailor genera automáticamente un identificador único para cada transmisión e introduce el identificador en lugar desession.id. Si el identificador lo es1234567, la última solicitud que se MediaTailor haga al ADS tendría el siguiente aspecto:

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

Si ADS requiere que se pasen varios parámetros de consulta, la plantilla ADS URL en AWS Elemental MediaTailor podría tener el siguiente aspecto:

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]

El siguiente XML fragmento de ejemplo de DASH marcador muestra cómo usarloscte35: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>

El siguiente XML fragmento de ejemplo de DASH marcador muestra cómo usarloscte35: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>

El siguiente XML fragmento de ejemplo de DASH marcador muestra cómo usarloscte35: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>

En el siguiente ejemplo de HLS etiqueta se muestra cómo utilizarlaEXT-X-DATERANGE:

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

En el siguiente ejemplo de HLS etiqueta se muestra cómo utilizarlaEXT-X-CUE-OUT:

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

En el siguiente ejemplo de HLS etiqueta se muestra cómo utilizarlaEXT-X-SPLICEPOINT-SCTE35:

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

En el siguiente ejemplo, se muestra cómo utilizar la scte35:Binary decodificación:

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