Inserta anuncios con el redireccionamiento de segmentos

En esta guía, se explica cómo configurar tu manipulador de manifiestos para solicitar segmentos de anuncios o cortinillas de video con el método de segmento de grupo de anuncios.

Selecciona un protocolo de transmisión:

Requisitos previos

Antes de continuar, debes configurar un evento de transmisión en vivo para el tipo de inserción de anuncios dinámicos (DAI) de redireccionamiento de publicación de Pod y los perfiles de codificación. Para configurar un evento de transmisión en vivo, elige uno de los siguientes métodos:

Después de configurar el evento de transmisión en vivo, recupera los perfiles de codificación del evento desde la IU o la API de Ad Manager llamando al método DaiEncodingProfileService.getDaiEncodingProfilesByStatement.

Recupera la transmisión de contenido

Cuando un usuario selecciona un evento de transmisión en vivo, la app cliente realiza una solicitud de transmisión a Google Ad Manager. En la respuesta de transmisión, la app extrae el ID de sesión y los metadatos de la DAI de Google para incluirlos en la solicitud del manifiesto de transmisión.

En el siguiente ejemplo, se pasa un ID de sesión de la DAI de Google a un manipulador de manifiestos:

https://MANIFEST_MANIPULATOR_URL/manifest.m3u8?DAI_stream_ID=SESSION_ID&network_code=NETWORK_CODE&DAI_custom_asset_key=CUSTOM_ASSET_KEY

Cuando proceses la solicitud de reproducción de contenido de video, almacena el ID de sesión de la DAI de Google y CUSTOM_ASSET_KEY de la solicitud para preparar la inserción de anuncios.

Identifica los segmentos de pausas publicitarias e inserta discontinuidades

A medida que procesas cada manifiesto de variantes, identifica las etiquetas EXT-X-CUE-IN y EXT-X-CUE-OUT en tu transmisión, que indican el inicio y el final de una pausa publicitaria.

Reemplaza las etiquetas EXT-X-CUE-IN y EXT-X-CUE-OUT por los elementos EXT-X-DISCONTINUITY para que el reproductor de video del cliente pueda cambiar entre el contenido y los anuncios.

En el siguiente ejemplo de manifiesto, se reemplazan las etiquetas EXT-X-CUE-IN y EXT-X-CUE-OUT:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXT-X-CUE-OUT:15.000
#EXTINF:5.000,
contentorigin.com/3.ts
#EXTINF:5.000,
contentorigin.com/4.ts
#EXTINF:5.000,
contentorigin.com/5.ts
#EXT-X-CUE-IN
#EXTINF:5.000,
contentorigin.com/6.ts
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4

En el siguiente ejemplo, se muestra un manifiesto reemplazado:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXTINF:5.000,
#EXT-X-DISCONTINUITY
{... Insert ad segments here ...}
#EXT-X-DISCONTINUITY
#EXTINF:5.000,
contentorigin.com/6.mp4
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4

Los segmentos de anuncios de la DAI de Google no están encriptados. Si tu contenido está encriptado, quita la encriptación insertando el elemento EXT-X-KEY:METHOD=NONE antes del primer segmento de anuncio de cada pausa publicitaria. Al final de la pausa publicitaria, vuelve a agregar la encriptación insertando un EXT-X-KEY adecuado.

Realiza un seguimiento de la hora de inicio, la duración y el índice de la próxima pausa publicitaria.

Crea URLs de segmentos de anuncios

Reemplaza cada segmento de contenido entre las etiquetas EXT-X-DISCONTINUITY por una URL que apunte al método de segmento de la tanda de anuncios.

En el siguiente ejemplo, se ensambla un segmento de pod de anuncios. Ten en cuenta que los segmentos de anuncios usan un índice basado en cero:

https://dai.google.com/linear/pods/v1/seg/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=AD_SEGMENT_DURATION&pd=AD_BREAK_DURATION&stream_id=SESSION_ID&auth-token=HMAC

En el siguiente ejemplo, se insertan los segmentos del pod de anuncios en el manifiesto:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.00,
contentorigin.com/1.ts
#EXTINF:5.00,
contentorigin.com/2.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=5000&so=0&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/1.ts?sd=5000&so=5000&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/2.ts?sd=5000&so=10000&pd=15000&stream_id=SESSION_ID
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
contentorigin.com/6.mp4
#EXTINF:5.00,
contentorigin.com/7.mp4
#EXTINF:5.00,
contentorigin.com/8.mp4

Opcional: Programa una pausa publicitaria

Para mejorar tu tasa de relleno, envía una notificación de Early Ad Break Notification (EABN) con la duración del grupo de anuncios, los parámetros de segmentación personalizada y los datos de la señal SCTE-35. Para obtener más información, consulta Cómo enviar notificaciones anticipadas de pausas publicitarias.