View a markdown version of this page

MediaTailor variables de sesión para solicitudes de ADS - 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.

MediaTailor variables de sesión para solicitudes de ADS

AWS Elemental MediaTailor envía los datos de la sesión al servidor de decisiones publicitarias (ADS) cuando configuras la URL de ADS de la plantilla AWS Elemental MediaTailor para especificar una o más de las variables que se muestran en esta sección. Puedes usar variables individuales y concatenar varias variables para crear un valor único. 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 la URL de la solicitud de ADS de tu plantilla. Los números de sección que aparecen en la tabla corresponden a la versión 2019a de la especificación -35 de la Sociedad de Ingenieros de Telecomunicaciones por Cable (SCTE), denominada Mensaje de alerta para la inserción de programas digitales. Para obtener más información sobre la captura previa de anuncios, consulte. Búsqueda previa de anuncios

Name Disponible para la captura previa de anuncios SCTE-35 sección de especificaciones Description (Descripción)
[avail.index] Un 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 almacena el índice para el resto de la sesión. Cuando MediaTailor solicita al ADS que complete el anuncio disponible, incluye el número de índice de disponibilidad del anuncio. Este parámetro permite a ADS mejorar la selección de anuncios mediante características como la exclusión competitiva y la limitación de frecuencia.
[avail.random] Un número aleatorio entre 0 y 10 000 000 000, en forma de número largo, que se MediaTailor genera para cada solicitud 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 aplican al segmento. Cuando este valor es 1, las restricciones de grabación no se aplican al segmento.
[scte.avail_num] 9.7.2.1 El valor analizado por MediaTailor el SCTE-35 campoavail_num, como un número largo. MediaTailor puede usar este valor para designar números lineales y disponibles.

El valor debe ser un entero.

[scte.avails_expected] 9.7.2.1 Un valor largo opcional que indica el recuento esperado de reservas 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 SCTE-35 especificación.
[scte.device_restrictions] 10.3.3.1 Un valor entero opcional que indica tres grupos de dispositivos predefinidos, independientes y no jerárquicos. Para obtener más información sobre esta variable, consulta la descripción de segments_expected en la especificación. SCTE-35
[scte.event_id]
9.1 y 9.7.2.1 El valor analizado MediaTailor desde el SCTE-35 camposplice_event_id, como un número largo. MediaTailor usa este valor para designar números lineales de disponibilidad de anuncios o para rellenar las cadenas de consulta del servidor de anuncios, como las posiciones de los pods de anuncios.

El valor debe ser un entero.

[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 una colección de segmentos. Para obtener más información sobre esta variable, consulte la descripción de segment_num en la especificación. SCTE-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 opcional de 8 bits que especifica el tipo de segmentación. Para obtener más información sobre esta variable, consulte la descripción de segmentation_type_id en la especificación. SCTE-35
[scte.segmentation_upid]

segmentation_upid_type: sí

private_data: sí

segmentation_upid: 10.3.3.1

UPID privado gestionado: 10.3.3.3

Corresponde al elemento. SCTE-35 segmentation_upid El segmentation_upid elemento contiene segmentation_upid_type ysegmentation_upid_length.

MediaTailor admite los siguientes segmentation_upid tipos:

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

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

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

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

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

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

[scte.segmentation_upid.assetId] Se utiliza junto con el UPID privado gestionado (0xC) para los flujos de trabajo de Podbuster. segmentation_ upid_type MediaTailorderiva este valor del assetId parámetro de la estructura JSON de la MPU. private_data Para obtener más información, consulte Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.key] Se utiliza junto con el UPID privado gestionado (0xC) para los flujos de trabajo de Podbuster. segmentation_ upid_type MediaTailorderiva este valor del cueData.key parámetro de la estructura JSON de la MPU. private_data Para obtener más información, consulte Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.value] Se utiliza junto con el UPID privado gestionado (0xC) para los flujos de trabajo de Podbuster. segmentation_ upid_type MediaTailorderiva este valor del cueData.key parámetro de la estructura JSON de la MPU. private_data Para obtener más información, consulte Managed Private UPID JSON structure for a podbuster workflow.

El valor puede ser una cadena.

[scte.segmentation_upid.private_data.{index}] Se utiliza junto con el UPID privado gestionado (0xC) segmentation_upid_type para flujos de trabajo publicitarios específicos. MediaTailor divide los tokens UPID de segmentación delimitados por dos puntos y crea variables de sesión indexadas. El índice corresponde a la posición en la lista delimitada por dos puntos, ignorando los espacios en blanco iniciales de los dos puntos iniciales.

Por ejemplo, si: 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

El valor puede ser una cadena.

[scte.segments_expected] 10.3.3.1 Un valor entero opcional que proporciona el recuento esperado de segmentos individuales dentro de una colección de segmentos. Para obtener más información sobre esta variable, consulta la descripción de segments_expected en la especificación. SCTE-35
[scte.sub_segment_num] 10.3.3.1 Un valor entero opcional que identifica un subsegmento en particular dentro de una colección de subsegmentos. Para obtener más información sobre esta variable, consulte la descripción de sub_segment_num en la especificación. SCTE-35
[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. SCTE-35
[scte.unique_program_id] 9.7.2.1 El valor entero analizado por el campo MediaTailor . SCTE-35 splice_insert unique_program_id El ADS utiliza el ID de programa exclusivo (UPID) para proporcionar destinos de anuncios en el nivel del programa para una secuencia lineal en directo. Si el SCTE-35 comando no es inserción de empalme, lo MediaTailor establece en un valor vacío.

El valor debe ser un entero.

[session.avail_duration_ms]

La duración en milisegundos del espacio 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:

  • Para HLS: MediaTailor obtiene la duración a partir de los valores de la etiqueta #EXT-X-CUE-OUT: DURATION o a partir de ellos. #EXT-X-DATERANGE Si el manifiesto introducido tiene una duración nula, inválida o nula para que el anuncio esté disponible en esas etiquetas, MediaTailor utiliza la predeterminada.

  • En el caso de DASH: MediaTailor obtiene el valor de duración de la duración del evento, si se especifica una. De lo contrario, utiliza el valor predeterminado.

  • En el caso de VOD: cuando una transmisión de VOD desencadena una llamada publicitaria previa, si el manifiesto no incluye mensajes SCTE con un valor de duración, MediaTailor no introduce una duración para la [session.avail_duration_ms], incluido el valor de duración predeterminado.

[session.avail_duration_secs] La duración en segundos del espacio de disponibilidad del anuncio, o disponibilidad del anuncio, se redondea al segundo más cercano. MediaTailor determina este valor de la misma manera que determina[session.avail_duration_ms].
[session.client_ip] No La dirección IP remota de la que proviene la MediaTailor solicitud. Si se ha definido el encabezado X-forwarded-for, ese valor es el que MediaTailor utiliza para client_ip.
[session.id] No Un identificador numérico único para la sesión de reproducción actual. Todas las solicitudes que realiza un reproductor para una sesión tienen el mismo ID y, por tanto, ese ID se puede usar para los campos de ADS diseñados para relacionar solicitudes de una única visualización.
[session.referer] No Por lo general, la 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 reproductor no proporciona este encabezado, 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, introduce aquí el encabezado correcto del reproductor como proxy.
[session.user_agent] No El User-Agent encabezado que se MediaTailor recibió de la solicitud de inicialización de sesión del reproductor. Si utiliza una CDN o proxy delante del punto de enlace del manifiesto, debe delegar el encabezado correcto desde el reproductor aquí.
[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
[avail.source_content_time_epoch_ms] No

En el caso de HLS, el valor es la PDT del segmento de origen que inició la disponibilidad. Para DASH, el valor es el <SupplementalProperty> urn:scte:dash:utc-time del <Period> que contiene el. <EventStream>

  • En el caso de los anuncios HLS o DASH que [avail.source_content_time_epoch_ms] se encuentran en la fase previa a la tirada, es el PDT del primer segmento de HLS y el del <SupplementalProperty> urn:scte:dash:utc-time primero. <Period> En el caso de las transmisiones en directo con ventanas de manifiesto cortas, este valor será diferente para cada espectador en función del momento en que comience a ver la transmisión. En el caso de una transmisión en directo con una ventana de DVR de eventos completa, el valor será el mismo para cada espectador.

  • En el caso de las versiones parciales debidas a la supresión de la disponibilidad, [avail.source_content_time_epoch_ms] es el PDT del segmento de contenido de origen que inició la disponibilidad. Por ejemplo, si MediaTailor elimina los primeros 20 segundos del contenido disponible, [avail.source_content_time_epoch_ms] se mantendrá en el PDT original, sin un cambio de 20 segundos.

  • En el caso de las solicitudes de ADS de captura previa, [avail.source_content_time_epoch_ms] está vacío; sin embargo, los clientes pueden configurarlo mediante variables dinámicas de recuperación del cronograma de captura previa.

ejemplo

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

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 de. session.id Si el identificador lo es1234567, la solicitud final que se MediaTailor hace al ADS tendría un aspecto similar al siguiente:

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

Si el ADS requiere que se pasen varios parámetros de consulta, la URL del ADS de la plantilla 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 fragmento XML de ejemplo del marcador DASH 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 fragmento XML de ejemplo de marcador DASH 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 fragmento XML de ejemplo de marcador DASH 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 etiqueta HLS se muestra cómo EXT-X-DATERANGE utilizarla:

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

El siguiente ejemplo de etiqueta HLS muestra cómo utilizarla: EXT-X-CUE-OUT

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

El siguiente ejemplo de etiqueta HLS muestra cómo utilizarla: EXT-X-SPLICEPOINT-SCTE35

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

El siguiente ejemplo muestra cómo usar 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 } }