Inserir anúncios usando o redirecionamento de segmento

Este guia aborda a configuração do manipulador de manifesto para solicitar segmentos de anúncio ou de tela de espera usando o método de segmento de conjunto de anúncios .

Selecione um protocolo de streaming:

Pré-requisitos

Antes de continuar, configure um evento de transmissão ao vivo para o tipo de inserção de anúncios dinâmicos (DAI, na sigla em inglês) Redirecionamento de exibição de conjunto e perfis de codificação. Para configurar um evento de transmissão ao vivo, escolha um dos seguintes métodos:

Depois de configurar o evento de transmissão ao vivo, recupere os perfis de codificação do evento na interface ou na API do Ad Manager chamando DaiEncodingProfileService.getDaiEncodingProfilesByStatement método.

Recuperar o stream de conteúdo

Quando um usuário seleciona um evento de transmissão ao vivo, o app cliente faz uma solicitação de stream para o Google Ad Manager. Na resposta do stream, o app extrai o ID da sessão e os metadados da DAI do Google para incluir na solicitação de manifesto do stream.

O exemplo a seguir transmite um ID de sessão da DAI do Google para um manipulador de manifesto:

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

Ao processar a solicitação de reprodução de conteúdo de vídeo, armazene o ID da sessão da DAI do Google e CUSTOM_ASSET_KEY da solicitação para se preparar para a costura de anúncios.

Identificar segmentos de intervalo de anúncio e inserir descontinuidades

Ao processar cada manifesto de variante, identifique as tags EXT-X-CUE-IN e EXT-X-CUE-OUT no stream, indicando o início e o fim de um intervalo de anúncio.

Substitua as tags EXT-X-CUE-IN e EXT-X-CUE-OUT pelos elementos EXT-X-DISCONTINUITY para que o player de vídeo do cliente alterne entre conteúdo e anúncios.

O exemplo de manifesto a seguir substitui as tags EXT-X-CUE-IN e 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

O exemplo a seguir mostra um manifesto substituído:

#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

Os segmentos de anúncio da DAI do Google não são criptografados. Se o conteúdo estiver criptografado, remova a criptografia inserindo o elemento EXT-X-KEY:METHOD=NONE antes do primeiro segmento de anúncio de cada intervalo de anúncio. No final do intervalo de anúncio, adicione a criptografia novamente inserindo um EXT-X-KEY apropriado.

Acompanhe o horário de início, a duração e o índice do próximo intervalo de anúncio futuro.

Criar URLs de segmento de anúncio

Substitua cada segmento de conteúdo entre as tags EXT-X-DISCONTINUITY por um URL que aponte para o método de segmento de conjunto de anúncios.

O exemplo a seguir monta um segmento de conjunto de anúncios. Os segmentos de anúncio usam um índice baseado em zero:

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

O exemplo a seguir insere os segmentos de conjunto de anúncios no manifesto:

#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: programar um intervalo de anúncio

Para melhorar a taxa de preenchimento, envie uma notificação de intervalo de anúncio antecipado (EABN, na sigla em inglês) com a duração do conjunto de anúncios, parâmetros de segmentação personalizada e dados de sinal SCTE-35. Para mais detalhes, consulte Enviar notificações de intervalo de anúncio antecipado.