videocalling
Illustration of WebRTC in video calling

WebRTC

glossary.categories.technical

Web Real-Time Communication - a tecnologia que permite videochamadas baseadas em navegador

O que é WebRTC?

WebRTC (Web Real-Time Communication) é um projeto de código aberto e padrão web que permite comunicação de áudio, vídeo e dados em tempo real diretamente entre navegadores e dispositivos — sem plugins, downloads ou software de terceiros. É a tecnologia que alimenta as videochamadas no navegador, e é suportada por todos os principais navegadores: Chrome, Firefox, Safari e Edge.

Quando você faz uma videochamada no Google Meet, participa de um chat de vídeo no Facebook Messenger ou usa qualquer aplicação de vídeo baseada na web, provavelmente está usando WebRTC por baixo dos panos.

Capacidades Principais

  • Áudio e Vídeo: Captura de câmera/microfone e transmissão com codecs eficientes (Opus para áudio, VP8/VP9/H.264/AV1 para vídeo)
  • Canais de Dados: Envio de dados arbitrários peer-to-peer (chat, transferências de arquivo, estado de jogo)
  • Compartilhamento de Tela: Captura e transmissão do conteúdo da tela
  • Criptografia Obrigatória: Todo o tráfego WebRTC é criptografado por padrão usando DTLS-SRTP
  • Travessia de NAT: Framework ICE integrado com suporte a STUN/TURN para conectividade através de firewalls
  • Bitrate Adaptativo: Ajuste automático de qualidade com base nas condições da rede

APIs Principais

  • getUserMedia(): Acessa câmera e microfone do usuário
  • RTCPeerConnection: Gerencia a conexão peer-to-peer e o transporte de mídia
  • RTCDataChannel: Envia dados arbitrários entre pares
  • getDisplayMedia(): Captura conteúdo da tela para compartilhamento

Como o WebRTC Estabelece uma Conexão

  1. Ambos os pares acessam suas câmeras/microfones via getUserMedia()
  2. Um par cria uma oferta SDP descrevendo suas capacidades de mídia
  3. A oferta é enviada ao outro par via um servidor de sinalização
  4. O outro par responde com uma resposta SDP
  5. Ambos os pares coletam candidatos ICE (endereços de rede) via servidores STUN/TURN
  6. Os candidatos são trocados via sinalização
  7. O ICE encontra o melhor caminho de conexão
  8. DTLS estabelece criptografia, SRTP começa a transportar mídia

Suporte de Navegadores (2025)

  • Chrome: Suporte completo, implementação de referência
  • Firefox: Suporte completo com algumas diferenças de implementação
  • Safari: Suporte completo (melhorou significativamente desde 2020)
  • Edge: Suporte completo (baseado em Chromium)
  • Mobile: Suportado em Chrome Android, Safari iOS e browsers embarcados

Referências