DICCIONARIO · W

WebRTC

WebRTC (Web Real-Time Communication) es un conjunto de estándares del W3C y del IETF que permite a navegadores y apps intercambiar audio, vídeo y datos en tiempo real, directamente entre dispositivos y sin plugins. Es la base técnica de la mayoría de videollamadas web, del soporte con vídeo y de muchos agentes de voz con IA.

Germán Gutiérrez Escrito por Germán Gutiérrez 6 min de lectura
Ficha rápida
Tipo
Estándar abierto de comunicación en tiempo real (API del navegador + protocolos de red)
Origen
Proyecto de código abierto publicado por Google en mayo de 2011, tras comprar Global IP Solutions en 2010
Estandarización
Recomendación del W3C y estándares del IETF desde el 26 de enero de 2021
Códecs obligatorios
Audio: Opus y G.711. Vídeo: VP8 y H.264 Constrained Baseline
Cifrado
Obligatorio: medios con SRTP y claves negociadas por DTLS

≡En resumen

  • WebRTC permite videollamadas, audio y envío de datos entre navegadores sin instalar nada.
  • La conexión es peer-to-peer siempre que la red lo permite; si no, se retransmite por un servidor TURN.
  • La señalización (cómo se encuentran los usuarios) no está estandarizada: la programa cada aplicación.
  • El cifrado de los medios es obligatorio en todas las implementaciones.
  • Para llamadas de grupo se combina con servidores SFU o MCU, que ya no son peer-to-peer.

01 ¿Qué es WebRTC?

Google compró la empresa Global IP Solutions en 2010 y en mayo de 2011 liberó su tecnología de voz y vídeo como proyecto de código abierto. El W3C publicó el primer borrador de la API ese mismo año y el 26 de enero de 2021 WebRTC 1.0 se convirtió en Recomendación del W3C, a la vez que el IETF publicaba los estándares de protocolo. Hoy lo soportan Chrome, Firefox, Safari (desde la versión 11, de 2017) y Edge, en escritorio y móvil.

WebRTC no es una aplicación, sino la pieza con la que se construyen aplicaciones de video chat, videoconferencia, soporte remoto o juegos en línea.

02 ¿Cómo funciona WebRTC? El recorrido de una llamada

  1. 1

    Captura de medios

    La web pide acceso a cámara y micrófono con getUserMedia. El navegador muestra el aviso de permiso y solo funciona en páginas HTTPS.

  2. 2

    Señalización

    Los dos extremos intercambian mensajes a través de un servidor de la aplicación, normalmente por WebSocket. WebRTC no fija cómo se hace.

  3. 3

    Oferta y respuesta SDP

    Cada extremo describe en formato SDP qué códecs y capacidades tiene; así acuerdan cómo se enviarán audio y vídeo.

  4. 4

    Candidatos ICE

    Cada dispositivo descubre sus posibles direcciones (local, pública vía STUN o de retransmisión vía TURN) y las comparte.

  5. 5

    Conexión y cifrado

    ICE prueba las rutas y elige la mejor. DTLS negocia las claves y los medios viajan cifrados con SRTP.

  6. 6

    Datos y medios

    Audio y vídeo fluyen por RTCPeerConnection; texto o archivos, por RTCDataChannel.

03 Componentes de WebRTC: APIs y protocolos

Pieza Tipo Para qué sirve
getUserMedia / getDisplayMedia API del navegador Capturar cámara, micrófono o pantalla
RTCPeerConnection API del navegador Crear y gestionar la conexión de audio y vídeo
RTCDataChannel API del navegador Enviar datos arbitrarios (chat, archivos, estado de un juego)
SDP y JSEP Formato y modelo de negociación Describir capacidades y acordar la sesión (oferta/respuesta)
ICE Protocolo Encontrar la mejor ruta de red entre dos dispositivos
STUN / TURN Protocolos y servidores Descubrir la IP pública / retransmitir cuando no hay ruta directa
DTLS-SRTP Seguridad Negociar claves y cifrar los medios
SCTP Transporte Llevar los canales de datos, fiables o no
Piezas principales de WebRTC

04 STUN y TURN: cómo atraviesa WebRTC los routers

La mayoría de dispositivos están detrás de un router con NAT o de un cortafuegos corporativo, y no tienen una IP pública propia. Para conectar dos de ellos directamente, WebRTC usa ICE con dos tipos de servidores:

01

STUN

Le dice a cada dispositivo cuál es su IP y puerto públicos. Es ligero y barato: solo interviene al principio. Con eso, en muchas redes ya se puede conectar de forma directa.

02

TURN

Cuando la conexión directa es imposible (NAT simétrico, redes corporativas estrictas), retransmite todo el tráfico. Funciona siempre, pero consume ancho de banda del servidor.

05 Códecs de WebRTC: Opus, VP8, H.264, VP9 y AV1

Medio Obligatorios Norma Otros habituales
Audio Opus y G.711 (PCMA/PCMU) RFC 7874, mayo de 2016 Se prefiere Opus por su calidad y resistencia a pérdidas
Vídeo VP8 y H.264 Constrained Baseline RFC 7742, marzo de 2016 VP9 y AV1 en los navegadores actuales, más eficientes
Códecs obligatorios y habituales en WebRTC

La aplicación no suele elegir el códec a mano: los extremos lo acuerdan en la negociación SDP. Sí puedes priorizar uno, por ejemplo H.264 si hay dispositivos con aceleración por hardware, o AV1 si te importa ahorrar ancho de banda y los clientes lo soportan.

06 Seguridad y privacidad en WebRTC

  • ✓El cifrado de medios con SRTP es obligatorio: no existe WebRTC sin cifrar.
  • ✓El navegador pide permiso explícito para cámara, micrófono y pantalla.
  • ✓getUserMedia solo funciona en contextos seguros (HTTPS o localhost).
  • ✓En una conexión directa, el otro extremo ve tu IP pública; si no quieres exponerla, fuerza el tráfico por TURN.
  • ✓Si usas un servidor SFU, este puede acceder a los medios: el cifrado de extremo a extremo requiere una capa adicional.
  • ✓Protege la señalización con autenticación: es donde se decide quién entra en una llamada.

07 Cómo empezar a desarrollar con WebRTC

Montar una llamada de prueba entre dos pestañas cuesta una tarde; llevarla a producción con usuarios reales, varias semanas. Estas son las decisiones que conviene tomar antes de escribir código:

  • ✓Caso de uso: llamada uno a uno, reunión de grupo, directo a muchos espectadores o canal de datos.
  • ✓Plataformas: solo navegador, o también apps nativas de iOS y Android con los SDK oficiales.
  • ✓Servidor de señalización: propio sobre WebSockets o incluido en una plataforma de vídeo.
  • ✓Servidores STUN/TURN: propios (por ejemplo coturn) o gestionados, con su coste de tráfico.
  • ✓Servidor de medios para grupos: SFU de código abierto o servicio en la nube.
  • ✓Grabación, transcripción y cumplimiento del RGPD si se guardan conversaciones.
Ejemplo · Ejemplo mínimo en el navegador

Con tres llamadas ya tienes la base de una videollamada: navigator.mediaDevices.getUserMedia({ video: true, audio: true }) para la cámara, new RTCPeerConnection({ iceServers: [...] }) para la conexión y pc.addTrack() para enviar las pistas. Lo que falta, y es lo que más trabajo da, es intercambiar la oferta, la respuesta y los candidatos ICE a través de tu servidor de señalización.

08 Para qué sirve WebRTC: usos y alternativas

01

Videollamadas y reuniones

De dos personas o de grupo. Para grupos se combina con servidores SFU que reenvían el vídeo de cada participante.

02

Atención al cliente y telemedicina

Vídeo integrado en la web o la app del negocio, sin mandar al cliente a otra plataforma.

03

Agentes de voz con IA

Varias APIs de voz en tiempo real usan WebRTC para llevar el audio entre el usuario y el modelo con baja latencia.

04

Datos peer-to-peer

Transferencia de archivos, pizarras colaborativas y juegos multijugador por canales de datos.

05

Directos de baja latencia

Emisiones con menos de un segundo de retraso, frente a los varios segundos del streaming HTTP tradicional.

Tecnología Latencia típica Mejor para
WebRTC Por debajo de un segundo Conversación bidireccional con audio y vídeo
WebSockets Baja, pero sobre TCP y siempre vía servidor Mensajes, notificaciones, chat de texto
Streaming HTTP (HLS, DASH) Varios segundos Emitir a audiencias grandes con coste bajo
WebRTC frente a otras tecnologías de tiempo real

Si vas a integrar vídeo en tu producto, el reto no es la API del navegador, sino la infraestructura: señalización, TURN, escalado y grabación, el día a día del desarrollo de aplicaciones web a medida. Lo explicamos en detalle en videoconferencia con WebRTC. Y si es para un asistente conversacional, esta guía sobre el agente de voz con IA muestra cómo encaja. En móvil hay SDK nativos para iOS y Android, así que no dependes del navegador: revisa los tipos de apps antes de elegir y, si lo necesitas, apóyate en un equipo de desarrollo de apps a medida.

Preguntas frecuentes sobre WebRTC

Es un estándar abierto del W3C y del IETF que permite enviar audio, vídeo y datos en tiempo real entre navegadores y apps, sin plugins y con cifrado obligatorio.

Sirve para crear videollamadas, reuniones online, atención al cliente por vídeo, telemedicina, agentes de voz, transferencia de archivos peer-to-peer y directos de muy baja latencia.

Sí cuando la red lo permite: los medios van directamente entre los dispositivos. Si no hay ruta directa se retransmiten por TURN, y en llamadas de grupo suelen pasar por un servidor SFU.

STUN solo ayuda a cada dispositivo a descubrir su IP pública para conectar directamente; TURN retransmite todo el tráfico cuando la conexión directa no es posible.

Sí: el cifrado de audio y vídeo con SRTP es obligatorio y el navegador pide permiso para usar cámara y micrófono. La seguridad de la señalización y los servidores depende de cada aplicación.

Todos los principales: Chrome, Firefox, Safari (desde la versión 11) y Edge, en escritorio y en móvil. También hay SDK nativos para iOS y Android.

Sí. Es un estándar abierto y su implementación de referencia, libwebrtc, es de código abierto con licencia de tipo BSD. Lo que sí cuesta es la infraestructura: servidores de señalización, TURN y, en grupos, SFU.

No es necesario en general. En una conexión directa el otro extremo ve tu IP pública; si eso te preocupa, algunas extensiones o ajustes limitan WebRTC, pero romperán las videollamadas web.

Fuentes consultadas

Germán Gutiérrez

Sobre el autor

Germán Gutiérrez

Development Manager en appyweb

Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.

Ver perfil en LinkedIn ↗

Términos relacionados

Ver todos los términos →
W WebRTC video conferencing La videoconferencia con WebRTC (WebRTC video conferencing) es la forma de crear reuniones de vídeo de tres o más personas en el navegador o en una app con el estándar WebRTC. Como conectar a todos entre sí no escala, se apoya en un servidor SFU o MCU, y esa elección decide calidad, coste y número de participantes. V Video Chat El video chat es una conversación en tiempo real con vídeo y audio entre dos o más personas a través de internet, a menudo acompañada de chat de texto y pantalla compartida. Para una empresa es un canal de atención al cliente, venta consultiva y soporte técnico que acerca el trato presencial sin desplazamientos. W WebSockets WebSocket es un protocolo de comunicación estandarizado por el IETF en el RFC 6455 (diciembre de 2011) que mantiene abierta una conexión bidireccional entre navegador y servidor sobre una única conexión TCP. Permite enviar mensajes en ambos sentidos en tiempo real sin repetir peticiones HTTP, y es la base de chats, paneles en vivo y colaboración. A API Una API (Application Programming Interface, interfaz de programación de aplicaciones) es un conjunto de reglas y puntos de acceso que permite que dos programas se comuniquen: uno pide datos o acciones y el otro responde en un formato acordado, sin que ninguno conozca el código interno del otro. Es lo que conecta webs, apps, pasarelas de pago e inteligencia artificial. S Streaming El streaming es la transmisión de vídeo o audio por internet en la que el contenido se reproduce mientras se recibe, en pequeños fragmentos, sin esperar a descargar el archivo completo. Puede ser bajo demanda, como Netflix o Spotify, o en directo, como una emisión en YouTube o Twitch, y es hoy el canal principal de consumo audiovisual. J Jitsi Meet Jitsi Meet es una aplicación de videoconferencia gratuita y de código abierto (licencia Apache 2.0) que funciona en el navegador mediante WebRTC y en apps para Android, iOS y escritorio. La mantiene el equipo de Jitsi en 8x8: puedes usarla en el servicio público meet.jit.si o instalarla en tu propio servidor para controlar tus datos.

Cuéntanos tu proyecto. Te respondemos en 48 h.

Auditoría gratuita de IA, campañas, web y SEO, con prioridades y cifras reales de tu negocio.

✓ Sin compromiso ✓ Respuesta en 48 h laborables ✓ Un consultor senior, no un bot
WA WhatsApp