Qué es la latencia y por qué importa tanto
La latencia en streaming es el tiempo que pasa entre que algo ocurre frente a la cámara y el espectador lo ve en su pantalla. Parece insignificante, pero esos segundos de diferencia pueden arruinar experiencias completas.
Piénsalo así: estás viendo una pelea de box por PPV y el comentarista de radio (que va en tiempo real) anuncia un nocaut 15 segundos antes de que lo veas en tu stream. O estás en un Q&A corporativo y la respuesta del CEO le llega al empleado 20 segundos después de que la hizo. O estás haciendo una subasta en vivo y las pujas llegan con 10 segundos de delay.
Tipos de latencia en streaming
| Tipo | Rango | Protocolo típico | Casos de uso |
|---|---|---|---|
| Ultra baja | <2 segundos | WebRTC | Subastas, apuestas, gaming interactivo |
| Baja | 3-5 segundos | HLS Low Latency, CMAF | Deportes, Q&A, eventos con chat |
| Normal | 6-15 segundos | HLS estándar | Canales de TV, VOD, contenido no interactivo |
| Alta | 15-45 segundos | HLS con buffer grande | Contenido pregrabado con replay |
📡 Dato: La latencia promedio de la televisión abierta analógica es de ~5 segundos. La televisión digital terrestre (TDT) tiene 6-8 segundos. Si tu stream tiene más de 10 segundos, estás siendo más lento que la TV convencional.
Dónde se genera la latencia (y cómo atacar cada punto)
La latencia total es la suma de delay en cada etapa del flujo de streaming. Entender dónde se produce te permite atacar cada punto:
Desglose de latencia por etapa
| Etapa | Latencia típica | Cómo reducirla |
|---|---|---|
| 1. Captura de cámara | ~30-50 ms | Usar conexión directa (HDMI/SDI), no WiFi |
| 2. Encoding (OBS/encoder) | 0.5-2 seg | Preset rápido (veryfast), NVENC, keyframe 1s |
| 3. Transmisión al servidor | 0.1-1 seg | Usar SRT en vez de RTMP, servidor cercano |
| 4. Procesamiento en servidor | 0.5-3 seg | Servidor optimizado, sin transcoding múltiple |
| 5. CDN / distribución | 1-5 seg | CDN con PoPs cercanos, edge caching |
| 6. Player del espectador | 2-10 seg | Reducir buffer del player, HLS Low Latency |
Total típico con HLS estándar: 10-25 segundos
Total optimizado con HLS LL: 3-5 segundos
Total con WebRTC: <2 segundos
Reducir latencia desde el encoder (OBS Studio)
El encoder es el primer punto donde puedes ganar tiempo. Estos son los ajustes específicos para OBS Studio:
Configuración de OBS para baja latencia
- Encoder: Usa NVENC (GPU) si tienes Nvidia. Es más rápido que x264 para baja latencia.
- Preset: "Max Performance" (NVENC) o "ultrafast" (x264). Sí, pierdes algo de calidad, pero ganas velocidad.
- Keyframe interval: 1 segundo (no 2). Esto permite que los players hagan seeking más rápido.
- Profile: Baseline (menor latencia) en vez de High (mejor calidad). El tradeoff vale la pena para ultra baja latencia.
- Tune: "zerolatency" si usas x264. Desactiva funciones de look-ahead que agregan delay.
- B-frames: 0 (desactivar). Los B-frames mejoran la calidad pero agregan latencia.
SRT vs RTMP para la transmisión al servidor
Si tu plataforma soporta SRT (Secure Reliable Transport), úsalo en vez de RTMP:
- 🔒 SRT tiene corrección de errores (FEC): Si se pierden paquetes, los reconstruye sin pedir retransmisión
- 🌐 Funciona mejor en redes inestables: Ideal para streaming desde campo, celular o señal bonding
- ⚡ Latencia consistente: SRT mantiene latencia estable incluso bajo estrés de red
- 📊 Criptografía integrada: AES-128/256 sin necesidad de túnel VPN
⚡ En OBS: Para usar SRT, ve a Ajustes → Emisión → Servicio: Personalizado → Servidor: srt://tu-servidor:puerto?latency=500000. El valor de latency está en microsegundos (500000 = 500ms de buffer de red).
HLS Low Latency: el sweet spot para la mayoría de los casos
HLS estándar tiene segmentos de 6-10 segundos. Eso ya son 6-10 segundos de latencia solo por cómo funciona el protocolo. HLS Low Latency (LL-HLS) soluciona esto usando "partial segments" de ~200ms que se envían progresivamente.
Cómo funciona HLS Low Latency
- El servidor genera partial segments de ~200ms en vez de esperar a completar un segmento de 6s
- El player empieza a reproducir tan pronto como recibe los primeros parciales
- La playlist se actualiza vía Blocking Playlist Reload (el player se queda "escuchando" actualizaciones)
- El resultado: 3-5 segundos de latencia con compatibilidad universal
Compatibilidad de HLS LL
| Plataforma | Soporte HLS LL |
|---|---|
| Safari (iOS/Mac) | ✅ Nativo |
| Chrome / Edge | ✅ Via HLS.js |
| Firefox | ✅ Via HLS.js |
| Android | ✅ Via ExoPlayer/HLS.js |
| Smart TVs | ⚠️ Varía por modelo |
La ventaja de HLS LL sobre WebRTC es la compatibilidad: funciona en todos los navegadores y dispositivos modernos sin plugins. WebRTC tiene mejor latencia pero requiere conexiones punto a punto que no escalan igual.
WebRTC: cuándo y cómo usar ultra baja latencia
WebRTC fue diseñado para videollamadas, pero la industria del streaming lo adoptó para casos donde cada fracción de segundo cuenta. Con WebRTC, la latencia puede ser menor a 500 milisegundos en condiciones óptimas.
Cuándo vale la pena pagar por ultra baja latencia
- 💰 Subastas en vivo: Las pujas necesitan ser en tiempo real o se pierde dinero
- 🎰 Apuestas deportivas: Un delay de 5 segundos permite apuestas con información privilegiada
- 🎮 Gaming interactivo: Audiencia que controla el juego en tiempo real
- 🎤 Karaoke/duetos remotos: La sincronización es imposible con más de 1 segundo de delay
- 🏥 Telemedicina en vivo: Procedimientos guiados que requieren feedback instantáneo
Limitaciones de WebRTC para streaming
- ⚠️ Escalabilidad: WebRTC es peer-to-peer por naturaleza. Para 1,000+ viewers necesitas un SFU (Selective Forwarding Unit) o CDN con WebRTC edge
- ⚠️ Calidad adaptativa: El ABR en WebRTC es menos maduro que en HLS
- ⚠️ Compatibilidad: No todos los player legacy soportan WebRTC
- ⚠️ Costo: La infraestructura para WebRTC a escala es más costosa
⚡ Ultra Baja Latencia en XtreamCast: El addon de WebRTC Ultra Baja Latencia ($20/mes) te da WebRTC con menos de 2 segundos de delay. La infraestructura de SFU y CDN la manejamos nosotros — tú solo transmites vía RTMP o SRT como siempre y nosotros distribuimos en WebRTC al espectador.
¿Necesitas baja latencia para tus transmisiones?
XtreamCast ofrece HLS Low Latency por defecto y WebRTC ultra baja latencia como addon por $20/mes. Latencia sub-segundo para eventos deportivos, subastas y contenido interactivo.