Migração de HLS no player Shaka

Visão geral

O SDK do receptor da Web do Cast oferece suporte à reprodução de conteúdo usando vários web protocolos de streaming. 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 Media Player Library (MPL) é carregada. No caso de conteúdo DASH, o Shaka Player é carregado.

A partir de agora, as equipes de engenharia do SDK do Cast e do Shaka Player estão consolidando esforços para aumentar o suporte à reprodução de conteúdo HLS no Shaka Player. A MPL não vai mais receber atualizações importantes. 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 player, os aplicativos aproveitam os seguintes benefícios:

  • Sessões de streaming mais robustas para os usuários, com melhorias nas falhas de tempo de carregamento e na latência.
  • Adoção contínua dos recursos mais recentes do HLS.
  • Maior clareza na análise da causa raiz para problemas de compatibilidade de conteúdo do player 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 para o projeto do Shaka Player.
  • Uma redução significativa no tempo de produção de recursos e correções de bugs , já que a cadência de lançamento do Shaka Player é frequente e independente dos lançamentos do SDK do receptor da Web.
  • Maior controle sobre o ambiente de reprodução fornecido pela shakaVersion API.
  • Maior suporte à reprodução do Google com recursos de engenharia focados na reprodução de HLS no Shaka Player, conforme mostrado no roteiro.

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 fases para orientar os parceiros no processo de migração.

Fase Data de início Visão geral
1 Outubro de 2022 O SDK do receptor da Web do Cast introduziu APIs para ativar a reprodução de conteúdo HLS no Shaka Player.
2 18 de maio de 2026 O SDK do receptor da Web do Cast mudou o player padrão para o Shaka Player para a reprodução de conteúdo HLS.

As equipes de engenharia do SDK do receptor da Web estão adotando uma abordagem orientada pela performance e só vão passar para a próxima fase quando a performance do Shaka Player estiver no mesmo nível da performance de referência da MPL. Essas mudanças serão anunciadas no grupo do Google cast-sdk-announcements e atualizadas em este 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 de HLS. Essa versão também introduz uma API para selecionar um intervalo compatível de versões do Shaka Player a serem carregadas. Esses indicadores são fornecidos na CastReceiverOptions classe pelas useShakaForHls e shakaVersion propriedades e são avaliados quando o CastReceiverContext é iniciado. Qualquer aplicativo que ative o Shaka para HLS precisa definir uma versão do Shaka Player de pelo menos 4.15.55 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 de conteúdo no Shaka Player antes de ativar o uso do Shaka Player no app de produção. Recomendamos testar cada uma das variações do conteúdo listadas abaixo:

  • Tipos de stream: 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 dispositivos: telas inteligentes, dongles do Google Cast, dispositivos Android TV, TVs com Google Cast, alto-falantes inteligentes

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

Desativar

O SDK do receptor da Web vai fazer a transição para um modelo de desativação da reprodução de conteúdo HLS do Shaka Player de acordo com o cronograma. A propriedade useShakaForHls vai mudar o valor padrão de false para true. Nesse momento, os aplicativos poderão usar a MPL para reprodução de HLS definindo manualmente essa propriedade como false. Quando o CastReceiverContext for iniciado, o SDK do receptor da Web vai reverter para carregar a MPL em vez do Shaka Player. Consulte 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 registrar todos os problemas encontrados ao reproduzir conteúdo HLS. Como mencionado, a MPL não vai mais receber atualizações importantes. Se você encontrar problemas com a MPL, siga as etapas na seção Ativação do guia para verificar se a mudança para o Shaka Player vai desbloquear o seu problema. Siga as etapas abaixo se o problema ainda estiver presente ou se você encontrar um problema diferente ao mudar de player.

  1. Tente definir a shakaVersion para uma versão de ramificação diferente para resolver o problema. Por exemplo, se o problema ocorrer na ramificação 4.15, tente definir a versão mais recente em outra ramificação. Consulte as notas de lançamento do Shaka Player para encontrar lançamentos com as atualizações mais relevantes. Observe que a API shakaVersion tem uma versão mínima e máxima com suporte, conforme detalhado na documentação de referência. Se você observar 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 PlayerConfiguration objeto. O SDK do receptor da Web define um conjunto de valores padrão e permite que os aplicativos modifiquem essa configuração pela shakaConfig propriedade no PlaybackConfig objeto. Isso é avaliado durante o tempo de carregamento quando a instância do player é 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. Verifique se o problema foi informado no Issue Tracker do Shaka Player ou no Issue Tracker do Cast. Comente 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 você descobrir que o problema se reproduz 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 Cast se você tiver um problema exclusivo do Shaka Player nos endpoints do Cast.

Perguntas frequentes

A mudança de players pode gerar muitas dúvidas. Abaixo, você encontra as perguntas mais comuns respondidas para ajudar no processo de migração.

Preciso migrar para o Shaka Player?

Incentivamos nossos parceiros que usam conteúdo HLS a iniciar o processo de migração o mais rápido possível. Como resultado, seu app vai oferecer uma experiência de streaming mais robusta para os 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 para quando o SDK do receptor da Web fizer a transição 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 mudar de player?

Os parceiros precisam testar o aplicativo e o conteúdo em um ambiente de teste para garantir que a experiência do usuário seja semelhante ou melhorada em comparação com o HLS. Para fazer 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 Validar conteúdo para detalhes sobre os aspectos do conteúdo em que você precisa se concentrar. Depois de validado, os parceiros precisam adicionar o indicador para ativar no ambiente de aplicativo de produção para começar a aproveitar os benefícios oferecidos pelo Shaka Player. Em um nível alto, há mudanças mínimas 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?

Novas integrações precisam ativar o uso do Shaka Player para reprodução. Seu aplicativo terá um suporte melhor a longo prazo e também aproveitará os novos recursos do HLS e as melhorias de performance. Se a nova integração estiver com problemas, registre um bug o mais rápido possível para dar à equipe de engenharia tempo suficiente para resolver o problema. Se o aplicativo tiver um prazo apertado, inclua essas informações no relatório de bugs, bem como o impacto para priorizar de acordo. Nossa equipe de engenharia vai trabalhar para fornecer uma solução que ofereça suporte adequado aos usuários.

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

Registre um bug no projeto do Shaka Player ou no projeto do Cast (consulte Informar problemas). A equipe de engenharia do SDK do Cast está monitorando ativamente esses rastreadores e vai trabalhar com você para resolver todos os problemas. Quanto mais cedo esses problemas forem detectados, mais tempo eles terão para entregar uma correção.

A MPL não vai mais receber atualizações importantes. O que isso significa exatamente?

Historicamente, a MPL adotou novos recursos do HLS e corrigiu bugs importantes por meio de atualizações críticas. Agora que a MPL não vai mais recebê-las, novos recursos do HLS não serão adicionados ao player. Da mesma forma, nenhum problema informado para reprodução de HLS na MPL será corrigido na MPL. Esses problemas precisam ser resolvidos mudando para o Shaka Player para reprodução. Se os problemas persistirem, um bug deverá ser registrado com os problemas relevantes enfrentados no Shaka Player. Os parceiros precisam parar de usar a MPL.

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

Os binários da MPL ainda serão hospedados e acessíveis ao aplicativo receptor. No entanto, nenhuma solicitação de recurso e correção de bugs relacionados ao Smooth Streaming será aceita, já que a especificação do Smooth Streaming não é 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, você não será afetado pela migração. Nenhuma mudança é necessária no aplicativo.