WebRTC vs HLS: elegí tu latencia
¿WebRTC de sub-segundo o HLS con buffer? El compromiso entre latencia, escala y alcance — y cómo StreamHub te da ambos desde el mismo stream en vivo.
Dos reproductores, un stream
StreamHub puede reproducir la misma sala en vivo de dos maneras, y elegir entre ellas es en realidad elegir dónde querés ubicarte en la curva latencia-vs-escala.
- WebRTC (
LivePlayer) — latencia de cámara a pantalla por debajo de un segundo. Se suscribe a la sala de LiveKit directamente y renderiza las pistas. Esto es lo que querés para todo lo interactivo: llamadas de dos vías, subastas, momentos de "mirá en vivo ahora" donde un retraso se siente roto. - HLS (
HlsPlayer, video.js) — un feed segmentado en/hls/<app>/<room>/index.m3u8con unos 6–15 segundos de latencia. A cambio obtenés escala sin esfuerzo, compatibilidad con CDN y reproducción en dispositivos y redes donde WebRTC sufre.
El compromiso en una línea
WebRTC minimiza la latencia; HLS maximiza el alcance y la escala. No hay almuerzo gratis — el buffer que le permite a HLS sobrellevar una red inestable es exactamente el buffer que agrega latencia.
Cuándo usar cada uno
| Caso de uso | Elegí |
|---|---|
| Videollamadas, subastas interactivas | WebRTC |
| "Mirá en vivo ahora" en el panel | WebRTC |
| Evento en vivo con gran audiencia | HLS |
| Redes móviles / restrictivas | HLS |
| Embed público a escala desconocida | HLS |
Cómo obtener un reproductor WebRTC
Generá un token de suscripción y conectá:
curl -s -X POST $BASE/apps/demo/tokens -H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{"room":"demo-room1","canPublish":false,"canSubscribe":true}'
# → data.playUrl / data.embedUrl / data.iframe
La respuesta te entrega URLs públicas de /play y /embed y un iframe listo para pegar — esas páginas no necesitan auth.
Cómo obtener una URL HLS
HLS no necesita token. Si la sala publica con transcodificación activa (el default para ingesta RTMP y URL), la playlist es simplemente:
/hls/<app>/<room>/index.m3u8
Apuntá cualquier reproductor con soporte HLS a ella.
No tenés que elegir de antemano
Como ambos salen de la misma sala en vivo, podés ofrecer WebRTC a tus usuarios interactivos y HLS a tu audiencia de difusión simultáneamente. La pestaña "En vivo" del panel incluso expone acciones Ver (WebRTC) y Ver (HLS) por stream, para que los operadores elijan según la situación.