Esta página contém um resumo das práticas recomendadas para a API Video Stitcher. Se você está começando a usar a API Video Stitcher, consulte o guia de início rápido para transmissões ao vivo ou o guia de início rápido para recursos de VOD.
Condição dos recursos de VOD
Configure codificadores e transcodificadores de origem para gerar manifestos compatíveis com intervalos de anúncios entre períodos DASH e segmentos HLS. A API Video Stitcher não vai dividir períodos ou segmentos para unir intervalos de anúncio. Por isso, os intervalos de anúncio são unidos apenas nos limites de período e segmento.
Para tags de anúncio que retornam respostas VMAP, cada intervalo de anúncio especificado no VMAP precisa corresponder a um período ou limite de segmento. Caso contrário, os intervalos de anúncios serão costurados no limite mais próximo.
Evite o desalinhamento do intervalo de anúncio para HLS
Para a junção de VOD, você precisa pré-condicionar o manifesto de vídeo de origem para intervalos de anúncios intermediários e configurar a tag de anúncio da playlist de vários anúncios em vídeo (VMAP) para retornar intervalos de anúncios intermediários nas posições de deslocamento pré-condicionadas. A API Video Stitcher usa o resultado da saída transcodificada e insere anúncios o mais próximo possível do local especificado. Use entradas pré-condicionadas para intervalos de anúncios intermediários para tornar o comportamento de junção de anúncios consistente e preciso.
Por exemplo, a playlist de vídeo a seguir mostra uma oportunidade de veiculação de anúncios na marca de sete segundos:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:4
#EXTINF:2.0
../video/180_250000/hls/segment_0.ts
#EXTINF:2.0
../video/180_250000/hls/segment_1.ts
#EXTINF:2.0
../video/180_250000/hls/segment_2.ts
#EXTINF:1.0
../video/180_250000/hls/segment_3.ts
#EXT-X-PLACEMENT-OPPORTUNITY
#EXTINF:2.0
../video/180_250000/hls/segment_4.ts
A playlist de áudio a seguir mostra uma oportunidade de veiculação de anúncios na marca de sete segundos:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:4
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_0.ts
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_1.ts
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_2.ts
#EXTINF:1.03
../audio/1_stereo_128000/hls/segment_3.ts
#EXT-X-PLACEMENT-OPPORTUNITY
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_4.ts
A configuração do VMAP a seguir especifica que um intervalo de anúncio vai ocorrer aos sete segundos. As playlists de vídeo e áudio vão conter intervalos de anúncios exatamente na marca de sete segundos:
<vmap:VMAP xmlns:vmap="http://www.iab.net/videosuite/vmap" version="1.0">
<vmap:AdBreak timeOffset="00:00:07.000" breakType="linear" breakId="midroll‑1">
<vmap:AdSource id="midroll-1‑ad‑1" allowMultipleAds="false" followRedirects="true">
<vmap:AdTagURI templateType="vast3">
<![CDATA[
https://securepubads.g.doubleclick.net/gampad/ads?...
]]>
</vmap:AdTagURI>
</vmap:AdSource>
</vmap:AdBreak>
</vmap:VMAP>
Definir EXT-X-PROGRAM-DATE-TIME para HLS
Para garantir que os tempos dos segmentos sejam sincronizados em todas as renderizações do HLS, recomendamos que você defina EXT-X-PROGRAM-DATE-TIME
para cada renderização do HLS.
Isso ajuda os jogadores a fazer a transição de forma suave ao mudar as renderizações durante a
reprodução.
Usar manifestos DASH de vários períodos para recursos ao vivo e VOD
Configure codificadores e transcodificadores de origem para gerar manifestos DASH com vários períodos em vez de um único período. Por motivos semelhantes ao condicionamento de VOD, a API Video Stitcher não vai dividir períodos para unir intervalos de anúncios. Portanto, um manifesto DASH com vários períodos terá mais oportunidades de unir intervalos de anúncios nas durações esperadas.
Encapsular legendas em ISOBMFF
As legendas dos manifestos DASH precisam ser encapsuladas no formato de arquivo de mídia base ISO (ISOBMFF), como MP4, para compatibilidade com a maioria dos players de mídia.
Usar taxas de bits constantes
Para garantir uma experiência de reprodução estável para transmissões ao vivo, configure o codificador de origem ou o transcodificador para usar taxas de bits constantes ao gerar manifestos de transmissão. Isso permite que a API Video Stitcher combine anúncios de forma mais consistente para corresponder aos perfis de codificação especificados nos manifestos.
Usar marcadores de anúncio compatíveis
Consulte a documentação de marcadores de anúncio para entender quais marcadores de anúncio são aceitos e como os codificadores de origem ou os transcodificadores precisam gerar marcadores de anúncio para garantir que os intervalos de anúncio sejam unidos com sucesso.
Verificar a reprodução da fonte
Para garantir uma experiência de reprodução estável para transmissões ao vivo e VOD, use players de clientes amplamente disponíveis para verificar se os streams de origem podem ser reproduzidos antes de unir com a API Video Stitcher.
HLS:
DASH:
Gerenciar chaves da CDN
Se a mídia de origem estiver protegida pela assinatura de URL, será necessário registrar as chaves do CDN com a API Video Stitcher. Isso permite que a API:
- Buscar os manifestos de vídeo de origem para a junção
- Assinar os segmentos de vídeo de origem para que os players possam buscar os segmentos de vídeo para reprodução
Confira informações sobre como gerenciar chaves do CDN.
Configurar CDN de mídia
Se você quiser configurar o Media CDN para distribuir os recursos de mídia, siga o Guia de início rápido do Media CDN.
Configure rotas separadas com TTLs apropriados para seus manifestos e segmentos de mídia. Para detalhes e exemplos, consulte o guia de roteamento avançado do Media CDN.
Se alguma das suas rotas usar origens particulares do Cloud Storage, consulte
Usar buckets particulares do Cloud Storage.
Especifique o modo de cache para essas rotas como FORCE_CACHE_ALL
.
Para saber como configurar o HTTPS, consulte Configurar certificados SSL (TLS).
Solicitações assinadas do Media CDN
Para usar o Media CDN com solicitações assinadas ativadas, consulte Usar solicitações assinadas e siga estas instruções:
Crie um par de chaves assimétricas. Para mais informações sobre como criar uma chave privada compatível com a API Video Stitcher, consulte Criar uma chave privada para a Media CDN.
Registre a chave privada do Media CDN com a API Video Stitcher.
Limite de duração para sessões ao vivo de longa duração
Um recurso LiveSession não expirará a menos que 5 minutos tenham se passado sem solicitações de playlist. No entanto, um ciclo de vida máximo de 180 dias é aplicado a todos os URIs de reprodução. Para continuar a reprodução após 180 dias, crie uma nova sessão ao vivo. Para garantir a confiabilidade, crie uma nova sessão ao vivo pelo menos a cada 30 dias.