Tecnología

WHIP y WHEP: Los Protocolos WebRTC que Están Reemplazando a RTMP en Streaming

RTMP tiene 24 años y fue diseñado para Flash. WHIP y WHEP son los nuevos protocolos estándar de la IETF que permiten ingesta y distribución WebRTC con un simple HTTP POST — latencia sub-segundo, cifrado nativo y compatible con OBS Studio desde la versión 30.

¿Qué son WHIP y WHEP y por qué deberías conocerlos?

WHIP (WebRTC-HTTP Ingestion Protocol) y WHEP (WebRTC-HTTP Egress Protocol) son dos protocolos estandarizados por la IETF que resuelven el problema más grande que tenía WebRTC para streaming: la falta de un estándar de señalización.

Para entender por qué importan, hay que entender el problema. WebRTC fue diseñado para videollamadas peer-to-peer. Funciona extraordinariamente bien para eso. Pero cuando intentas usarlo para streaming profesional (un encoder enviando video a un servidor que lo distribuye a miles), te encuentras con un obstáculo: WebRTC define cómo transportar el video, pero no define cómo negociar la conexión entre encoder y servidor.

Cada plataforma inventaba su propio método de señalización. Si querías enviar WebRTC desde OBS a tu servidor, necesitabas un plugin específico para ESE servidor. No había interoperabilidad. WHIP y WHEP solucionan exactamente eso:

  • 📤 WHIP (Ingestion): Estandariza cómo un encoder envía video a un servidor WebRTC. Un simple POST HTTP con la oferta SDP, el servidor responde con la respuesta SDP, y la conexión WebRTC se establece. Así de simple
  • 📥 WHEP (Egress): Estandariza cómo un reproductor solicita y recibe video de un servidor WebRTC. Mismo principio: un POST HTTP y la conexión se establece
📌 Analogía: RTMP fue el "idioma universal" que todos los encoders y servidores hablaban para streaming. Cuando RTMP empezó a quedar obsoleto, WebRTC no tenía un equivalente. WHIP y WHEP son ese equivalente — pero para la era de ultra baja latencia.

WHIP en detalle: cómo funciona la ingesta WebRTC estandarizada

WHIP fue ratificado como RFC 9725 en marzo de 2025, convirtiéndose en un estándar oficial de internet. El flujo es elegantemente simple:

Flujo de conexión WHIP

  1. El encoder genera una oferta SDP (Session Description Protocol) que describe los codecs, resolución y parámetros de media que quiere usar
  2. Envía esa oferta como POST HTTP al endpoint WHIP del servidor, típicamente una URL como https://servidor/whip/stream-key
  3. El servidor responde con HTTP 201 y la respuesta SDP, negociando los parámetros de conexión
  4. Se establece la conexión WebRTC y el video fluye con latencia sub-segundo

¿Ves la diferencia con la señalización WebRTC tradicional? No hay WebSocket, no hay servidor de señalización separado, no hay intercambio de candidatos ICE manual. Es un HTTP POST y listo.

Qué software ya soporta WHIP

Software/HardwareSoporte WHIPNotas
OBS Studio 30+✅ NativoSeleccionar "WHIP" en servicio de streaming
FFmpeg 7.0+✅ NativoVia -f whip
GStreamer✅ Pluginwhipsink / whipsrc
Larix Broadcaster✅ NativoApp móvil iOS/Android
OvenMediaEngine✅ NativoServidor open source
Cloudflare Stream✅ NativoCDN/plataforma
Dolby.io (Millicast)✅ NativoCDN WebRTC global

Ventajas de WHIP sobre RTMP

  • Latencia sub-segundo: RTMP tiene latencia de 3-5 segundos solo en la ingesta; WHIP hereda la latencia WebRTC (~200-500ms)
  • 🔐 Cifrado nativo: DTLS/SRTP siempre activo; RTMP no tiene cifrado integrado
  • 🎬 Codecs modernos: VP8, VP9, H.264, H.265 (según implementación); RTMP está atado a H.264
  • 🔥 Sin Flash: RTMP fue diseñado para Flash Player — que murió en 2020
  • 🌐 Estándar abierto: RFC oficial de la IETF, no propiedad de Adobe

WHEP: cómo los reproductores reciben streaming WebRTC

WHEP complementa a WHIP del lado del espectador. Mientras WHIP estandariza la ingesta, WHEP estandariza la distribución. El flujo es similar:

  1. El reproductor envía un POST HTTP al endpoint WHEP con su oferta SDP
  2. El servidor responde con la respuesta SDP y los parámetros de conexión
  3. La conexión WebRTC se establece y el video fluye al reproductor

¿Por qué WHEP es importante?

Antes de WHEP, cada plataforma que ofrecía playback WebRTC tenía su propio SDK JavaScript propietario. Si querías reproducir un stream WebRTC de Millicast, necesitabas su SDK. Si querías uno de Ant Media, otro SDK. No había interoperabilidad.

Con WHEP, cualquier reproductor compatible puede conectarse a cualquier servidor compatible. Es como lo que HLS hizo por los reproductores HTTP: un estándar que todos hablan.

El pipeline completo WHIP → WHEP

Encoder (OBS/Larix/FFmpeg)
    │
    ├── WHIP POST (SDP Offer) ──→ Media Server (OME/Janus/SRS)
    │                                     │
    │                                     ├── Transcoding (opcional)
    │                                     ├── Grabación (opcional)
    │                                     │
    ├─── WHEP ──→ Espectador WebRTC (sub-segundo)
    ├─── HLS ───→ Espectador HLS (3-30 seg)
    └─── DASH ──→ Espectador DASH (3-30 seg)

La belleza de este pipeline es que puedes ingestar en WebRTC via WHIP y distribuir simultáneamente en WebRTC (via WHEP) para quienes necesitan ultra baja latencia, y en HLS/DASH para el público masivo que no la necesita.

💡 Dato clave: WHEP todavía está en fase de draft en la IETF (no es RFC final como WHIP), pero ya tiene implementaciones funcionales en OvenMediaEngine, Cloudflare y otros servidores. La adopción va en aumento.

Cómo configurar WHIP en OBS Studio paso a paso

OBS Studio incorporó soporte nativo para WHIP a partir de la versión 30. Aquí te explicamos cómo configurarlo:

Configuración en OBS Studio

  1. Abre Ajustes → Emisión
  2. En "Servicio", selecciona "WHIP"
  3. En "Servidor", ingresa la URL del endpoint WHIP de tu media server:
    https://tu-servidor.com/whip/tu-stream-key
  4. Si el servidor requiere autenticación, agrega el Bearer Token en el campo correspondiente
  5. Haz clic en "Iniciar transmisión"

Ajustes de encoding recomendados para WHIP

ParámetroRecomendaciónPor qué
Codec de videoH.264 (más compatible)VP8/VP9 también funcionan pero H.264 tiene soporte universal
Bitrate2,500-6,000 kbpsWebRTC adapta automáticamente, pero define un techo razonable
Resolución1080p (1920x1080)El ABR WebRTC ajustará si la red no alcanza
Keyframe1 segundoClave para que nuevos espectadores se conecten rápido
Presetveryfast / Max PerformancePriorizar velocidad sobre eficiencia de compresión
Codec de audioOpusCodec nativo de WebRTC, mejor latencia que AAC

Latencia esperada con WHIP vs RTMP

Método de ingestaLatencia de ingestaLatencia total al espectador
RTMP → HLS1-3 seg15-30 seg
RTMP → LL-HLS1-3 seg3-6 seg
SRT → HLS0.5-1 seg10-25 seg
WHIP → WHEP0.1-0.3 seg0.3-0.8 seg
XtreamCast y WHIP: XtreamCast soporta ingesta RTMP y SRT. Combinado con el addon de WebRTC Ultra Baja Latencia ($20/mes), tu stream se distribuye con latencia sub-segundo. Ideal para quienes buscan la mejor latencia sin complicaciones de configuración.

WHIP/WHEP vs RTMP: ¿debería migrar ahora?

La respuesta corta: depende de tu caso de uso. La respuesta larga:

Cuándo WHIP/WHEP es la mejor opción

  • ✅ Necesitas latencia sub-segundo (subastas, apuestas, Q&A)
  • ✅ Tus espectadores usan navegadores modernos
  • ✅ Necesitas cifrado end-to-end obligatorio
  • ✅ Quieres usar codecs modernos como VP9 o AV1
  • ✅ Tu servidor soporta WHIP (OvenMediaEngine, Janus, Cloudflare)

Cuándo RTMP sigue siendo válido

  • ✅ Tu infraestructura está basada en RTMP y funciona bien
  • ✅ Usas restream a YouTube/Facebook/Twitch (todos esperan RTMP)
  • ✅ No necesitas latencia sub-segundo
  • ✅ Tu hardware encoder solo soporta RTMP
  • ✅ Distribuyes en HLS de todas formas (la latencia de ingesta no es el cuello de botella)

Comparativa directa

AspectoRTMPWHIP/WHEP
EstándarPropietario (Adobe, 2002)IETF RFC 9725 (2025)
Latencia ingesta1-3 segundos100-300 ms
CifradoOpcional (RTMPS)Siempre (DTLS/SRTP)
Codecs videoH.264H.264, VP8, VP9, H.265*
Codec audioAAC, MP3Opus (menor latencia)
Soporte en OBS✅ Desde siempre✅ Desde v30
Soporte redes sociales✅ Universal⚠️ Limitado
Madurez20+ años~1 año como RFC

Recomendación práctica: Si transmites a redes sociales (YouTube, Facebook, Twitch), sigue usando RTMP — es lo que esperan. Si transmites a tu propia plataforma o a un media server que controlas y necesitas baja latencia, prueba WHIP. No es "migrar". Es agregar una opción más eficiente a tu toolkit.

🔮 El futuro: Media over QUIC (MoQ) es el siguiente paso en la evolución. Construido sobre el protocolo QUIC (el mismo que usa HTTP/3), promete combinar la baja latencia de WebRTC con la escalabilidad de HLS. Aún está en desarrollo, pero vale la pena tenerlo en el radar.

¿Listo para streaming con latencia sub-segundo?

XtreamCast ofrece ultra baja latencia WebRTC como add-on por $15 USD/mes. Compatible con ingesta RTMP y SRT. Menos de 2 segundos de delay sin configuraciones complejas.