WebRTC ahora es un estándar W3C e IETF

Una breve descripción general de la historia, la arquitectura, los casos de uso y el futuro de WebRTC.

Huib Kleinhout
Huib Kleinhout

El proceso de definición de un estándar web es un proceso largo que garantiza la utilidad, la coherencia y la compatibilidad entre navegadores. Hoy en día, el W3C y la IETF marcan la finalización de quizás uno de los estándares más importantes durante la pandemia: WebRTC.

Historial

WebRTC es una plataforma que proporciona capacidades de comunicación en tiempo real a los navegadores, las apps para dispositivos móviles y las apps para computadoras, que por lo general se usan en videollamadas. La plataforma consta de un conjunto completo de tecnologías y estándares. Google inició la idea de crear WebRTC en 2009, como alternativa a Adobe Flash y las aplicaciones de escritorio que no se podían ejecutar en el navegador. La generación anterior de productos basados en el navegador se creó sobre la base de la tecnología de propiedad con licencia. Varios productos se crearon con esta tecnología, incluido Hangouts. Luego, Google adquirió las empresas a las que les había otorgado licencias para la tecnología y la puso a disposición como el proyecto de código abierto WebRTC. Esta base de código está integrada en Chrome y es utilizada por la mayoría de las aplicaciones que usan WebRTC. Junto con otros proveedores de navegadores y líderes de la industria, como Mozilla, Microsoft, Cisco y Ericsson, se inició la estandarización de WebRTC en el W3C y en IETF. En 2013, Mozilla y Google demostraron las videollamadas entre sus navegadores. A través de la evolución del estándar, muchos debates arquitectónicos habían dado lugar a diferencias de implementación en los navegadores y cuestionados la compatibilidad y la interoperabilidad. La mayoría de estos desacuerdos se resolvieron a medida que la norma se volvía definitiva en los últimos años. La especificación de WebRTC ahora está acompañada de un conjunto completo de pruebas de plataforma y herramientas para abordar la compatibilidad, y los navegadores adaptaron en gran medida sus implementaciones de manera correspondiente. Esto termina un período desafiante en el que los desarrolladores web tuvieron que adoptar continuamente sus servicios para diferentes implementaciones y cambios en las especificaciones del navegador.

Arquitectura y funcionalidad

La API de RTCPeerConnection es la parte central de la especificación de WebRTC. RTCPeerConnection se ocupa de conectar dos aplicaciones en extremos diferentes para comunicarse mediante un protocolo entre pares. La API de PeerConnection interactúa estrechamente con getUserMedia para acceder a la cámara y el micrófono, y con getDisplayMedia para capturar el contenido de la pantalla. WebRTC te permite enviar y recibir transmisiones que incluyen contenido de audio o video, así como datos binarios arbitrarios mediante el DataChannel. La funcionalidad multimedia para procesar, codificar y decodificar audio y video proporciona la base de cualquier implementación de WebRTC. WebRTC admite varios códecs de audio, y Opus es el más usado y versátil. Las implementaciones de WebRTC son compatibles con el códec de video VP8, que es gratuito de Google, y con H.264 para procesar videos. Las conexiones de WebRTC siempre están encriptadas, lo que se logra mediante dos protocolos existentes: DTLS y SRTP. WebRTC se basa en gran medida en estándares y tecnologías existentes, desde códecs de video (VP8, H264), recorrido de red (ICE), transporte (RTP, SCTP) y protocolos de descripción de contenido multimedia (SDP). Esto se vincula en más de 50 RFC.

Casos de uso: cuando es cuestión de milisegundos.

WebRTC se usa ampliamente en aplicaciones urgentes, como la cirugía remota, la supervisión de sistemas y el control remoto de vehículos autónomos, y las llamadas de voz o video compiladas en UDP en las que no es posible almacenar en búfer. Casi todos los servicios de videollamadas basados en el navegador de empresas como Google, Facebook, Cisco, RingCentral y Jitsi usan WebRTC. Google Stadia y NVIDIA GeForce NOW usan WebRTC para obtener la transmisión de juegos de la nube al navegador web sin un retraso perceptible.

La pandemia se enfoca en el rendimiento de las videollamadas

Durante el año pasado, el uso de WebRTC aumentó 100 veces en Chrome debido al aumento de las videollamadas desde el navegador. Dado que se dieron cuenta de que las videollamadas se convirtieron en una parte fundamental de la vida de muchas personas durante la pandemia, los proveedores de navegadores comenzaron a optimizar las tecnologías de las que dependen las videollamadas. Esto era particularmente importante, ya que los recursos que demandaban reuniones grandes y los efectos de video en las videoconferencias se volvieron más comunes cuando los empleados y los estudiantes comenzaron a trabajar y estudiar desde casa. Durante el año pasado, Chrome logró un uso de batería hasta un 30% más alto para las videollamadas, y se implementarán más optimizaciones en situaciones de uso intensivo. Mozilla, Apple y Microsoft realizaron mejoras significativas en la implementación de WebRTC durante la pandemia, en particular, para asegurarse de cumplir con el estándar que ahora se formalizó.

El futuro de WebRTC

Si bien WebRTC ya está completo como estándar de W3C, las mejoras continúan. El nuevo códec de video AV1 que ahorra hasta un 50% del ancho de banda está disponible en WebRTC y navegadores web. Se espera que las mejoras continuas en la base de código abierto reduzcan aún más el retraso y mejoren la calidad de video que se puede transmitir. WebRTC NV recopila la iniciativa para crear APIs complementarias a fin de habilitar nuevos casos de uso. Estas consisten en extensiones de las APIs existentes para brindar más control sobre funciones existentes, como el código escalable de video, además de APIs que otorgan acceso a componentes de nivel inferior. Este último brinda más flexibilidad a los desarrolladores web para innovar mediante la integración de componentes personalizados de WebAssembly de alto rendimiento. Con las redes 5G emergentes y la demanda de servicios más interactivos, esperamos ver un aumento continuo de los servicios que se basan en WebRTC en el próximo año.