¿Por qué querrías un servidor RTMP propio?
Antes de entrar en configuraciones y comandos, vale la pena preguntarse: ¿realmente necesitas un servidor RTMP propio? La respuesta depende de tu situación.
Casos donde tiene sentido tener tu propio servidor
- 🔒 Control total: Necesitas que tu stream pase por tu propia infraestructura por políticas de seguridad o compliance
- 🏢 Red interna: Transmisiones corporativas que no deben salir a internet público
- 🧪 Testing y desarrollo: Estás desarrollando una app y necesitas un servidor de pruebas
- 💡 Aprender: Quieres entender cómo funciona el protocolo RTMP desde dentro
Casos donde es mejor usar una plataforma gestionada
- 📈 Audiencias grandes (+500 viewers): La CDN y el escalamiento son complejos de manejar por tu cuenta
- ⏰ No tienes equipo DevOps: Un servidor sin mantenimiento es un servidor vulnerable
- 💰 ROI: El costo de un VPS + CDN + monitoreo + mantenimiento suele ser mayor que el de un servicio gestionado
- 📡 Restream: Retransmitir a múltiples plataformas requiere configuración adicional significativa
⚠️ Realidad: Montar un servidor RTMP que funcione para pruebas es fácil. Montar uno que sea estable, seguro y escalable para producción es un trabajo de ingeniería serio. Si tu negocio depende del streaming, considera una plataforma profesional y enfoca tus recursos en crear contenido.
Servidor RTMP con Nginx: instalación paso a paso
La forma más popular y económica de montar un servidor RTMP es usando Nginx con el módulo RTMP. Es open-source, ligero y funciona en cualquier Linux.
Requisitos del servidor
| Recurso | Mínimo | Recomendado |
|---|---|---|
| CPU | 2 vCPU | 4+ vCPU |
| RAM | 2 GB | 4-8 GB |
| Disco | 20 GB SSD | 100+ GB SSD |
| Ancho de banda | 100 Mbps | 1 Gbps |
| SO | Ubuntu 22.04+ | Ubuntu 24.04 LTS |
Instalación en Ubuntu
# Actualizar sistema
sudo apt update && sudo apt upgrade -y
# Instalar dependencias
sudo apt install -y build-essential libpcre3 libpcre3-dev \
libssl-dev zlib1g-dev unzip
# Descargar Nginx y módulo RTMP
cd /tmp
wget http://nginx.org/download/nginx-1.26.2.tar.gz
git clone https://github.com/arut/nginx-rtmp-module.git
# Compilar Nginx con módulo RTMP
tar -xzf nginx-1.26.2.tar.gz
cd nginx-1.26.2
./configure --with-http_ssl_module \
--add-module=../nginx-rtmp-module
make -j$(nproc)
sudo make install
Configuración básica de Nginx RTMP
# /usr/local/nginx/conf/nginx.conf
worker_processes auto;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
# Generar HLS
hls on;
hls_path /tmp/hls;
hls_fragment 3;
hls_playlist_length 60;
}
}
}
http {
server {
listen 8080;
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /tmp;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
}
}
🔧 Tip: Después de configurar, inicia Nginx consudo /usr/local/nginx/sbin/nginxy prueba enviando un stream desde OBS usando la URLrtmp://tu-ip/livey cualquier stream key.
Alternativas a Nginx-RTMP: OvenMediaEngine y SRS
Nginx-RTMP es el clásico, pero tiene limitaciones: no soporta SRT, WebRTC es complicado de añadir, y no tiene panel de gestión. Estas son las alternativas modernas más interesantes:
OvenMediaEngine (OME)
Servidor de streaming open-source de origen coreano, muy activo en desarrollo.
- ✅ Soporta RTMP, SRT, WebRTC, RTSP de entrada
- ✅ Salida en HLS, DASH, WebRTC (sub-segundo)
- ✅ Transcoding integrado con GPU
- ✅ Clustering para alta disponibilidad
- ✅ API REST completa
- ❌ Curva de aprendizaje moderada
- ❌ Documentación mejorable
SRS (Simple Realtime Server)
Originalmente desarrollado en China, es probablemente el servidor de streaming open-source más potente:
- ✅ RTMP, HLS, HTTP-FLV, SRT, WebRTC
- ✅ Docker oficial optimizado
- ✅ Excelente rendimiento (10,000+ conexiones concurrentes)
- ✅ Edge server para clustering CDN
- ❌ Comunidad principalmente en chino
- ❌ Sin transcoding nativo (requiere FFmpeg externo)
Comparativa rápida
| Característica | Nginx-RTMP | OvenMediaEngine | SRS |
|---|---|---|---|
| Ingesta RTMP | Sí | Sí | Sí |
| Ingesta SRT | No | Sí | Sí |
| WebRTC | No | Sí | Sí |
| Transcoding | FFmpeg externo | Integrado | FFmpeg externo |
| Dificultad | Baja | Media | Media |
| Docker | Comunidad | Oficial | Oficial |
| Comunidad | Grande | Mediana | Grande (Asia) |
Seguridad de tu servidor RTMP: lo que no puedes ignorar
Un servidor RTMP abierto a internet sin protección es una invitación a problemas. Estos son los puntos críticos de seguridad:
Autenticación de streams
Sin autenticación, cualquiera que conozca tu IP puede empezar a transmitir a tu servidor. Implementa al menos uno de estos métodos:
- Stream key secreta: Solo quien conozca la clave puede transmitir
- Callback HTTP: Nginx verifica la clave contra tu API antes de aceptar el stream
- IP whitelist: Solo acepta conexiones desde IPs conocidas
Protección de la señal de salida
- Tokens temporales: URLs firmadas que expiran después de X minutos
- CORS restrictivo: Solo permite reproducción desde tu dominio
- HTTPS obligatorio: Nunca distribuyas HLS sin TLS en producción
Hardening del servidor
- 🔥 Firewall (UFW): Solo abre puertos 1935 (RTMP), 443 (HTTPS), 22 (SSH)
- 🔑 SSH con llaves: Desactiva login por contraseña
- 📦 Actualizaciones automáticas: Mantén el sistema al día
- 👁️ Fail2ban: Protección contra brute-force
- 📊 Monitoreo: Alerta si el servidor cae o el CPU se dispara
🛡️ Comparación de seguridad: Con una plataforma gestionada como XtreamCast, la seguridad viene incluida: Domain Guard™, tokens JWT, geo-restricción, AES-256, y DDoS protection. Implementar todo esto por tu cuenta requiere semanas de configuración y mantenimiento constante.
Cuándo es hora de migrar de DIY a una plataforma profesional
No tiene nada de malo empezar con un servidor propio. Pero hay señales claras de que ya es hora de considerar una plataforma gestionada:
- Tu audiencia supera los 500 espectadores concurrentes y el servidor empieza a flaquear
- Necesitas CDN y configurar un CDN propio es más caro que un plan con CDN incluida
- Quieres restream a YouTube, Facebook, Twitch y la configuración de FFmpeg para cada uno es un dolor de cabeza
- La grabación automática consume todo tu disco y necesitas almacenamiento en la nube
- Un evento falló por un problema de infraestructura y perdiste dinero o credibilidad
- Pasas más tiempo manteniendo el servidor que creando contenido
El costo real de un servidor DIY no es solo el VPS. Es tu tiempo, el riesgo de fallos, la falta de CDN, la ausencia de soporte y las funciones que nunca implementarás (grabación, restream, analytics, publicidad, edición en navegador).
✅ Migración fácil: Si ya tienes un servidor RTMP propio y quieres migrar a XtreamCast, el cambio es simple: solo necesitas cambiar la URL RTMP en tu encoder (OBS, Wirecast, vMix). La señal llega a nuestro servidor y nosotros nos encargamos del resto — CDN, grabación, restream, analytics.
¿Cansado de mantener tu propio servidor?
XtreamCast te da servidor RTMP profesional, CDN global, grabación automática, restream y analytics. Sin preocuparte por la infraestructura. Prueba gratis 3 días.