O padrão WebRTC recebeu o status oficial recomendado pelo W3C

A



tecnologia Source WebRTC (Web Real-Time Communications), que descreve a transferência de dados de áudio, vídeo e conteúdo entre navegadores sem instalar extensões adicionais, recebeu o status de um padrão recomendado. O anúncio foi feito pelo consórcio W3C, que desenvolve e implementa padrões tecnológicos para a Internet.



Todos os padrões W3C são revisados ​​para suporte de acessibilidade de conteúdo da web pelo APA (Accessible Platform Architectures Working Group). Eles estão diretamente relacionados à acessibilidade na web.



Entre outras coisas, o comitê da Internet Engineering Task Force (IETF), que trata do desenvolvimento de protocolos e arquitetura da Internet, documentos publicados que descrevem a arquitetura, os elementos do protocolo, os modos de transporte e os mecanismos para corrigir erros do WebRTC. Todos esses dados receberam o status de "Padrão proposto".



Sobre WebRTC



A tecnologia permite que aplicativos da web e sites capturem e transmitam seletivamente fluxos de áudio e vídeo, bem como troquem dados entre navegadores sem o uso de intermediários. É graças a ela que podemos ligar para colegas à distância sem ter que instalar plugins e outros softwares. Os aplicativos criados com base nesse padrão processam o tráfego de voz e vídeo em tempo real usando apenas HTML e JavaScript. O Google Meet, por exemplo, e vários outros aplicativos de webconferência funcionam nele.



A tecnologia WebRTC foi desenvolvida pelo Google desde 2009. Em 2011, a empresa inaugurou os seus desenvolvimentos e tecnologias para processamento de áudio e vídeo, obtidos durante a aquisição da GIPS, empresa que desenvolve sistemas de processamento digital de sinais. Ao mesmo tempo, o Google forneceu acesso gratuito a patentes relacionadas ao WebRTC.



WebRTC consiste em várias interfaces de programação (APIs) e protocolos interconectados. O Google iniciou seu processo de padronização de tecnologia com empresas como Mozilla, Microsoft, Cisco e Ericsson.



Aliás, o WebRTC (como o HTML5) se tornou um dos motivos da "morte" da tecnologia Flash. Desde 2017, os navegadores líderes deixaram oficialmente de oferecer suporte a Flash e a tecnologia desapareceu do mercado. Já escrevemos sobre as consequências no blog.



Agora, a tecnologia WebRTC ocupa o segundo lugar nos principais protocolos de comunicação de vídeo, depois do Zoom proprietário. H.323 padrão, SIP, Microsoft Teams e Cisco Webex ainda não tiveram sucesso.



O WebRTC é usado em aplicativos de vídeo e áudio conferência, jogos, plataformas de colaboração, mensageiros instantâneos, streaming e sistemas de distribuição de conteúdo. Ou seja, agora, em uma pandemia global, a tecnologia vive seu melhor momento.



Vantagens do padrão



  • Nenhum software ou plug-ins necessário.
  • Uso de codecs de áudio e vídeo modernos; como resultado - alta qualidade de comunicação.
  • Conexões protegidas e criptografadas por DTLS e STRP.
  • Há um captador de conteúdo integrado (demonstração em desktop)
  • Flexibilidade para implementar uma interface de controle baseada em HTML5 e JavaScript.
  • Código aberto.
  • Versatilidade: um aplicativo baseado em padrão funciona bem em qualquer sistema operacional, desde que o navegador suporte WebRTC.


Desvantagens do padrão



Para alguns, essas deficiências não serão significativas, mas mesmo assim as descreveremos.



  • O padrão não oferece suporte ao controle remoto da área de trabalho. Ou seja, podemos mostrar uma apresentação ou um gráfico aos colegas, mas não podemos trabalhar juntos na elaboração de um relatório anual. É tudo por segurança: o código Javascript não pode controlar nada fora da janela atual do navegador. Para recursos avançados, você precisa usar aplicativos especialmente projetados.
  • Os aplicativos WebRTC são incompatíveis uns com os outros, por isso não podemos chamar alguns BigBlueButton do Google Meets. Mas talvez isso não seja necessário?
  • Outra desvantagem é que o WebRTC detecta endereços IP de usuários. O Proxy e o Tor não vão resolver o problema, apenas os serviços VPN ajudarão a esconder.


Operação de tecnologia a exemplo de uma ligação entre dois assinantes por meio de um navegador. Fonte



Em que consiste o WebRTC



No nível estrutural, são:



  • sistemas para gerenciar sessões de usuários;
  • motor de processamento de som: você pode usar codecs diferentes e métodos de supressão de ruído;
  • motor de processamento de vídeo;
  • camada de transporte: para transferência de dados, você pode usar os protocolos DTLS e SRTP em conjunto com tecnologias para organizar canais de comunicação P2P.


Como escrevemos anteriormente, você pode trabalhar com recursos WebRTC por meio de uma API JavaScript especialmente preparada. A API inclui interfaces como getUserMedia, RTCPeerConnection, RTCDataChannel e getStats.



A interface getUserMedia é responsável por receber áudio e vídeo de dispositivos conectados, como webcam e microfone ou arquivo. A interface RTCPeerConnection é responsável por estabelecer a conexão entre os usuários, processar os sinais e proteger o canal de comunicação . RTCDataChannel ajuda a trocar dados durante a conferência (usando a API WebSockets típica). Para estatísticas, para a interface getStats .



Qual é o próximo



No momento, apenas as partes básicas do WebRTC são padronizadas. O que pode ser esperado na próxima versão do padrão?



  • Uma extensão que permitirá que o protocolo QUIC seja usado como um transporte e codec de vídeo AV1.
  • Uma API WebTransport que simplifica o streaming para vários destinatários.
  • Codificação de vídeo escalonável API, que adapta o fluxo de vídeo à largura de banda do cliente.
  • Criptografia ponta a ponta de videoconferência.
  • Processamento ao vivo de fluxos de áudio e vídeo, incluindo o uso de sistemas de aprendizado de máquina.
  • Ferramentas para estabelecer um canal de comunicação permanente com dispositivos "inteligentes".





All Articles