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 uma dessas fases, os usuários poderão enfrentar problemas relacionados ao vídeo. Por exemplo, os usuários podem reclamar de não conseguir ver o vídeo ou da baixa qualidade do vídeo. Portanto, entender como o fluxo de conteúdo do vídeo do remetente para o receptor é essencial para depurar e atenuar problemas de vídeo.
Como uma chamada de vídeo funciona de uma perspectiva de ponta a ponta
Aqui, usamos uma chamada de grupos dos Serviços de Comunicação do Azure como um 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 concluir o handshake na camada de sinalização com o servidor, ele começará a enviar o fluxo de vídeo para o servidor.
O navegador executa a codificação de vídeo e o empacotamento na camada do protocolo RTP para transmissão.
Os outros participantes na chamada recebem notificações do servidor, indicando a disponibilidade de um fluxo de vídeo do remetente.
Seu aplicativo pode decidir se deseja assinar ou não o fluxo de vídeo.
Se o aplicativo assinar o fluxo de vídeo do servidor (por exemplo, usando createView
API), o servidor encaminha os pacotes do vídeo do remetente para o receptor.
O navegador do receptor decodifica e renderiza o vídeo de entrada.
Quando você usa o SDK de Chamada da Web do ACS para chamadas de vídeo, o SDK e o navegador podem ajustar a qualidade do 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 de CPU no lado do remetente também pode influenciar a decisão do navegador na resolução de destino para codificação.
Problemas comuns em chamadas de vídeo
Podemos ver que todo o processo envolve fatores como o dispositivo de câmera do remetente. As condições de rede no lado do remetente e receptor também desempenham uma função importante. A largura de banda e os pacotes perdidos podem afetar a qualidade de vídeo vista 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 fica indisponível ao assinar o vídeo
- O aplicativo descarta o renderizador de vídeo ao assinar o vídeo
- O número máximo de assinatura de vídeo ativas foi atingido
- O navegador do remetente do vídeo está em segundo plano
- O remetente do vídeo saiu da chamada inesperadamente
- O remetente do vídeo enfrenta problemas de rede
- O receptor enfrenta problema de rede
- Os quadros são recebidos, mas não decodificados
O usuário vê apenas a tela preta no vídeo do participante remoto
- O navegador do remetente do vídeo está em segundo plano
O usuário enfrenta baixa qualidade de vídeo
- O remetente do vídeo tem rede ruim
- O receptor tem rede ruim
- Carga pesada no ambiente do remetente ou receptor do vídeo
- O receptor assina vários fluxos de vídeo de entrada