Skip to content

Instalación

Mcaster se instala en una máquina y en ella misma funciona: motor, panel de control y API en un único proceso. Esta página trata de lo que deja el paquete, de dónde viven los secretos y de qué se abre hacia fuera. El camino de una máquina limpia a una señal en la red está en el Inicio rápido.

El paquete

Mcaster se distribuye como paquete deb mcaster desde el repositorio de Flussonic:

curl -L http://apt.flussonic.com/repo/master/dev.key > /etc/apt/trusted.gpg.d/dev.gpg
echo "deb http://apt.flussonic.com/branch/sapsan/master repo/" > /etc/apt/sources.list.d/flussonic.list
apt update
apt install --install-recommends mcaster

El paquete se hace cargo de toda la superficie de la instalación:

Qué Dónde
Unidad mcaster.service
Ajustes del proceso /etc/mcaster/ — lo que el propio proceso necesita al arrancar: el puerto del panel, la dirección de la base de datos, la licencia
Secretos /etc/mcaster/secrets.env (propietario root, permisos 0600)
Licencia /etc/mcaster/license.txt
Estado /var/lib/mcaster — identidad de la máquina, caché de activación, claves
Interfaz /usr/share/mcaster/ui

El paquete instala automáticamente el motor de streaming exactamente en su propia versión, junto con PostgreSQL. La unidad base sapsan.service se retira de una máquina así: debe funcionar exactamente un proceso. Los productos son mutuamente excluyentes — Mcaster y Catena no comparten máquina.

Note

La actualización del paquete no reinicia una unidad en marcha. La máquina pasa al nuevo par «binario + interfaz» con un systemctl restart mcaster manual — así el reinicio sigue siendo una decisión del operador y no un efecto secundario de apt upgrade.

Licencia

Sin una clave válida el proceso no arranca. La clave se solicita durante la instalación y se escribe en /etc/mcaster/license.txt; para despliegues desatendidos se introduce mediante debconf-set-selections o la variable LICENSE_KEY.

La clave se emite para un producto: la máquina se declara como mcaster, y una clave emitida para otro producto no le servirá — no se concede activación, y eso se ve en el log de inmediato, y no a través de una función que no funciona.

Dejar la pregunta en blanco está permitido: el paquete se instala, pero el servicio queda en failed. Ponga la clave en el mismo archivo y ejecute systemctl start mcaster.

PostgreSQL

Mcaster es una instalación de control y guarda su estado (streams, máquinas, estadísticas, registro) en PostgreSQL. El script de postinstalación crea el rol y la base de datos mcaster, genera las contraseñas de la base de datos y del administrador y las escribe en /etc/mcaster/secrets.env:

DATABASE_URL=postgres://mcaster:...@127.0.0.1:5432/mcaster
EDIT_AUTH_PASSWORD=...

La actualización del paquete no rota los secretos. Para pasar la base de datos a un clúster gestionado con copias de seguridad, cambie DATABASE_URL y reinicie el servicio — Mcaster aplica su esquema por sí mismo al arrancar, no hay un paso de migración aparte.

Puertos

Recién instalado, se levanta el puerto HTTP 80 — un valor inicial que solo se mantiene hasta que los listeners se fijan en el panel. A partir de ahí los puertos pertenecen a los ajustes de la máquina y ahí mismo se editan.

Puerto Quién lo fija Para qué
HTTP (inicialmente 80) INITIAL_HTTP_PORT, luego los ajustes de la máquina Panel, API, salida por HTTP
Entradas UDP El puerto de cada fuente multicast Captura de MPEG-TS
SRT (UDP) El puerto de servicio SRT del stream o el listener compartido Captura y salida por SRT
RTMP (TCP) Un listener en los ajustes de la máquina Captura y salida por RTMP

Los destinos de salida no ocupan puertos: un push abre su propio socket.

El multicast exige atención a las rutas. La captura es una suscripción al grupo (IGMP/MLD) en la interfaz por donde llega el grupo; la salida es la elección de la interfaz de salida y del TTL en el propio destino. En una máquina con varias tarjetas de red ambas elecciones se hacen de forma explícita; de lo contrario, los paquetes se van a la red equivocada.

Ejecución en Docker

La imagen de producto es flussonic/mcaster: el runtime compartido más la interfaz de Mcaster y el tag de producto. Necesita PostgreSQL, una clave de licencia y un directorio de estado persistente:

docker run -d --name mcaster \
  -e DATABASE_URL=postgres://mcaster:mcaster@db:5432/mcaster \
  -e EDIT_AUTH_LOGIN=admin -e EDIT_AUTH_PASSWORD=secret \
  -e LICENSE_KEY="$LICENSE_KEY" \
  -p 8081:80 \
  -v mcaster-state:/var/lib/sapsan \
  flussonic/mcaster:latest

Los puertos de los protocolos de medios que activen los ajustes de los streams también se publican aquí. El directorio de estado debe sobrevivir a los reinicios: contiene la identidad de la máquina y la activación.

Comprobación

systemctl status mcaster
journalctl -u mcaster -n 50

Lo siguiente es el Inicio rápido: entrar en el panel, el primer multicast capturado y el primer destino de entrega.