Este proyecto proporciona un servidor de streaming en Docker que garantiza que tu stream en Kick nunca se caiga. Utiliza Nginx-RTMP para recibir tu señal (desde OBS, vMix, etc.) y FFmpeg para reenviarla a Kick.
Si tu señal de origen se interrumpe, el servidor cambia automáticamente a un video de fallback (fondo) sin cerrar la conexión con Kick.
- Docker
- Docker Compose
- Una cuenta de Kick con Stream URL y Stream Key.
- Clonar/Descargar los archivos en una carpeta.
- Configurar credenciales:
Copia el archivo de ejemplo:
Edita
cp .env.example .env
.envy añade tus datos de Kick:KICK_STREAM_URL=rtmps://tu-servidor-de-kick KICK_STREAM_KEY=sk_tu-clave-de-retransmision
- Video de Fallback:
Coloca un video llamado
fallback.mp4en la carpetaassets/. Si no pones ninguno, el servidor generará un video negro automáticamente al iniciar.
- Levantar el servidor:
docker compose up -d --build
- Configurar OBS:
- Servicio: Personalizado
- Servidor:
rtmp://localhost:1935/ingest - Clave de retransmisión:
stream
- El servidor Docker está "siempre encendido", transmitiendo el video de fallback a Kick.
- Cuando empiezas a emitir desde OBS a
rtmp://localhost:1935/ingest/stream, el servidor detecta la señal. - Usando un filtro de overlay de FFmpeg, tu señal se coloca encima del video de fallback.
- Si dejas de transmitir, el overlay desaparece y vuelve a verse el video de fallback, pero el proceso de FFmpeg que envía datos a Kick nunca se detiene.
- Ver logs en tiempo real:
docker logs -f kick-stream-server - Detener el servidor:
docker compose down - Reiniciar el servidor:
docker compose restart
Hecho con con fines de streaming ininterrumpido.