W3C le dio a WebRTC el estado de estándar
El W3C dio a conocer recientemente mediante un anuncio que la API relacionada con WebRTC se ha convertido en un estándar recomendado.
Al mismo tiempo, el comité IETF (Internet Engineering Task Force), que se dedica al desarrollo de protocolos y arquitectura de Internet, publicó 11 RFC (8825-8835, 8854) que describen la arquitectura, los elementos del protocolo, los modos de transporte y los mecanismos de corrección de erroresutilizado en WebRTC. Estos RFC ahora tienen el estado de «Estándar propuesto».
Para quienes desconocen de la tecnología WebRTC, deben saber que esta ha sido desarrollada por Google desde el año 2009 como la encarnación de la idea de crear una plataforma de comunicación para navegadores, alternativa a Adobe Flash y aplicaciones de escritorio.
En 2011, Google lanzó sus desarrollos relacionados con WebRTC, así como tecnologías de procesamiento de audio y video obtenidas de la adquisición de GIPS, una compañía de procesamiento de señales digitales, bajo licencia BSD.
Al mismo tiempo, se proporcionó acceso gratuito a las patentes que cubren WebRTC, junto con Mozilla, Microsoft, Cisco y Ericsson, el proceso de estandarización de WebRTC ha comenzado en el W3C y el IETF.
Desde entonces, el soporte de WebRTC se ha implementado en todos los navegadores modernos y se ha generalizado en programas de comunicación, aplicaciones móviles y servicios web que necesitan organizar un canal de comunicación directo entre usuarios.
Por ejemplo, para poder comprender un poco más sobre el alcance con el cual ya cuenta WebRTC, es que este es ampliamente utilizado en vídeo y audio conferencia de aplicaciones, juegos, plataformas de colaboración, mensajería instantánea, streaming de sistemas y la distribución de contenidos.
Con WebRTC, las aplicaciones de comunicación pueden procesar el tráfico de voz y video en tiempo real usando solo HTML y JavaScript, sin el uso de tecnologías propietarias de terceros y complementos externos.
WebRTC consta de cuatro componentes básicos: un sistema de gestión de sesiones de usuario, un motor de procesamiento de audio, un motor de procesamiento de video y una capa de transporte. Los motores de procesamiento de audio y video permiten utilizar diferentes códecs (VP8, H.264), así como métodos de supresión de ruido.
Todos los datos se transmiten solo en forma cifrada. Para la transmisión de datos en tiempo real, los protocolos DTLS y SRTP (Protocolo de transporte seguro en tiempo real) se pueden utilizar en combinación con tecnologías para organizar los canales de comunicación P2P y garantizar el funcionamiento a través de firewalls y traductores de direcciones (ICE, STUN, TURN, RTP-over- TCP, la capacidad de trabajar a través de un proxy).
Además de las partes base estandarizadas, los grupos de trabajo de W3C e IETF también están desarrollando extensiones aún no aprobadas que permiten el uso del protocolo QUIC como transporte y permiten el uso del códec de video AV1.
Se ha creado un grupo de trabajo para desarrollar la API WebTransport, que simplifica la organización de la transmisión a múltiples destinatarios, y la API de codificación de video escalable, para adaptar la transmisión de video al ancho de banda del cliente.
Para la próxima versión de WebRTC, también se están utilizando capacidades tales como el cifrado de un extremo a otro de las videoconferencias, el procesamiento en vivo de transmisiones de audio y video (incluido el uso de sistemas de aprendizaje automático), medios para establecer un canal de comunicación permanente con sensores en dispositivos de IoT desarrollado.
Las aplicaciones web acceden a las capacidades de WebRTC a través de una API de JavaScript especialmente preparada, que incluye las siguientes interfaces:
- getUserMedia: recibir una transmisión multimedia (video, sonido) desde un dispositivo conectado localmente (cámara web, micrófono, cámara de video) o archivo.
- RTCPeerConnection: establecimiento de una conexión directa entre usuarios, procesamiento de señales, trabajo con códecs, control de ancho de banda, organización de un canal de comunicación seguro.
- RTCDataChannel: intercambio de datos arbitrarios a través de un canal de comunicación bidireccional utilizando la API estándar de WebSockets.
- getStats: obtención de estadísticas.
Finalmente si estás interesado en conocer más al respecto, puedes consultar el siguiente enlace.