Ctrl K
ComunidadGuías…
Guía HostingByte · verificada

Guía de instalación y configuración de obs-multisite

Instalación paso a paso, configuración del encoder/decoder, bucket S3, verificación y troubleshooting para streaming multisitio de iglesias con OBS Studio.

Actualizada 5/10/2026Más guíasCitación AI/LLM

Guía de instalación y configuración de obs-multisite

Estado: Alpha v0.1.31-alpha | Licencia: GPLv3 | OBS Studio requerido: 32.2.2 o superior


⚠️ Advertencia importante

Este software está en estado alpha. Aunque ha pasado pruebas de fiabilidad (6 horas continuas, 3.661 segmentos, >15 GB, 0 fallos), no ha transmitido ningún evento real de congregación.

Requisito obligatorio: Ejecutar siempre con un plan de contingencia probado y una persona técnica disponible durante el primer despliegue. Tratar un ensayo exitoso como necesario, no suficiente.


📋 Prerrequisitos

Hardware y software mínimo

ComponenteRequisito
OBS Studio32.2.2 o superior (Windows, macOS Apple Silicon, Linux)
Campus satélite sin PCRaspberry Pi 5 con Raspberry Pi OS
AlmacenamientoBucket S3 compatible (Cloudflare R2, AWS S3, Backblaze B2, Wasabi, MinIO)
RedConexión outbound HTTPS funcional (si una laptop carga páginas web, probablemente funcione)

Configuración del bucket S3 (obligatorio antes de empezar)

# Configurar reglas de ciclo de vida en el console del proveedor
# events/ - retención configurable (default: 7 días)
# rooms/ - retención configurable (default: 7 días)

Importante: Nada en este proyecto elimina archivos automáticamente. Debes configurar las reglas de ciclo de vida manualmente en tu console de almacenamiento.


🚀 Instalación paso a paso

Opción A: Campus satélite sin PC (Raspberry Pi 5)

# En una Raspberry Pi 5 fresca con Raspberry Pi OS
curl -fsSL --retry 5 https://raw.githubusercontent.com/stageaudioworks/obs-multisite/main/scripts/player/install.sh | sudo bash

Verificación: Después de la instalación, el sistema debe mostrar:
- HDMI out activo
- Página de control en navegador accesible
- Timeslipping configurado
- AES67 disponible en red (opcional)

Opción B: Ambos extremos con OBS Studio

  1. Descargar plugin desde Releases:
  2. Instalar en OBS Studio:
    1. Abrir OBS Studio
    2. Ir a Herramientas → Plugins
    3. Buscar "Multisite Encoder" (campus principal) y "Multisite Decoder" (campus satélite)
    4. Instalar ambos plugins desde el archivo descargado

⚙️ Configuración del campus principal (Encoder)

  1. Configurar dock Multisite Encoder:
    1. Abrir OBS Studio en el campus principal
    2. Ir al dock Multisite Encoder
    3. Introducir detalles del bucket:
      - Provider: Cloudflare R2 / AWS S3 / Backblaze B2 / Wasabi / MinIO
      - Bucket name: [tu-bucket-name]
      - Region: [tu-region]
      - Access key ID: [tu-access-key]
      - Secret access key: [tu-secret-key]
    4. Seleccionar feed name (ej: main-campus-feed)
    5. Presionar Go live
  2. Verificar estado del encoder:
  3. El dock debe mostrar:
    - ✅ Upload status: healthy / low / almost-full
    - Lista de segmentos en cola local
    - Tamaño total de datos pendientes


⚙️ Configuración del campus satélite (Decoder)

  1. Configurar dock Multisite Decoder:
    1. Abrir OBS Studio en cada campus satélite
    2. Ir al dock Multisite Decoder
    3. Introducir los mismos detalles del bucket que el encoder
    4. Añadir Multisite Source (Decoder) para el mismo feed name
    5. Presionar Load event
    6. Presionar Play
  2. Bloquear el evento:
  3. Crítico: Presionar Lock the event para evitar clics accidentales durante el servicio.


✅ Comprobación posterior

Checklist de verificación

  • [ ] Encoder muestra "healthy" en el dock
  • [ ] Decoder ha cargado el evento correctamente
  • [ ] Video y audio sincronizados (offset entre 0.005s y 0.021s)
  • [ ] Todos los tracks de audio visibles como fuentes separadas
  • [ ] Página de control remota accesible en ambos lados
  • [ ] Buffer profundo cargado antes del inicio de reproducción

Comandos de diagnóstico

# Verificar segmentos en el bucket
aws s3 ls s3://tu-bucket/events/{feed-name}/ --recursive

# Verificar manifest.json
curl https://tu-bucket.s3.amazonaws.com/events/{feed-name}/manifest.json

# Verificar live.json del room
curl https://tu-bucket.s3.amazonaws.com/rooms/{room-id}/live.json

🔄 Actualización, rollback y backup

Backup de configuración

# Exportar configuración del encoder
cp ~/.config/obs-multisite/encoder-config.json /backup/encoder-$(date +%Y%m%d).json

# Exportar configuración del decoder  
cp ~/.config/obs-multisite/decoder-config.json /backup/decoder-$(date +%Y%m%d).json

Actualización de plugin

  1. Descargar nuevo release desde GitHub Releases
  2. Cerrar OBS Studio completamente
  3. Reemplazar archivos del plugin en la carpeta de plugins
  4. Reiniciar OBS Studio
  5. Verificar que el dock carga correctamente

Rollback de emergencia

# Restaurar configuración anterior
cp /backup/encoder-YYYYMMDD.json ~/.config/obs-multisite/encoder-config.json
cp /backup/decoder-YYYYMMDD.json ~/.config/obs-multisite/decoder-config.json

🐛 Errores habituales y soluciones

ErrorCausa probableSolución
"Upload failed"Bucket no accesibleVerificar credenciales S3, reglas de ciclo de vida activas
"Decoder cannot find event"Feed name incorrectoAsegurar que encoder y decoder usan el mismo feed name
Audio desincronizadoCodec incompatibleUsar H.264 (x264) en lugar de HEVC para máxima compatibilidad
"Buffer almost full"Disco local llenoLimpiar caché o aumentar espacio disponible
"Timeslipping failed"Red inestableVerificar conexión outbound HTTPS, aumentar buffer si es necesario

🔒 Seguridad

Configuración recomendada

  • Red: Solo trusted network (no password, no TLS para la página de control)
  • Credenciales S3: Usar credentials con permisos mínimos necesarios (S3:GetObject, S3:PutObject)
  • HTTPS outbound: No requiere puertos entrantes ni IP estática
  • Firewall: Solo permitir outbound HTTPS al bucket S3

Mejores prácticas

  1. Rotar credenciales S3 periódicamente
  2. Usar buckets privados (no público) para el almacenamiento
  3. Configurar políticas de IAM restrictivas en AWS/Cloudflare
  4. Mantener OBS Studio actualizado a la última versión estable

❓ FAQ basada en evidencia

¿Funciona con conexiones móviles o satélite?

Sí. El diseño está pensado para conexiones que derrotarían un stream directo: mobile data, LEO satellite, consumer fibre, y redes detrás de carrier-grade NAT. Si una laptop puede cargar una página web, probablemente pueda enviar/recibir un evento.

¿Cuál es la latencia?

Minutos intencionales. El diseño prioriza fiabilidad sobre latencia. Un campus puede mantener el evento en buffer para su propio welcome y luego reanudar exactamente donde se pausó, o permanecer un número fijo de minutos detrás del live. La latencia es el precio que se paga por la fiabilidad.

¿Cuánto consume ancho de banda?

~2.7 GB/hora a 6 Mbps. Cada campus lee los mismos objetos del mismo bucket, por lo que el coste es la política de egress de tu proveedor. Cloudflare R2 no cobra egress.

¿Puedo usarlo sin servidor central?

Sí. Arquitectura sin servidor central ni puertos entrantes. Operando exclusivamente sobre HTTPS outbound. El bucket es un almacén de archivos "tonto", y toda la inteligencia está en los bordes.

¿Cuántos tracks de audio soporta?

Hasta 6 pistas. El programa mix, micrófonos en sus propias pistas, click para la banda. Viajan en el mismo fragmento que el video, por lo que no pueden desviarse entre sí ni del video.

¿Es compatible con OBS Studio 32.2.1?

No. Se requiere OBS Studio 32.2.2 o superior. Verificar versión: Herramientas → Acerca de OBS Studio.


🔗 Enlaces internos contextuales


📊 Especificaciones técnicas

ParámetroValor
EstadoAlpha v0.1.31-alpha
LicenciaGPLv3 o posterior
Pruebas6 horas continuas, 3.661 segmentos, >15 GB, 0 fallos
LatenciaMinutos (intencional)
Ancho de banda~2.7 GB/hora a 6 Mbps
Audio tracksHasta 6 pistas por fragmento CMAF
Códigos soportadosH.264 (x264), HEVC (NVENC, QuickSync, AMF)
PlataformasWindows, macOS (Apple Silicon), Linux, Raspberry Pi 5 ARM64

📚 Fuentes verificadas

  1. README oficial GitHub
  2. Sitio web del proyecto
  3. Releases oficiales

Última actualización: 2026-10-05 | Desarrollado por Stage Audio Works

Fuentes verificadas

Fuente 1 ↗Fuente 2 ↗Fuente 3 ↗