Migração de HLS no player Shaka

Visão geral

O SDK do Cast Web Receiver oferece suporte à reprodução de conteúdo usando vários protocolos de streaming da Web. Com base no protocolo usado, o SDK carrega um player para processar a reprodução do conteúdo. No caso de conteúdo HLS, a biblioteca do player de mídia (MPL) é carregada. No caso de conteúdo DASH, o Shaka Player é carregado.

No futuro, as equipes de engenharia do Cast SDK e do Shaka Player vão consolidar os esforços para aumentar o suporte à reprodução de conteúdo HLS no Shaka Player. O MPL não vai mais receber atualizações críticas. Recomendamos que você ative o uso do Shaka Player para a reprodução de conteúdo HLS do seu aplicativo.

Benefícios do Shaka Player

Ao mudar de jogador, os aplicativos aproveitam os seguintes benefícios:

  • Sessões de streaming mais robustas para os usuários, com melhorias no tempo de carregamento e na latência.
  • Continuação da adoção dos recursos mais recentes do HLS.
  • Mais clareza na análise da causa raiz para problemas de compatibilidade entre o player e o conteúdo devido à natureza de código aberto do Shaka Player.
  • A base de código do player de código aberto permite que os parceiros contribuam com o projeto Shaka Player.
  • Uma redução significativa no tempo de correção de bugs e recursos para produção, já que a cadência de lançamento do Shaka Player é frequente e independente dos lançamentos do SDK do Web Receiver.
  • Maior controle sobre o ambiente de reprodução fornecido pela API shakaVersion.
  • Aumento do suporte à reprodução do Google com recursos de engenharia focados na reprodução HLS no Shaka Player, conforme mostrado no mapa do produto.

Cronograma

O SDK do receptor da Web vai passar a usar o Shaka Player como o player padrão para a reprodução de conteúdo HLS. Isso será feito em etapas para orientar os parceiros no processo de migração.

Fase Data de início Visão geral
1 22 de outubro O SDK do receptor do Google Cast para Web apresenta APIs para ativar a reprodução de conteúdo HLS no Shaka Player.
2 1º semestre de 2025 O SDK do Cast Web Receiver muda o player padrão para o Shaka Player para a reprodução de conteúdo HLS.

As equipes de engenharia do SDK do Web Receiver estão adotando uma abordagem orientada à performance e só vão prosseguir para a próxima fase quando o desempenho do Shaka Player estiver no mesmo nível do desempenho de referência do MPL. Essas mudanças serão anunciadas no grupo de anúncios do Google cast-sdk-announcements e atualizadas neste guia.

Ativar

A partir da versão 3.0.0105 do CAF, há uma configuração no nível do aplicativo para ativar o uso do Shaka Player para reprodução HLS. Essa versão também apresenta uma API para selecionar entre um intervalo com suporte de versões do Shaka Player para carregar. Essas flags são fornecidas na classe CastReceiverOptions pelas propriedades useShakaForHls e shakaVersion e são avaliadas quando o CastReceiverContext é iniciado. Qualquer aplicativo que ative o Shaka para HLS precisa definir uma versão do player Shaka de pelo menos 4.3.4 para aproveitar as melhorias mais recentes do HLS. Para ativar, siga o snippet de código abaixo:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;

context.start(castReceiverOptions);

Validar conteúdo

Os parceiros precisam validar a reprodução do conteúdo no Shaka Player antes de optar por usá-lo no app de produção. Recomendamos testar cada uma das variações do conteúdo listadas abaixo:

  • Tipos de transmissão: AO VIVO ou VOD
  • Formatos de contêiner: TS, MP4 ou streams elementares
  • Conteúdo com descontinuidades ou anúncios incorporados
  • Reprodução nos seguintes tipos de dispositivo: telas inteligentes, dongles Chromecast, dispositivos Android TV, TVs com Chromecast built-in e alto-falantes inteligentes

Se você encontrar erros ou comportamentos inesperados, relate um bug. Depois de verificar que não há falhas de reprodução críticas no conteúdo, envie as mudanças para o ambiente de produção.

Desativar

O SDK do Web Receiver vai fazer a transição para um modelo de desativação da reprodução de conteúdo HLS do Shaka Player de acordo com a linha do tempo. A propriedade useShakaForHls vai mudar o valor padrão de false para true. Nesse momento, os aplicativos podem escolher usar o MPL para reprodução do HLS definindo manualmente essa propriedade como false. Quando o CastReceiverContext é iniciado, o SDK do Web Receiver volta a carregar o MPL em vez do Shaka Player. Confira o exemplo abaixo para saber como desativar:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;

context.start(castReceiverOptions);

Informar problemas

Incentivamos nossos parceiros a informar qualquer problema encontrado ao reproduzir conteúdo HLS. Como mencionado, o MPL não vai mais receber atualizações críticas. Se houver algum problema com o MPL, siga as etapas na seção Ativar do guia para verificar se a mudança para o Shaka Player vai resolver o problema. Siga as etapas abaixo se o problema ainda estiver presente ou se você encontrar um problema diferente ao trocar de jogador.

  1. Tente definir o shakaVersion para uma versão de ramificação diferente para resolver o problema. Por exemplo, se o problema ocorrer na ramificação 4.3, tente definir a versão mais recente nas versões 4.2.x ou 3.3.x. Consulte as notas da versão do Shaka Player para encontrar as versões com as atualizações mais relevantes. A API shakaVersion tem uma versão mínima e máxima com suporte, conforme detalhado na documentação de referência. Se você notar que há uma regressão, informe o problema no Issue Tracker do Shaka Player.
  2. Tente mudar os parâmetros de configuração do player. O Shaka Player pode ser configurado pelo objeto PlayerConfiguration. O SDK do receptor da Web define um conjunto de valores padrão e permite que os aplicativos modifiquem essa configuração usando a propriedade shakaConfig no objeto PlaybackConfig. Isso é avaliado durante o tempo de carregamento, quando a instância do jogador é criada. Saiba mais em

    configuração e opções do aplicativo. Os valores padrão definidos pelo SDK do receptor da Web são os valores recomendados.

  3. Confira se o problema foi informado no Issue Tracker do Shakti Player ou no Issue Tracker do Cast. Comente sobre o bug e adicione informações relevantes se ele também descrever seu problema.

  4. Teste seu conteúdo no site de demonstração do Shaka Player. Se o problema for reproduzido no site de demonstração do seu conteúdo, registre um bug no projeto do Shaka Player.

  5. Registre um bug no Issue Tracker do Google Cast se você tiver um problema exclusivo do Shaka Player em endpoints de transmissão.

Perguntas frequentes

Mudar de jogador pode gerar muitas dúvidas. Abaixo, você encontra as perguntas mais frequentes respondidas para ajudar no processo de migração.

Preciso migrar para o Shaka Player?

Recomendamos que nossos parceiros que usam conteúdo HLS iniciem o processo de migração assim que possível. Como resultado, o app vai oferecer uma experiência de streaming mais robusta aos usuários. Mais benefícios são descritos na seção Benefícios do Shaka Player deste guia. Os parceiros precisam verificar se os apps estão funcionando corretamente usando o Shaka Player para garantir uma transição tranquila. Alguns apps podem estar em risco quando o SDK do Web Receiver transita para um modelo de desativação se os parceiros não verificarem se o conteúdo é reproduzido corretamente no Shaka Player com antecedência.

Qual é o nível de esforço esperado ao trocar de jogador?

Os parceiros vão precisar testar o aplicativo e o conteúdo em um ambiente de teste para garantir que a experiência do usuário seja semelhante ou melhor em comparação com o HLS. Para isso, os parceiros precisam ativar o recurso em um ambiente interno e testar completamente se o conteúdo pode ser reproduzido usando o Shaka Player. Consulte Como validar o conteúdo para saber em quais aspectos do conteúdo se concentrar. Após a validação, os parceiros precisarão adicionar a flag para ativar o recurso no ambiente de produção do aplicativo para começar a aproveitar os benefícios fornecidos pelo Shaka Player. De modo geral, há mínimas mudanças no desenvolvimento de software e, principalmente, requisitos de controle de qualidade para que nossos parceiros migrem com sucesso.

Meu aplicativo vai usar o HLS para transmitir conteúdo em breve. O que devo fazer?

As novas integrações precisam ativar o uso do Shaka Player para reprodução. O seu app terá melhor suporte a longo prazo e também aproveitará os novos recursos e melhorias de desempenho do HLS. Se a nova integração estiver com problemas, registre um bug o mais rápido possível para que a equipe de engenharia tenha tempo suficiente para resolver o problema. Se o prazo do seu aplicativo for curto, inclua essas informações no relatório de bug, bem como o impacto para priorizar adequadamente. Nossa equipe de engenharia vai trabalhar para oferecer uma solução que ofereça suporte adequado aos seus usuários.

Meu conteúdo ou app não funciona com o Shaka Player. E agora?

Informe um bug no projeto do player Shaka ou no projeto Cast (consulte Report issues). A equipe de engenharia do SDK do Cast está monitorando ativamente esses rastreadores e vai trabalhar com você para resolver os problemas. Quanto mais cedo esses problemas forem detectados, mais tempo eles terão para corrigi-los.

O MPL não recebe mais atualizações críticas. O que isso significa exatamente?

Historicamente, o MPL adotou novos recursos do HLS e corrigiu bugs importantes com atualizações críticas. Agora que o MPL não vai mais receber esses recursos, os novos recursos do HLS não serão adicionados ao player. Da mesma forma, os problemas relatados para a reprodução de HLS no MPL não serão corrigidos no MPL. Esses problemas serão resolvidos ao mudar para o Shaka Player para reprodução. Se os problemas persistirem, um bug precisa ser registrado com os problemas relevantes enfrentados no Shaka Player. Os parceiros precisam parar de usar o MPL.

Meu conteúdo usa o protocolo Smooth Streaming. Como isso afeta meu app?

Os binários do MPL ainda serão hospedados e acessíveis ao seu aplicativo receptor. No entanto, não será possível usar solicitações de recursos e correções de bugs relacionados ao Smooth Streaming, já que a especificação do Smooth Streaming não foi atualizada há mais de quatro anos. Recomendamos migrar seu conteúdo para usar o protocolo de streaming DASH ou HLS para continuar recebendo atualizações de performance e suporte para seu conteúdo.

Meu conteúdo não usa os protocolos HLS ou Smooth Stream. Como isso afeta meu aplicativo?

Se a biblioteca de conteúdo não usar nenhum desses protocolos de streaming, a migração não vai afetar você. Não é necessário fazer nenhuma mudança na sua inscrição.