SDK do Amazon IVS Player - Amazon Interactive Video Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

SDK do Amazon IVS Player

Para usar o Amazon Interactive Video Service (IVS), você deve usar o player do Amazon IVS. O player é um conjunto de SDKs entre plataformas para reprodução de streams do Amazon IVS. Ele foi projetado para aproveitar a arquitetura do Amazon IVS e otimizado para reprodução do Amazon IVS.

O único player cujo performance podemos garantir é o player do Amazon IVS. Para obter baixa latência, o player do Amazon IVS é necessário.

Os principais recursos do player do Amazon IVS são:

  • U ltra-low-latency streaming — A baixa latência é um componente essencial na criação de boas experiências de usuário interativas que enriquecem a experiência do público. A latência se arrasta incrementalmente ao longo do caminho de transmissão entre o transmissor e o visualizador, prejudicando a capacidade de resposta.

    A nd-to-end latência E é o atraso desde o momento em que uma transmissão ao vivo é capturada pela câmera até quando ela aparece na tela do espectador. O Amazon IVS foi projetado para oferecer end-to-end latência ultrabaixa (menos de cinco segundos, dependendo do local da transmissão e das configurações da emissora). Para alcançar essa baixa latência, o player do Amazon IVS é necessário.

  • Consistência entre plataformas: os visualizadores assistem a transmissões em uma variedade de plataformas. Desde dispositivos móveis até navegadores da Web, o player do Amazon IVS oferece a todos os visualizadores uma experiência semelhante. Essa consistência é possível porque cada plataforma usa a mesma biblioteca de funções do player. A biblioteca do player é um componente integral da arquitetura do Amazon IVS. O uso de uma pilha de vídeo garante que todos os comportamentos de reprodução de vídeo, incluindo o modo de baixa latência, metadados cronometrados, análises, rastreamento de erros, relatórios e registro em log, estejam disponíveis de forma consistente em todas as plataformas suportadas.

  • Streaming adaptativa de taxa de bits (ABR): o player do Amazon IVS usa algoritmos ABR otimizados para ambientes de baixa latência. O player mede a qualidade do serviço e a disponibilidade da largura de banda em tempo real e adapta a qualidade do vídeo e os níveis de buffer, para fornecer reprodução ininterrupta. Quando a qualidade da conexão é atingida, o ABR muda para uma taxa de bits mais baixa; quando a qualidade da conexão melhora, ele muda para uma taxa de bits mais alta.

  • Metadados temporizados: o Player do Amazon IVS é compatível com metadados cronometrados, que pode ser usado para construir elementos interativos, como pesquisas e questionários. Metadados é um conjunto de dados que descreve e fornece informações sobre outros dados. Com metadados “cronometrados”, um código de tempo acompanha a parte dos dados sobre o stream. Durante a reprodução, o código de tempo serve como um ponto de sinalização para acionar a ação com base nos dados, como:

    • Enviando estatísticas de players para um stream de esportes

    • Enviar detalhes do produto para um stream de compras ao vivo

    • Enviando perguntas para um stream de perguntas ao vivo

  • Tratamento de erros robusto: o tratamento de erros transitórios evita interrupções na experiência de visualização. O tratamento de erros robusto do player do Amazon IVS detecta muitos possíveis erros de streaming, alternando automaticamente para uma representação alternativa. Os visualizadores continuam assistindo a transmissão sem interrupções, sem ter que tomar nenhuma ação corretiva.

  • Facilidade de integração: a API do player do Amazon IVS preenche a lacuna entre as aplicações dos clientes do Amazon IVS e a biblioteca do player. A API tem ligações para todas as plataformas suportadas, facilitando a integração do player às aplicações, usando ambientes e técnicas de codificação familiares. Com controle total sobre elementos de interface do usuário, os clientes podem personalizar os aspectos de branding e apresentação de suas aplicações.

O player do Amazon IVS não é compatível com a transmissão via Airplay. A transmissão com o Chromecast pode ser implementada fora do player via aplicações de receptor padrão do Chromecast. No entanto, a latência nessas aplicações é maior do que no SDK do player do Amazon IVS. Portanto, o chaveamento não será contínuo. Consulte também nossa documentação sobre o SDK de Transmissão do Amazon IVS: para streaming de baixa latência e para streaming em tempo real.

Requisitos de navegador e da plataforma

Para obter detalhes sobre as versões mais recentes lançadas de vários navegadores, consulte:

Embora o Amazon IVS possa funcionar com alguns navegadores mais antigos, não corrigimos bugs relacionados a navegadores mais antigos.

O SDK do Reprodutor da Web do IVS (incluindo as integrações para Video.js e reprodutor JW) não tem suporte em ambientes semelhantes a navegadores. Isso inclui dispositivos nativos WebViews e “de 10 pés” (TVs, consoles, decodificadores) que suportam aplicativos da web. Entre em contato com o suporte do IVS se ficar em dúvida quanto à compatibilidade de um navegador específico não incluído nas tabelas listadas abaixo.

Navegadores desktop

Navegador desktop Plataformas com suporte Versões compatíveis
Chrome Windows, macOS Duas versões principais (versão anterior atual e mais recente)
Firefox Windows, macOS Duas versões principais (versão anterior atual e mais recente)
Borda Windows 8.1 e posteriores

44.0 e posterior

(No modo de qualidade automática no Microsoft Edge Legacy, somente a reprodução de latência normal é suportada, não a reprodução de latência ultrabaixa. O modo de qualidade automática refere-se a se o ABR está habilitado. Por exemplo, no Web player, consulte setAutoQualityMode.

Safari macOS

Duas versões principais (versão anterior atual e mais recente)

(No modo de qualidade automática no Safari para macOS 14 e posteriores, o IVS Player 1.3.0 e posteriores são compatíveis com a reprodução de latência ultrabaixa. Para versões anteriores do Safari e do IVS Player, apenas a reprodução de latência normal é compatível. Consulte acima sobre o “modo de qualidade automática”.)

Navegadores móveis

Navegadores móveis Versões compatíveis
Chrome para iOS, Safari para iOS

Duas versões principais (versão anterior atual e mais recente)

(A reprodução de latência ultrabaixa não é suportada. A reprodução de latência normal é suportada. Essa restrição se aplica a todos os navegadores para iOS.)

(Só há suporte para metadados cronometrados no Player 1.3.0 e posterior.)

Chrome para iPadOS, Safari para iPOS

Duas versões principais (versão anterior atual e mais recente)

(Quando a opção “Request Mobile Website” [Solicitar site móvel] estiver selecionada:

  • Não há suporte para reprodução de latência ultrabaixa.

  • Só há suporte para metadados cronometrados no Player 1.3.0 e posteriores.)

Chrome para Android Duas versões principais (versão anterior atual e mais recente)

Plataformas nativas

Plataforma Versões compatíveis Dispositivos compatíveis
Android 5.0 (Lollipop) e posteriores Telefones e tablets
iOS 12.0 e posterior Todos

O IVS suporta no mínimo 4 versões principais do iOS e 6 versões principais do Android. Nosso suporte à versão atual pode ir além desses mínimos. Os clientes serão notificados por meio das notas de lançamento do SDK pelo menos 3 meses antes do fim do suporte para uma versão principal.

Reduzir a latência em players de terceiros

Para os tipos de canal Basic e Standard: [ara obter a menor latência possível, é necessário usar o reprodutor do Amazon IVS. Em players de terceiros (incluindo o iOS Safari), é possível reduzir a latência para cerca de 10 segundos usando a seguinte configuração:

  • Defina o intervalo de quadros-chave do seu codificador (por exemplo, OBS) para 2 segundos ou menos.

  • Adicione ?keyframeInterval=2 ao URL do RTMP(S). Por exemplo: rtmps://a1b2c3d4e5f6.global-contribute.live-video.net:443/app/sk_us-west-2_abcd1234efgh5678ijkl?keyframeInterval=2

Observação: o intervalo de quadros-chave especificado como parte do URL RTMP deverá ser maior ou igual ao valor configurado no codificador; caso contrário, poderá haver problemas de reprodução. É possível definir o valor para qualquer número inteiro entre 2 e 6, inclusive, mas 2 permite a menor latência.

Para tipos avançados de canal: a orientação acima não se aplica. Os tipos avançados de canal geram intervalos de quadros-chave automaticamente para eficiência de codificação, com no máximo 2 segundos entre os quadros-chave, independentemente da configuração do intervalo do quadro-chave de codificação de origem.

iOS Safari

No iOS Safari, você pode reduzir a latência para aproximadamente 6 a 8 segundos usando o Reprodutor do IVS e configurando-o para usar um operador de serviço. Consulte Configurar o operador de serviço no SDK do Reprodutor: guia da Web para obter detalhes de implementação e um exemplo de referência.

Observação: a obtenção da menor latência requer uma transmissão do IVS com o intervalo do quadro-chave definido para 2 segundos.

Reprodução somente de áudio

Todos os tipos de canais IVS oferecem suporte a reproduções somente de áudio. Isso pode ser particularmente valioso para aplicativos móveis. Por exemplo, em seu aplicativo móvel, você pode mudar o player para a reprodução somente de áudio quando o usuário coloca o aplicativo em segundo plano para conservar a largura de banda.

Para canais ADVANCED-SD e ADVANCED-HD, a reprodução somente de áudio é incluída automaticamente na playlist multivariante. Para canais BASIC e STANDARD, você deve anexar o parâmetro de ?allow_audio_only=true consulta ao URL de reprodução para permitir a inclusão da representação somente de áudio.

Observação: o SDK do IVS web player suporta reprodução somente de áudio nas versões 1.24.0 e posteriores.

Suporte

Se você encontrar um erro de reprodução ou outro problema de reprodução com seu stream, determine o identificador exclusivo da sessão de reprodução por meio da API do player.

Para este player do Amazon IVS: Use este:
Android

Função sessionId

iOS

Propriedade sessionId de IVSPlayer

Web

Função getSessionId

Compartilhe esse identificador de sessão de reprodução com o AWS Support. Com ele, eles podem obter informações para ajudar a solucionar seu problema.

Observação: o player é continuamente melhorado. Consulte Notas de release do Amazon IVS para ver as versões disponíveis e problemas corrigidos. Se apropriado, antes de entrar em contato com o suporte, atualize sua versão do Player e veja se isso resolve seu problema.

Versionamento

Os SDKs do Player do Amazon IVS usam versionamento semântico.

Para esta discussão, suponha que:

  • A versão mais recente é 4.1.3.

  • A versão mais recente da versão principal anterior é 3.2.4.

  • A versão mais recente da versão 1.x é 1.5.6.

Novos recursos compatíveis com versões anteriores são adicionados como versões secundárias da versão mais recente. Nesse caso, o próximo conjunto de novos recursos vai ser adicionado como versão 4.2.0.

Compatíveis com versões anteriores, pequenas correções de bugs são adicionadas como lançamentos de patch da versão mais recente. Aqui, o próximo conjunto de pequenas correções de bugs vai ser adicionado como versão 4.1.4.

Compatíveis com versões anteriores, as principais correções de bugs são tratadas de forma diferente; estas são adicionadas a várias versões:

  • Versão do patch da versão mais recente. Aqui, esta é a versão 4.1.4.

  • Lançamento do patch da versão secundária anterior. Aqui, esta é a versão 3.2.5.

  • Versão do patch da versão 1.x mais recente. Aqui, esta é a versão 1.5.7.

As principais correções de bugs são definidas pela equipe de produtos do Amazon IVS. Exemplos típicos são atualizações de segurança críticas e outras correções selecionadas necessárias para os clientes.

Observação: nos exemplos acima, versões lançadas incrementam sem ignorar nenhum número (por exemplo, de 4.1.3 para 4.1.4). Na realidade, um ou mais números de patch podem permanecer internos e não ser liberados, de modo que a versão lançada pode ser incrementada de 4.1.3 para, digamos, 4.1.6.