Como o Amazon Chime SDK usa a mídia WebRTC - Amazon Chime SDK

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á.

Como o Amazon Chime SDK usa a mídia WebRTC

O SDK do Amazon Chime é compatível com dois tipos de sessões WebRTC: padrão e de alta definição. Os tópicos a seguir descrevem a mídia disponível em cada tipo de sessão ao usar as bibliotecas de cliente do Amazon Chime SDK para JavaScript React, iOS e Android.

Áudio

Cada cliente do Amazon Chime envia um streaming de áudio para as sessões e recebe um streaming de áudio da sessão. Normalmente, microfones em dispositivos locais geram o áudio. O áudio recebido é uma combinação do áudio enviado pelos outros clientes da sessão.

Ambos os tipos de sessão permitem taxas de amostragem de até 48 kHz e até dois canais (estéreo) codificados com taxas de bits de até 128 kbps usando o codec Opus. No entanto, os fluxos de áudio enviados e recebidos variam de acordo com o tipo de biblioteca do cliente:

  • As bibliotecas de cliente do Amazon Chime SDK para JavaScript e React suportam o envio e o recebimento de áudio mono e estéreo na taxa de amostragem mais alta suportada pelo dispositivo e pelo navegador, até um máximo de 48 kHz.

  • As bibliotecas de cliente do SDK do Amazon Chime para iOS e Android suportam o envio de áudio mono até 48 kHz e o recebimento de áudio estéreo a 48 kHz.

Vídeo

Cada cliente do Amazon Chime pode enviar um streaming de vídeo para a sessão e receber até 25 streamings de vídeo da sessão. O vídeo enviado geralmente é proveniente da webcam do dispositivo local. Cada cliente pode selecionar até 25 streamings de vídeo para receber e alterar a seleção a qualquer momento durante a sessão.

As sessões-padrão permitem resoluções de vídeo de até 1280x720 a 30 quadros por segundo codificados com taxas de bits de até 1.500 kbps usando H.264, VP8, VP9 e AV1.

As sessões de alta definição permitem resoluções de vídeo de até 1920x1080 a 30 quadros por segundo codificados com taxas de bits de até 2.500 kbps usando H.264, VP8, VP9 e AV1.

As bibliotecas de cliente do Amazon Chime SDK para JavaScript e React oferecem suporte ao envio de vídeo em transmissão simultânea a 15 quadros por segundo ou com codificação de vídeo escalável (SVC). A SVC codifica um único streaming de vídeo com três camadas espaciais e três camadas temporais em 100%, 50% e 25% dos seus valores desejados. O serviço seleciona automaticamente a camada a ser enviada para cada visualizador com base na largura de banda disponível deles.

As bibliotecas clientes do SDK do Amazon Chime para iOS e Android permitem o envio de até 15 quadros por segundo. No entanto, a taxa de quadros e a resolução reais são gerenciadas automaticamente pelo SDK do Amazon Chime.

A codificação e decodificação de vídeo usam aceleração de hardware, quando disponível, para melhorar o desempenho.

Se um cliente enviar vídeo com uma taxa de bits maior que a máxima permitida, a sessão primeiro começará a enviar ao cliente mensagens de taxa de bits máxima estimada do receptor por meio do Protocolo de controle em tempo real. Se o cliente continuar enviando vídeo com uma taxa de bits maior que a máxima permitida, a sessão descartará os pacotes de streaming de vídeo recebidos.

Compartilhamento de conteúdo

Até dois clientes podem compartilhar conteúdo na sessão. Um compartilhamento de conteúdo pode incluir uma faixa de vídeo, uma faixa de áudio ou ambas. Um exemplo comum de compartilhamento de conteúdo é o compartilhamento de tela, que usa a captura de tela como fonte do conteúdo. Outro exemplo é compartilhar conteúdo pré-gravado com faixas de vídeo e áudio.

O áudio do conteúdo é misturado ao streaming de áudio enviado pela sessão. O áudio do conteúdo suporta taxas de amostragem de até 48 kHz e até 2 canais (estéreo) codificados com taxas de bits de até 128 kbps usando o codec Opus.

O conteúdo do vídeo é enviado à sessão e encaminhado aos clientes em um streaming de vídeo separado. As sessões-padrão permitem vídeo de conteúdo de até 1920x1080 a 30 quadros por segundo. As sessões de alta definição permitem vídeo de conteúdo de até 3840x2160 a 30 quadros por segundo.

A captura de tela para o compartilhamento de conteúdo usa a resolução da tela ou janela que está sendo capturada, até a resolução máxima de conteúdo para o tipo de sessão e até 30 quadros por segundo. No entanto, os recursos do dispositivo e do navegador podem limitar esses valores.

As bibliotecas de cliente do Amazon Chime SDK para JavaScript e React oferecem suporte ao compartilhamento de conteúdo de captura de tela e outras fontes.

As bibliotecas clientes do SDK do Amazon Chime para iOS e Android só permitem o compartilhamento de conteúdo de captura de tela.

Mensagens de dados

As mensagens de dados fornecem uma maneira de um cliente transmitir informações para outros clientes na sessão. Por exemplo, uma aplicação pode usar mensagens de dados para compartilhar reações de emojis durante uma sessão.

Cada mensagem de dados inclui:

  • Um tópico, uma string com até 64 caracteres.

  • Até 2 KB de dados, incluindo o tópico.

Um cliente envia uma mensagem de dados para a sessão e esta envia a mensagem de dados para todos os clientes conectados.

Opcionalmente, a sessão pode armazenar em cache a mensagem de dados por até cinco minutos. Se um cliente entrar ou se reconectar a uma sessão, ela enviará automaticamente ao cliente todas as mensagens de dados em cache que não tenham sido enviadas anteriormente. O cache da sessão armazena no máximo 1.024 mensagens de dados.

Uma sessão permite até 100 mensagens de dados enviadas por segundo. Ao usar a transcrição ao vivo, cada cliente recebe mensagens de transcrição por meio de mensagens de dados, que são contabilizadas no total de mensagens enviadas por segundo.