Visão geral
O SDK do Web Receiver do Cast 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 Media Player (MPL) é carregada. No caso de conteúdo DASH, o Shaka Player é carregado.
Os esforços das equipes de engenharia do SDK do Cast e do Shaka Player estão sendo consolidados para aumentar o suporte à reprodução de conteúdo HLS no Shaka Player. A 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 player, os aplicativos aproveitam os seguintes benefícios:
- Sessões de streaming mais robustas para usuários, com melhorias em falhas de tempo de carregamento e latência.
- Adoção contínua dos recursos mais recentes do HLS.
- Maior clareza na análise da causa raiz para problemas de compatibilidade entre player e conteúdo devido à natureza de código aberto do Shaka Player.
- O código aberto da base de código do player permite que os parceiros contribuam com o projeto 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 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 de HLS no Shaka Player, conforme visto no roteiro.
Cronograma
O SDK Web Receiver vai passar a usar o Shaka Player como o player padrão para reprodução de conteúdo HLS. Isso será feito em uma abordagem por etapas para orientar os parceiros no processo de migração.
Fase | Data de início | Visão geral |
---|---|---|
1 | Outubro de 2022 | O SDK do Web Receiver do Google Cast apresenta APIs para ativar a reprodução de conteúdo HLS no Shaka Player. |
2 | Nov/25 | O SDK do Web Receiver do Cast muda o player padrão para o Shaka Player na 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 passar para a próxima fase quando a performance do Shaka Player estiver no mesmo nível da performance de referência do MPL. Essas mudanças serão anunciadas no grupo 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 na reprodução de HLS. Essa versão também apresenta uma API para selecionar um intervalo compatível 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 ativar o Shaka para HLS
precisa definir uma versão do Shaka Player de pelo menos 4.15.12
para aproveitar os
melhoramentos 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 dele no app de produção. Recomendamos testar cada uma das variações de conteúdo listadas abaixo:
- Tipos de stream: AO VIVO ou VOD
- Formatos de contêiner: TS, MP4 ou fluxos 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 e alto-falantes inteligentes
Se você encontrar erros ou comportamentos inesperados, envie um bug. Depois de verificar que não há falhas críticas de reprodução no seu conteúdo, envie as mudanças para o ambiente de produção.
Desativar
O SDK Web Receiver vai passar para um modelo de recusa para a 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 usar a MPL para reprodução de HLS
definindo manualmente essa propriedade como false
. Quando o
CastReceiverContext
for iniciado, o SDK do Web Receiver vai voltar a carregar
MPL em vez do Shaka Player. Confira abaixo um exemplo de como recusar:
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 reproduzir conteúdo HLS. Como mencionado, a MPL não vai mais receber atualizações importantes. Se houver problemas com a 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 persistir ou se você encontrar um problema diferente ao trocar de jogador.
- Tente definir o
shakaVersion
como uma versão de ramificação diferente para resolver o problema. Por exemplo, se o problema ocorrer na ramificação4.15
, tente definir a versão mais recente em outra ramificação. Consulte as notas da versão do Shaka Player para encontrar as versões com as atualizações mais relevantes. A APIshakaVersion
tem uma versão mínima e máxima compatível, conforme detalhado na documentação de referência. Se você notar uma regressão, informe o problema no Issue Tracker do Shaka Player. - Tente mudar os parâmetros de configuração do player. O Shaka Player pode ser
configurado usando o
objeto
PlayerConfiguration
. O SDK do Web Receiver define um conjunto de valores padrão e permite que os aplicativos modifiquem essa configuração usando a propriedadeshakaConfig
no objetoPlaybackConfig
. Isso é avaliado durante o tempo de carregamento quando a instância do player é criada. Saiba mais em configuração e opções de aplicativos. Os valores padrão definidos pelo SDK do Web Receiver são os recomendados. - Verifique se o problema foi informado no rastreador de problemas do Shaka Player ou no rastreador de problemas do Cast. Comente sobre o bug e adicione informações relevantes se ele descrever seu problema também.
- 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, envie um bug para o projeto Shaka Player.
- Registre um bug no rastreador de problemas do Cast se você tiver um problema exclusivo do Shaka Player em endpoints de transmissão.
Perguntas frequentes
Mudar de player pode gerar muitas dúvidas. Abaixo, você encontra as respostas para as perguntas mais comuns que vão ajudar você 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 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 quando o SDK do Web Receiver passar para um modelo de recusa 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 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 melhorada 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 validação de conteúdo para saber em quais aspectos do conteúdo você precisa se concentrar. Depois da validação, os parceiros precisam adicionar a flag para ativar no ambiente de aplicativo de produção e 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 façam a migração 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. Seu aplicativo terá um suporte melhor a longo prazo e também aproveitará os novos recursos do HLS e as melhorias de desempenho. Se a nova integração estiver com problemas, registre um bug assim que possível para dar à equipe de engenharia tempo suficiente para resolver o problema. Se o aplicativo tiver um prazo apertado, inclua essa informação no relatório de bug, bem como o impacto para priorizar de acordo. Nossa equipe de engenharia vai trabalhar para oferecer uma solução que atenda adequadamente aos seus usuários.
Meu conteúdo ou app não funciona com o Shaka Player. O que fazer?
Envie um bug para o projeto Shaka Player ou Cast (consulte Informar problemas). A equipe de engenharia do SDK do Cast está monitorando ativamente esses rastreadores e vai trabalhar com você para resolver qualquer problema. Quanto antes esses problemas forem detectados, mais tempo eles terão para entregar uma correção.
A MPL não recebe mais atualizações críticas. O que isso significa?
Historicamente, a MPL adotou novos recursos do HLS e corrigiu bugs importantes com atualizações críticas. Como a MPL não vai mais receber esses recursos, eles 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 na reprodução. Se os problemas persistirem, registre um bug 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 seu aplicativo receptor. No entanto, não vamos oferecer suporte a solicitações de recursos e correções de bugs relacionados ao Smooth Streaming, 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 e 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 minha inscrição?
Se a biblioteca de conteúdo não usar nenhum desses protocolos de streaming, você não será afetado pela migração. Não é necessário fazer mudanças no seu aplicativo.