Problemas conhecidos e soluções alternativas no SDK de Transmissão na Web do IVS | Streaming em tempo real
Este documento lista problemas conhecidos que podem ser encontrados ao usar o SDK de Transmissão na Web para streaming em tempo real do Amazon IVS e sugere possíveis soluções alternativas.
-
Ao fechar as guias do navegador ou sair dos navegadores sem chamar
stage.leave(), os usuários ainda podem aparecer na sessão com um quadro congelado ou tela preta por até dez segundos.Solução alternativa: nenhuma.
-
As sessões do Safari aparecem intermitentemente com uma tela preta para os usuários que entram após o início de uma sessão.
Solução alternativa: atualize o navegador e reconecte a sessão.
-
O Safari não se recupera normalmente da troca de redes.
Solução alternativa: atualize o navegador e reconecte a sessão.
-
O console do desenvolvedor repete um erro
Error: UnintentionalError at StageSocket.onClose.Solução alternativa: somente um palco pode ser criado por token de participante. Esse erro ocorre quando mais de uma instância
Stageé criada com o mesmo token de participante, independentemente de a instância estar em um dispositivo ou em vários dispositivos. -
Você pode ter problemas para manter um estado
StageParticipantPublishState.PUBLISHEDe pode receber estadosStageParticipantPublishState.ATTEMPTING_PUBLISHrepetidos ao receber o eventoStageEvents.STAGE_PARTICIPANT_PUBLISH_STATE_CHANGED.Solução alternativa: restrinja a resolução do vídeo a 720p ao invocar
getUserMediaougetDisplayMedia. Especificamente, seus valores de restriçãogetUserMediaegetDisplayMediapara largura e altura não devem exceder 921600 (1280*720) quando multiplicados juntos. -
Quando
stage.leave()é invocado ou um participante remoto sai, um erro 404 DELETE aparece no console de depuração do navegador.Solução alternativa: nenhuma. Esse é um erro inofensivo.
Limitações do Safari
-
Para negar um prompt de permissões, é necessário redefinir a permissão nas configurações do site do Safari no nível do sistema operacional.
-
O Safari não detecta nativamente todos os dispositivos com a mesma eficácia que o Firefox ou o Chrome. Por exemplo, a câmera virtual OBS não é detectada.
Limitações do Firefox
-
As permissões do sistema precisam estar habilitadas para que o Firefox compartilhe a tela. Depois de habilitar, o usuário deverá reiniciar o Firefox para que ele funcione corretamente; caso contrário, se as permissões forem percebidas como bloqueadas, o navegador emitirá uma exceção NotFoundError
. -
O método
getCapabilitiesestá ausente. Isso significa que os usuários não conseguem obter a resolução ou a proporção da faixa de mídia. Veja este tópico do bugzilla. -
Várias propriedades
AudioContextestão ausentes; por exemplo, latência e contagem de canais. Isso pode representar um problema para usuários avançados que desejem manipular as faixas de áudio.
-
Os feeds de câmera de
getUserMediasão restritos a uma proporção de 4:3 no macOS. Veja o tópico 1 do bugzillae o tópico 2 do bugzilla .
-
Não há suporte para a captura de áudio com
getDisplayMedia. Veja este tópico do bugzilla. -
A taxa de quadros na captura de tela está abaixo do ideal (aproximadamente a 15 fps?). Veja este tópico do bugzilla
.
Limitações da Web móvel
-
O compartilhamento de tela getDisplayMedia
não é suportado em dispositivos móveis. Solução alternativa: nenhuma.
-
O participante leva de 15 a 30 segundos para sair ao fechar um navegador sem chamar
leave().Solução alternativa: adicione uma interface de usuário que incentive os usuários a se desconectarem adequadamente.
-
A aplicação em segundo plano faz com que a publicação do vídeo pare.
Solução alternativa: exiba uma lista de interface do usuário quando o publicador estiver pausado.
-
A taxa de quadros do vídeo cai por aproximadamente 5 segundos após ativar o som de uma câmera em dispositivos Android.
Solução alternativa: nenhuma.
-
O feed de vídeo fica esticado em rotação para o iOS 16.0.
Solução alternativa: exiba uma interface de usuário descrevendo esse problema conhecido do sistema operacional.
-
A troca do dispositivo de entrada de áudio alterna automaticamente o dispositivo de saída de áudio.
Solução alternativa: nenhuma.
-
Colocar o navegador em segundo plano faz com que o stream de publicação fique preto e produza somente áudio.
Solução alternativa: nenhuma. Isso é por motivos de segurança.