Visão geral dos problemas de vídeo
Estabelecer uma chamada de vídeo envolve muitos componentes e processos. As etapas incluem a aquisição do fluxo de vídeo de um dispositivo de câmera, codificação do navegador, decodificação do navegador, renderização de vídeo e assim por diante. Se houver um problema em qualquer um desses estágios, os usuários podem enfrentar problemas relacionados ao vídeo. Por exemplo, os utilizadores podem queixar-se de não conseguirem ver o vídeo ou da má qualidade do mesmo. Portanto, entender como o conteúdo de vídeo flui do emissor para o recetor é crucial para depurar e mitigar problemas de vídeo.
Como funciona uma chamada de vídeo de uma perspetiva de ponta a ponta
Aqui usamos uma chamada de grupo dos Serviços de Comunicação do Azure como exemplo.
Quando o remetente inicia o vídeo em uma chamada, o SDK recupera internamente o fluxo de vídeo da câmera por meio de uma API do navegador.
Depois que o SDK conclui o handshake na camada de sinalização com o servidor, ele começa a enviar o fluxo de vídeo para o servidor.
O navegador executa codificação de vídeo e empacotamento na camada RTP (Real-time Transport Protocol) para transmissão.
Os outros participantes da chamada recebem notificações do servidor, indicando a disponibilidade de um fluxo de vídeo do remetente.
Seu aplicativo pode decidir se deseja assinar o fluxo de vídeo ou não.
Se o seu aplicativo se inscrever no fluxo de vídeo do servidor (por exemplo, usando createView
API), o servidor encaminhará os pacotes de vídeo do remetente para o recetor.
O navegador do recetor decodifica e processa o vídeo recebido.
Quando você usa o SDK de chamada na Web do ACS para chamadas de vídeo, o SDK e o navegador podem ajustar a qualidade de vídeo do remetente com base na largura de banda disponível. O ajuste pode incluir alterações na resolução, quadros por segundo e taxa de bits de destino. Além disso, a sobrecarga da CPU no lado do remetente também pode influenciar a decisão do navegador sobre a resolução de destino para codificação.
Problemas comuns em videochamadas
Podemos ver que todo o processo envolve fatores como o dispositivo de câmera do remetente. As condições de rede na extremidade emissora e recetora também desempenham um papel importante. Largura de banda e pacotes perdidos podem afetar a qualidade de vídeo percebida pelos usuários.
Aqui listamos vários problemas comuns de vídeo, juntamente com possíveis causas para cada problema:
O usuário não pode ver o vídeo do participante remoto
- O vídeo do remetente não está disponível quando o usuário o assina
- O vídeo remoto torna-se indisponível durante a subscrição do vídeo
- O aplicativo descarta o renderizador de vídeo ao assinar o vídeo
- O número máximo de assinaturas de vídeo ativas foi atingido
- O navegador do remetente do vídeo está em segundo plano
- O remetente do vídeo abandonou a chamada inesperadamente
- O remetente de vídeo enfrenta problemas de rede
- O recetor experimenta problemas de rede
- Os quadros são recebidos, mas não decodificados
O usuário só vê vídeo preto do participante remoto
- O navegador do remetente do vídeo está em segundo plano
O usuário experimenta má qualidade de vídeo
- O remetente do vídeo tem uma rede fraca
- O recetor tem rede pobre
- Carga pesada no ambiente do emissor ou recetor de vídeo
- O recetor subscreve vários fluxos de vídeo de entrada