Migração de HLS no player Shaka

Visão geral

O SDK do receptor da Web do Google Cast oferece suporte à reprodução de conteúdo usando vários tipos de Web protocolos de streaming. Com base no usado, o SDK carrega um player para lidar com a reprodução do conteúdo. Na caso de conteúdo HLS, a biblioteca Media Player (MPL) será carregada. No caso de conteúdo DASH, Shaka Player é carregado.

Daqui para frente, as equipes de engenharia do SDK do Cast e do Shaka Player consolidamos os esforços para aumentar o suporte à reprodução de conteúdo HLS no Shaka. Jogador. O MPL não receberá mais atualizações críticas. Recomendamos que você ative para usar o Shaka Player para a reprodução do conteúdo HLS do aplicativo.

Benefícios do Shaka Player

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

  • Sessões de streaming mais robustas para usuários, com melhorias no tempo de carregamento e latência.
  • Adoção contínua dos recursos mais recentes de HLS.
  • Maior clareza na análise da causa raiz do conteúdo dos jogadores problemas de compatibilidade devido à natureza de código aberto do Shaka Player.
  • A base de código do player de código aberto permite que os parceiros contribuem para o Projeto Shaka Player.
  • Uma redução significativa no tempo de produção de recursos e correções de bugs, Lançamento de Shaka Player cadência é frequente e independente das versões do SDK do receptor da Web.
  • Maior controle sobre o ambiente de reprodução fornecido pelo API shakaVersion.
  • Maior suporte à reprodução do Google com recursos de engenharia focada na reprodução HLS no Shaka Player, conforme visto no roteiro.

Cronograma

O SDK do receptor da Web vai passar a usar o Shaka Player como player padrão para 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 Google Cast apresenta APIs para ativar (link em inglês) a reprodução de conteúdo HLS no Shaka Player.
2 2o semestre de 2024 O SDK do receptor da Web do Google Cast muda o player padrão para Shaka Player (link em inglês) na reprodução do conteúdo HLS.

As equipes de engenharia do SDK do receptor da Web estão adotando uma abordagem orientada por desempenho e só vai para a próxima fase quando a performance do Shaka Player de acordo com o desempenho de referência do MPL. Essas mudanças serão anunciadas no cast-sdk-announcements google group e atualizados em neste guia.

Ativar

A partir da versão 3.0.0105 do CAF, há um nível do aplicativo para aceitar o uso do Shaka Player na reprodução HLS. Esta versão também introduz uma API para selecionar entre uma variedade de versões com suporte do Shaka Player para carregar. Essas sinalizações são fornecidas classe CastReceiverOptions pela useShakaForHls e shakaVersion e são avaliados quando o CastReceiverContext for iniciado. Qualquer aplicativo que opte pelo Shaka para HLS precisa definir uma versão do Shaka Player de pelo menos 4.3.4 para aproveitar o as melhorias mais recentes de 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 para usar o Shaka Player em seu aplicativo de produção. Recomendamos testar para cada um as variações do seu 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 dispositivos: smart displays, dongles do Chromecast, Dispositivos Android TV, TVs com Chromecast built-in e alto-falantes inteligentes

Se você encontrar erros ou comportamentos inesperados, registre um bug. Depois de verificar se não há falhas críticas de reprodução no seu envie as alterações para seu ambiente de produção.

Desativar

O SDK do receptor da Web vai mudar para um modelo de recusa para o Shaka Player HLS reprodução do conteúdo de acordo com o cronograma. A propriedade O useShakaForHls vai mudar o valor padrão de false a true. No momento, os aplicativos podem optar por usar o MPL para HLS a reprodução definindo manualmente essa propriedade como false. Quando o CastReceiverContext for iniciado, o SDK do receptor da Web será revertido para carregamento MPL em vez do Shaka Player. Confira o exemplo abaixo para saber como fazer a desativação:

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 qualquer problema encontrado ao jogar HLS. conteúdo. Como mencionado, o MPL não vai mais receber atualizações críticas. Se houver problemas com o MPL, siga as etapas na seção Ativar do guia para verificar se mudar para o Shaka Player desbloqueia seu problema. Siga as etapas abaixo se o problema ainda estiver presente ou se você encontrar um problema diferente ao trocar de player.

  1. Tente definir o shakaVersion como um uma versão diferente da ramificação para resolver o problema. Por exemplo, se o problema for encontrado na ramificação 4.3, tente defini-lo para a versão mais recente no as versões 4.2.x ou 3.3.x. Confira a versão do Shak Player anotações para encontrar com as atualizações mais relevantes. Observe que o A API shakaVersion tem valores mínimos e máximos compatível, conforme detalhado na documentação de referência. Se você observar que há uma regressão, informe o problema na página Shaka Player issuetracker.
  2. Tente mudar os parâmetros de configuração do player. Shaka Player é configurável por meio do Objeto PlayerConfiguration. A Web O SDK do receptor define um conjunto de valores padrão e permite que os aplicativos modificar essa configuração pela Propriedade shakaConfig em PlaybackConfig objeto. É avaliado durante o tempo de carregamento, quando a instância do player é criados. Saiba mais em

    configuração do aplicativo e . O padrão valores definidos pelo SDK do receptor da Web são os valores recomendados.

  3. Verifique se o problema foi relatado no Shaka Player issuetracker ou o Cast issuetracker. Comente sobre o bug e adicione o que for relevante informações caso elas também descrevam seu problema.

  4. Teste seu conteúdo no site de demonstração do Shak Player. Se você descobrir se o problema é reproduzido no site de demonstração de seu conteúdo, registre uma com o projeto do Shaka Player.

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

Perguntas frequentes

Mudar os participantes pode gerar muitas perguntas. Abaixo, você encontra perguntas frequentes respondidas para orientar você durante o processo de migração.

Devo migrar para o Shaka Player?

Incentivamos nossos parceiros que usam conteúdo HLS a iniciar o processo de migração assim que possível. Como resultado, seu app vai oferecer um streaming mais robusto para seus usuários. Mais benefícios estão descritos no Shaka Player de benefícios deste guia. Os parceiros devem verificar que seus aplicativos estejam funcionando corretamente, usando o Shaka Player para garantir um ambiente a transição. Alguns apps podem correr o risco de quando o SDK do receptor da Web migra para um modelo de recusa se os parceiros não verificarem para que o conteúdo seja reproduzido corretamente no Shaka Player com antecedência.

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

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 aprimorada em comparação com o HLS. Para isso, os parceiros precisam ativar o recurso em uma ambiente interno e testam minuciosamente se o conteúdo pode ser reproduzido usando o Shaka Player. Consulte Como validar conteúdo para detalhes sobre quais aspectos do seu conteúdo devem ser focados. Depois da validação, os parceiros precisam adicionar a flag para ativar no ambiente de aplicativo de produção para começar aproveitando os benefícios oferecidos pelo Shaka Player. De modo geral, há mudanças mínimas no desenvolvimento de software e, principalmente, requisitos de controle de qualidade para nossos os parceiros a migrar.

Em breve, meu aplicativo usará HLS para transmitir conteúdo. O que devo fazer?

As novas integrações precisam ativar o uso do Shaka Player para reprodução. Seu o aplicativo terá melhor suporte a longo prazo e também precisará aproveitar os novos recursos de HLS e as melhorias de desempenho. Se o seu novo de integração está tendo problemas, registre um bug assim que possível para fornecer ou equipe de engenharia de engenharia de software deve ter tempo suficiente para resolver o problema. Se o aplicativo tiver um prazo apertado, inclua essa informação no relatório do bug, bem como o impacto priorizar de acordo. Nossa equipe de engenharia vai trabalhar para oferecer uma solução oferecer suporte adequado aos usuários.

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

Registre um bug no Projeto Player do Shaka ou no projeto do Cast Consulte Informar problemas. A equipe de engenharia do SDK do Cast está monitorar esses rastreadores e trabalhará com você para resolver quaisquer problemas possíveis. Quanto mais cedo esses problemas forem detectados, mais tempo eles terão para para fornecer uma correção.

O MPL não está mais recebendo atualizações críticas. O que isso significa?

Historicamente, o MPL adotou novos recursos de HLS e corrigiu bugs importantes usando atualizações críticas. Agora que o MPL não vai mais receber essas mensagens, o novo HLS não serão adicionados ao player. Da mesma forma, qualquer problema informado para HLS a reprodução em MPL não será corrigida no MPL. Esses problemas devem ser resolvidos até alternando para o Shaka Player para reprodução. Se os problemas persistirem, um O bug deve ser registrado com os problemas relevantes enfrentados no Shaka. Jogador. Os parceiros devem deixar de usar o MPL.

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

Os binários MPL ainda serão hospedados e acessíveis ao receptor para o aplicativo. No entanto, todas as solicitações de recurso e bugs relacionados ao Smooth Streaming as correções não serão suportadas, pois A especificação do Smooth Streaming não foi atualizada no ao longo de quatro anos. Recomendamos migrar seu conteúdo para usar o protocolo DASH ou HLS para continuar recebendo atualizações de desempenho e suporte para seu conteúdo.

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

Caso sua biblioteca de conteúdo não use nenhum desses protocolos de streaming, você não será afetado pela migração. Nenhuma alteração é necessária na sua para o aplicativo.