Qué es RTMP y HLS — Protocolos de streaming de TV explicados
Si estás empezando en el mundo del streaming de TV, probablemente te has encontrado con dos siglas que aparecen en todos lados: RTMP y HLS. Entender qué son y en qué se diferencian es fundamental para tomar decisiones técnicas correctas sobre tu canal.
RTMP: el protocolo de subida
RTMP (Real-Time Messaging Protocol) fue creado por Macromedia en 2002 y luego mantenido por Adobe. Es el protocolo que usa tu software de emisión (OBS Studio, vMix, Wirecast) para enviar tu señal de video al servidor streaming.
Características de RTMP:
- Baja latencia: el retraso entre emisión y servidor es de 0.5 a 2 segundos.
- Conexión persistente: una vez establecida, la conexión se mantiene abierta durante toda la transmisión.
- Puerto 1935: usa TCP puerto 1935 (a veces también 443 para sortear firewalls).
- Soportado universalmente: YouTube, Facebook, Twitch, TikTok, Instagram, y todos los servidores streaming lo aceptan.
En la práctica, cuando configuras OBS y pegas la URL del servidor (ejemplo: rtmp://stream.midominio.com/live), estás usando RTMP para subir tu señal.
HLS: el protocolo de entrega
HLS (HTTP Live Streaming) fue creado por Apple en 2009. Es el protocolo que usa el reproductor del televidente (Chrome, Safari, Firefox, apps móviles, Smart TVs) para recibir la señal.
Características de HLS:
- Basado en HTTP: funciona sobre el mismo protocolo que las páginas web, lo que lo hace compatible con cualquier red y firewall.
- Segmentos de video: el servidor corta el video en pedazos de 2-10 segundos y los entrega al reproductor.
- Adaptativo (ABR): el reproductor puede cambiar entre calidades según el ancho de banda disponible del televidente.
- Latencia de 5-15 segundos: mayor que RTMP, pero más compatible y estable.
El flujo completo: de tu cámara al televidente
El proceso tiene cuatro etapas:
- Captura: tu cámara graba el video y el micrófono captura el audio.
- Codificación: OBS (o tu software) comprime el video en H264 y el audio en AAC, y lo empaqueta en RTMP.
- Ingest: la señal viaja por RTMP al servidor streaming (en nuestro caso, el datacenter americano de Cloudstream).
- Distribución: el servidor transcodifica la señal a múltiples calidades y la entrega como HLS a cada televidente.
El televidente nunca ve RTMP. Su navegador o app abre una URL HLS y reproduce los segmentos de video.
¿Por qué se usan dos protocolos diferentes?
La razón es histórica y práctica. RTMP fue diseñado cuando Flash Player dominaba la web y necesitaba un protocolo eficiente para streaming. HLS surgió después, cuando Apple decidió que sus dispositivos (iPhone, iPad, Apple TV) necesitaban streaming nativo sin Flash.
RTMP sigue siendo excelente para el ingest porque es de baja latencia y maneja bien las conexiones largas. HLS es mejor para la distribución porque atraviesa firewalls, se adapta al ancho de banda del televidente, y funciona en cualquier dispositivo moderno.
Cuándo usar cada uno
Como emisor de un canal de TV, tu única decisión técnica es:
- Para subir tu señal: usa RTMP. Es lo que hace OBS por defecto. Tu servidor te dará una URL tipo rtmp://tuserver.com/live y una clave.
- Para entregar a tu audiencia: usa HLS. Tu servidor convierte automáticamente el RTMP en HLS. Tu audiencia ve una URL tipo https://tuserver.com/stream.m3u8.
Tú no tienes que hacer nada especial. El servidor streaming se encarga de la conversión. Tu trabajo es configurar OBS con la URL RTMP y la clave de stream.
Otros protocolos que quizá escuches
- SRT (Secure Reliable Transport): protocolo más moderno que RTMP, con mejor recuperación ante pérdida de paquetes. Útil para transmisiones desde lugares con internet inestable.
- WebRTC: latencia ultrabaja (sub-segundo), usado en videollamadas y transmisiones interactivas. No es práctico para canales 24/7.
- DASH (MPEG-DASH): similar a HLS pero estándar ISO. Usado por Netflix y algunas plataformas OTT. No es relevante para transmisión en vivo.
Resumen práctico
Si tu objetivo es transmitir un canal de TV por Internet en Colombia, lo único que necesitas saber es:
- Tu software (OBS, vMix) emite por RTMP al servidor.
- Tu servidor entrega la señal por HLS a los televidentes.
- El televidente abre una URL HTTPS en su navegador o app y ve el video.
Cloudstream maneja ambos protocolos automáticamente. Tú configuras OBS con la URL RTMP que te entregamos, y tu audiencia entra a una URL HLS pública. Sin complicaciones adicionales.
Servidor RTMP + entrega HLS
Cloudstream maneja ambos protocolos automáticamente. Configuras OBS una vez y tu audiencia ve tu señal.