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

Diagrama de um fluxo de ponta a ponta dos dados de fluxo de vídeo

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