
WebRTC (Web Real-Time Communication) é um conjunto de padrões abertos e recursos do navegador que permite que páginas web capturem áudio e vídeo e os troquem com outras pessoas em tempo real. Antes de existir, as chamadas pelo navegador geralmente dependiam de plug-ins como Flash ou Java. Esses acabaram, e o WebRTC é o que os substituiu. É a tecnologia por trás do chat de vídeo, dos telefones de navegador e da transferência direta de arquivos, e você a usa toda vez que entra em uma chamada em uma aba do navegador.
Uma breve história
O Google lançou o projeto WebRTC como código aberto em 2011. As interfaces do navegador foram padronizadas pelo W3C e os protocolos de rede pelo IETF, e o WebRTC se tornou uma Recomendação oficial do W3C em 2021. Hoje o Chrome, o Edge, o Firefox, o Safari e os navegadores móveis o suportam.
O que ele oferece
- Captura de mídia. Acesso ao microfone, à câmera e à tela com a sua permissão, pelas interfaces
getUserMediae de captura de tela. - Conexões ponto a ponto. Fluxos de áudio e vídeo criptografados entre navegadores.
- Canais de dados. Transferência de baixa latência de dados arbitrários, como mensagens de chat e arquivos.
- Travessia de rede. Técnicas para conectar através de roteadores e firewalls (ICE, STUN, TURN).
Como uma conexão é feita
- Uma página pede ao navegador a câmera e o microfone, e você concede a permissão.
- Os dois navegadores trocam descrições do que podem enviar e receber, por um servidor de sinalização fornecido pelo site.
- Eles trocam possíveis endereços de rede e os testam até que um funcione.
- A mídia e os dados então fluem diretamente por uma conexão criptografada; um relé só é usado quando não existe caminho direto.
Para o processo de conexão em detalhe, leia chamadas de vídeo ponto a ponto explicadas.
O que ele torna possível
- Chat de vídeo no navegador: comece uma conversa clicando em um link, como no chat P2P da Globfone.
- Ligações para números de telefone reais: o navegador cuida do áudio e um provedor faz a ponte com a rede telefônica, como no WebPhone da Globfone.
- Transferência direta de arquivos: os canais de dados permitem que os navegadores enviem arquivos diretamente um ao outro, algo usado pelo Globfone File Sharing.
- Atendimento ao cliente: um botão "fale conosco" em um site pode iniciar uma chamada sem número de telefone.
- Colaboração ao vivo: compartilhamento de tela para ajuda remota e apresentações.
Codecs e qualidade
O WebRTC usa codecs modernos: Opus para o áudio, que lida de forma eficiente tanto com fala quanto com música, e VP8, VP9, H.264 ou AV1 para o vídeo, dependendo do navegador. O navegador adapta a qualidade à banda disponível durante a chamada, e é por isso que o vídeo fica borrado antes de parar por completo.
Segurança e privacidade
O WebRTC criptografa mídia e dados por padrão (DTLS-SRTP). Os navegadores também pedem permissão antes de usar a câmera ou o microfone e mostram um indicador enquanto estão ativos. Como em qualquer chamada, a outra pessoa vê e ouve o que você compartilha, então confira o fundo e qual janela você compartilha. Em conversas privadas, as conexões diretas também significam que nenhum servidor de reuniões guarda o seu vídeo.
Limites
- As conexões puramente ponto a ponto funcionam melhor para grupos pequenos; reuniões grandes precisam de um servidor que encaminhe os fluxos.
- Alguns firewalls rígidos bloqueiam caminhos diretos, então é necessário um relé (TURN).
- As versões dos navegadores diferem um pouco, por isso os serviços testam nos principais navegadores.
Saiba mais
Para ver como se relaciona com as ligações telefônicas, veja VoIP explicado e, para uma comparação de ferramentas, leia chat de vídeo no navegador comparado.
STUN, TURN e ICE em português claro: por que algumas chamadas conectam direto
Como funciona o chat de vídeo ponto a ponto sem guardar sua chamada em um servidor
Conheça o Globfone Video Chat: salas privadas no seu navegador
Tutorial do Globfone Video Chat: veja como uma chamada começa