Ir al contenido

WebRTC: la tecnología que llevó las llamadas al navegador

Ventana de navegador conectada con otro navegador mediante un enlace en tiempo real

WebRTC (Web Real-Time Communication) es un conjunto de estándares abiertos y funciones del navegador que permite a las páginas web capturar audio y vídeo e intercambiarlos con otras personas en tiempo real. Antes de que existiera, las llamadas desde el navegador solían depender de complementos como Flash o Java. Esos ya no están, y WebRTC es lo que los sustituyó. Es la tecnología que hay detrás del videochat, los teléfonos del navegador y la transferencia directa de archivos, y la usas cada vez que te unes a una llamada en una pestaña del navegador.

Una breve historia

Google publicó el proyecto WebRTC como código abierto en 2011. Las interfaces del navegador fueron estandarizadas por el W3C y los protocolos de red por el IETF, y WebRTC se convirtió en Recomendación oficial del W3C en 2021. Hoy lo admiten Chrome, Edge, Firefox, Safari y los navegadores móviles.

Qué ofrece

  • Captura de medios. Acceso al micrófono, la cámara y la pantalla con tu permiso, mediante las interfaces getUserMedia y de captura de pantalla.
  • Conexiones entre pares. Flujos de audio y vídeo cifrados entre navegadores.
  • Canales de datos. Transferencia de baja latencia de datos arbitrarios, como mensajes de chat y archivos.
  • Atravesar la red. Técnicas para conectar a través de routers y cortafuegos (ICE, STUN, TURN).

Cómo se establece una conexión

  1. Una página pide al navegador la cámara y el micrófono, y tú concedes el permiso.
  2. Los dos navegadores intercambian descripciones de lo que pueden enviar y recibir, a través de un servidor de señalización que proporciona el sitio web.
  3. Intercambian posibles direcciones de red y las prueban hasta que una funciona.
  4. Entonces el contenido y los datos fluyen directamente por una conexión cifrada; solo se usa un relé cuando no existe un camino directo.

Para el proceso de conexión en detalle, lee videollamadas entre pares explicadas.

Lo que hace posible

  • Videochat en el navegador: inicia una conversación con un clic en un enlace, como en el chat P2P de Globfone.
  • Llamadas a números de teléfono reales: el navegador gestiona el audio y un proveedor hace de puente con la red telefónica, como en el WebPhone de Globfone.
  • Transferencia directa de archivos: los canales de datos permiten que los navegadores se envíen archivos directamente, algo que usa Globfone File Sharing.
  • Atención al cliente: un botón de «habla con nosotros» en un sitio web puede iniciar una llamada sin número de teléfono.
  • Colaboración en directo: pantalla compartida para ayuda remota y presentaciones.

Códecs y calidad

WebRTC usa códecs modernos: Opus para el audio, que maneja con eficiencia tanto la voz como la música, y VP8, VP9, H.264 o AV1 para el vídeo según el navegador. El navegador adapta la calidad al ancho de banda disponible durante la llamada, y por eso el vídeo se vuelve borroso antes de detenerse por completo.

Seguridad y privacidad

WebRTC cifra el contenido y los datos por defecto (DTLS-SRTP). Los navegadores también piden permiso antes de usar la cámara o el micrófono y muestran un indicador mientras están activos. Como en cualquier llamada, la otra persona ve y oye lo que compartes, así que revisa tu fondo y qué ventana compartes. Para las conversaciones privadas, las conexiones directas también significan que ningún servidor de reuniones guarda tu vídeo.

Límites

  • Las conexiones puras entre pares funcionan mejor con grupos pequeños; las reuniones grandes necesitan un servidor que reenvíe los flujos.
  • Algunos cortafuegos estrictos bloquean los caminos directos, así que hace falta un relé (TURN).
  • Las versiones de los navegadores difieren ligeramente, así que los servicios prueban en los navegadores principales.

Saber más

Para ver su relación con las llamadas telefónicas, consulta VoIP explicado y, para una comparación de herramientas, lee el videochat en el navegador comparado.

Más servicios gratuitos de Globfone