WebRTC (Web Real Time Communications) es un estándar que permite la comunicación de redes entre pares en tiempo real y el intercambio de datos multimedia en navegadores, eliminando la necesidad de descargar e instalar aplicaciones o complementos adicionales. Gracias al WebRTC, cualquier navegador puede actuar como un punto final de videoconferencia: sólo tiene que abrir la página web de su reunión para iniciar videoconferencia. Este artículo describe el WebRTC, sus ejemplos de usos populares, así como ventajas y desventajas de esta tecnología.
En este artículo, revelaremos algunas de las características del uso de WebRTC, y consideraremos las ventajas y desventajas de esta tecnología.
Veamos cómo funciona la tecnología WebRTC utilizando como ejemplo una llamada de redes entre pares basadas en el navegador:
Los códecs WebRTC pueden dividirse en obligatorios (es necesario para que los navegadores que implementan esta tecnología soporten estos códecs) y opcionales (no estándar, aunque algunos navegadores los soportan).
Para comprimir el tráfico de audio, WebRTC utiliza códecs obligatorios (Opus y G.711) y opcionales (G.722, iLBC, iSAC).
Opus es un códec de audio de baja latencia (2.5 ms a 60 ms) con soporte de tasa de bits variable y alta compresión, que es perfecto para streaming de audio en redes de ancho de banda variable. Opus es el códec de audio principal de WebRTC. Es una solución híbrida que combina las mejores características de los códecs SILK (compresión de voz y mejora de voz humana) y CELT (codificación de audio). El códec es abierto y completamente libre de regalías. Sin lugar a dudas, Opus supera a otros códecs de audio de muchas maneras. En cuanto al número de parámetros, supera a los codecs de baja tasa de bits más populares, como MP3, Vorbis y AAC LC. En comparación con AMR-WB y Speex, Opus restaura la estructura de audio más cercana al original.
G.711 es un códec de voz heredado de alto bitrate (64 kbps) diseñado para su uso en sistemas VoIP tradicionales. La ventaja principal es la carga computacional mínima gracias a los algoritmos de compresión ligeros. El códec tiene un bajo nivel de compresión de señales de audio y no aumenta el retraso de audio en la comunicación entre usuarios.
G.711 es compatible con muchos dispositivos. Los sistemas que utilizan este códec son más fáciles de usar que los basados en otros códecs de audio, como G.723, G.726, G.728, etc. En términos de calidad, G.711 obtuvo una puntuación de 4,2 en pruebas MOS (una puntuación de 4–5 es la más alta y significa una buena calidad similar a la calidad del tráfico de voz en ISDN e incluso superior).
Al ser libre de regalías, G.722 es un estándar ITU-T adoptado en 1988. Puede operar a 48, 56 y 64 kbps, proporcionando una calidad de audio igual a G.711. Al igual que el G.711, es heredado, pero aún es compatible con Chrome, Safari y Firefox.
iLBC (internet Low Bitrate Codec) es un códec de voz de banda estrecha de código abierto compatible con Chrome y Safari. Debido a la alta compresión de flujo, este códec incrementa la carga del CPU.
iSAC (internet Speech Audio Codec) es un códec de audio de voz de banda ancha anteriormente patentado que ahora forma parte del proyecto WebRTC. Sin embargo, no es obligatorio, pero es compatible con Chrome y Safari. En el caso de WebRTC, utiliza un bitrate adaptativo de 10 a 52 kbps con una tasa de muestreo de 32 kHz.
¿Qué códec de video elegir para WebRTC? Los desarrolladores tuvieron que pensarlo durante varios años, y la respuesta es VP8 y H.264. También existen códecs de video opcionales (H.265, VP9 y AV1).
VP8 es un códec de video abierto libre de regalías con alta velocidad de decodificación de video y mayor resistencia a la pérdida de cuadros. El códec es multifuncional: es fácil de integrar en las plataformas de hardware, por lo que los proveedores de videoconferencia a menudo lo usan en sus productos. Es compatible con Chrome, Edge, Firefox y Safari (12.1+).
El códec de vídeo pago H.264 se conoció mucho antes que su contraparte. Este códec ofrece una alta relación de compresión para flujos de video manteniendo al mismo tiempo una alta calidad de video. Ampliamente utilizado en sistemas de hardware de videoconferencia, es perfecto para WebRTC. Es compatible con Chrome (52+), Edge, Firefox (ya no es compatible con las versiones 68+ para Android) y Safari.
VP9 es un estándar de compresión de video abierto y libre de regalías desarrollado por Google en 2012. Posteriormente ampliado dentro del AV1It, resulta de las ideas detrás del VP8. Este códec es compatible con Chrome (48+) y Firefox.
H.265 es un códec de video pago considerado como el sucesor del H.264 y que proporciona la misma calidad visual a la mitad del bitrate. Esto es posible gracias a algoritmos de compresión más eficientes. Este códec está compitiendo actualmente con el AV1 libre de regalías.
AV1 es un códec de compresión de video de código abierto diseñado para la transmisión de video a través de internet. Es compatinble con Chrome (70+) y Firefox (67+).
Dependiendo de su implementación WebRTC, pueden existir ciertas diferencias en las versiones de los navegadores compatibles. Obtenga más información sobre navegadores de escritorio y móviles compatibles con TrueConf aquí.
Si está ansioso de saber cómo evolucionará la tecnología WebRTC, le recomendamos que visite su sitio web oficial, el sitio web y depósito del proyecto WebRTC.
Hoy en día, WebRTC es el segundo protocolo de video más popular después del patentado por Zoom. WebRTC supera todos los demás protocolos estándar (H.323 y SIP) y patentados (Microsoft Teams y Cisco Webex).
La tecnología WebRTC ha tenido un impacto profundo en el mercado de las videoconferencias. Tras el lanzamiento de los primeros navegadores con WebRTC en 2013, el número potencial de puntos finales de videoconferencia aumentó en mil millones de dispositivos en todo el mundo. De hecho, cada navegador es ahora un punto final de videoconferencia con capacidades básicas.
Varias bibliotecas JavaScript y API en la nube compatibles con WebRTC le permiten añadir soporte de video a cualquier proyecto web. Anteriormente, la transferencia de datos en tiempo real requería habilidades avanzadas de programación y licencias adicionales, lo que resultaba en un aumento en el costo. Hoy en día, WebRTC se utiliza ampliamente para organizar centros de contacto con video, realizar seminarios web, etc.
WebRTC y HTML5 fueron un golpe mortal para Flash que ya estaba pasando por tiempos difíciles. Desde 2017, los principales navegadores dejaron de ser compatibles con Flash, obligando a esta tecnología a desaparecer completamente del mercado.
Google Meet es un servicio de videotelefonía desarrollado por Google en 2017. Los navegadores basados en Chromium (Google Chrome, etc.) utilizan muchas funciones ocultas de WebRTC que no se describen en las especificaciones tecnológicas. Los nuevos lanzamientos de WebRTC normalmente se integran en Google Meet (como en su predecesor, Google Hangouts), por ejemplo, captura de pantalla, fondo desenfocado y cifrado de hardware para algunas plataformas.
Jitsi Meet es una aplicación de código abierto lanzada por 8x8. La tecnología Jitsi se basa en la arquitectura Simulcast, lo que significa que el servicio puede funcionar inestablemente con un ancho de banda bajo y requiere una conexión a internet de alta velocidad en el lado del servidor. Jitsi sólo admite conferencias basadas en el navegador y no ofrece aplicaciones completas de videoconferencia. Con Jitsi, es posible albergar hasta 75 participantes en una reunión (hasta 35 para una experiencia de alta calidad). Sin embargo, Jitsi no es una solución lista para usar, así que para hacer pleno uso de Jitsi en un entorno corporativo, necesitará habilidades avanzadas de programación.
BigBlueButton es un software de videoconferencia gratuito con un fuerte enfoque educativo. BigBlueButton es compatible con reuniones de video con hasta 100 participantes y ofrece muchas características esenciales para la enseñanza a distancia, por ejemplo, pizarra interactiva, intercambio de contenido, encuestas, salas de descanso y más.
Contrario a la creencia popular, Zoom no utiliza la tecnología WebRTC para transferir y decodificar datos multimedia para ahorrar los recursos del servidor. En el lado del navegador, Zoom integra otras tecnologías web, como WebAssembly y WebSocket. Los métodos no estándar para transferir flujos de video pueden dar lugar a problemas de conectividad y de baja calidad de audio y video.
TrueConf Server es un sistema de videoconferencia basado en SVC que opera tanto en LAN/VPN como a través de internet. El servidor del seminario web está implementado en las instalaciones de su empresa, restringiendo el acceso de terceros a sus datos personales. TrueConf podría ser una buena solución para la transmisión de eventos virtuales, educación a distancia y trabajo remoto gracias a la resolución de video en 4K y a una serie de herramientas de colaboración.
Google Meet es un servicio de videotelefonía desarrollado por Google en 2017. Los navegadores basados en Chromium (Google Chrome, etc.) utilizan muchas funciones ocultas de WebRTC que no se describen en las especificaciones tecnológicas. Los nuevos lanzamientos de WebRTC normalmente se integran en Google Meet (como en su predecesor, Google Hangouts), por ejemplo, captura de pantalla, fondo desenfocado y cifrado de hardware para algunas plataformas.
Jitsi Meet es una aplicación de código abierto lanzada por 8x8. La tecnología Jitsi se basa en la arquitectura Simulcast, lo que significa que el servicio puede funcionar inestablemente con un ancho de banda bajo y requiere una conexión a internet de alta velocidad en el lado del servidor. Jitsi sólo admite conferencias basadas en el navegador y no ofrece aplicaciones completas de videoconferencia. Con Jitsi, es posible albergar hasta 75 participantes en una reunión (hasta 35 para una experiencia de alta calidad). Sin embargo, Jitsi no es una solución lista para usar, así que para hacer pleno uso de Jitsi en un entorno corporativo, necesitará habilidades avanzadas de programación.
BigBlueButton es un software de videoconferencia gratuito con un fuerte enfoque educativo. BigBlueButton es compatible con reuniones de video con hasta 100 participantes y ofrece muchas características esenciales para la enseñanza a distancia, por ejemplo, pizarra interactiva, intercambio de contenido, encuestas, salas de descanso y más.
Contrario a la creencia popular, Zoom no utiliza la tecnología WebRTC para transferir y decodificar datos multimedia para ahorrar los recursos del servidor. En el lado del navegador, Zoom integra otras tecnologías web, como WebAssembly y WebSocket. Los métodos no estándar para transferir flujos de video pueden dar lugar a problemas de conectividad y de baja calidad de audio y video.