Skip to content

Migración desde Flussonic Media Server

Catena puede tomar la configuración de un Flussonic Media Server en marcha y crear a partir de ella sus propios streams: el asistente de importación lee la configuración por el API de la fuente, muestra exactamente qué se transferirá y qué se perderá, y escribe los documentos solo después de que usted lo confirme.

La importación no es la conmutación. Es el primer paso de un procedimiento que incluye además configurar la máquina, comprobar el aire y, por último, mudar a sus espectadores. Esta página describe el procedimiento entero.

Antes de empezar

  • Flussonic Media Server está en marcha y es accesible desde central por la red. La importación lee la configuración a través del API de la fuente, no analizando un fichero en disco. De un servidor parado no hay nada que importar.
  • Una cuenta con permiso para leer la configuración — la misma con la que entra en la interfaz de la fuente (edit_auth o api_auth).
  • Una instalación de Catena ya levantada: central con la consola y al menos un streamer. Si aún no la tiene, empiece por el inicio rápido y vuelva aquí después.

Central nunca guarda las credenciales de la fuente: viven solo mientras se construye el plan y no llegan ni a la base de datos ni a los logs.

Los dos servidores en una misma máquina

Los dos servidores siguen en marcha hasta la conmutación y comparten el puerto 80: Catena intentará escuchar en él, fallará y se reiniciará una y otra vez con el error Address already in use — el instalador informará de que el servicio no arrancó. Es lo esperado: mueva Catena a un puerto libre:

sudo systemctl edit catena

Las líneas comentadas del fichero que se abre son una copia de referencia de la unidad — déjelas como están. Añada sus propias líneas por encima del marcador «Lines below this comment will be discarded»; todo lo que quede por debajo se descarta al guardar:

[Service]
Environment=INITIAL_HTTP_PORT=8081

Guarde, cierre el editor y reinicie: sudo systemctl restart catena. La consola de Catena se abrirá en el puerto 8081. En el paso «parar el servidor antiguo», devuelva el puerto 80 a Catena en los ajustes del streamer — los enlaces de los espectadores seguirán siendo los mismos.

Qué transfiere la importación y qué configura usted

La importación transfiere el contenido:

  • los streams,
  • las secciones de plantilla (transcodificador, archivo, miniaturas, tiempos de espera),
  • los backends de autorización — a la política de acceso de todo el clúster.

La importación no transfiere la disposición de la máquina, porque describe un servidor concreto y no su aire:

  • listeners y puertos,
  • discos de archivo y su disposición,
  • ubicaciones de VOD,
  • proxy inverso y certificados TLS.

Todo eso lo define usted al añadir un streamer — ver añadir un streamer y ajustes del streamer. La importación enumera en el informe todas las secciones no transferibles que encontró en la fuente, para que nada se pierda de vista.

Una cosa que conviene recordar: un stream con archivo configurado se transferirá, pero no empezará a grabar hasta que se configure el almacenamiento en el streamer. La profundidad y el tamaño del archivo viven en el documento del stream, mientras que la ubicación del almacenamiento vive en los ajustes de la máquina. Configure los discos antes de conmutar el tráfico; si no, la grabación parecerá activada y no ocurrirá.

Un clúster se migra máquina a máquina

La importación conoce una dirección por ejecución. Si tiene un clúster de Flussonic, ejecute el asistente una vez por cada servidor: la configuración del clúster está repartida entre las máquinas, y cada una tiene la suya.

Los streams que el servidor ve de sus vecinos no se convertirán en documentos — son su estado, no su configuración. Los streams creados por publicación tampoco se transferirán: los crea el aire, no el operador.

La topología del clúster de Flussonic — peers, balanceadores, cluster_ingest — no se transfiere en absoluto. Aquí la colocación es tarea del layouter: usted dice qué streams necesita y él decide en qué máquina van.

Recorrer el asistente

Abra Importar desde Flussonic en la consola e introduzca la dirección de la fuente y las credenciales.

Dirección de la fuente y credenciales

El asistente construye un plan — qué se hará exactamente, antes de una sola escritura:

  • cuántos documentos se crearán y cuántos se saltarán o sobrescribirán (y cuáles, por nombre);
  • si la importación cabe en su licencia;
  • qué política de acceso está vigente ahora y cuál la sustituirá;
  • qué secciones de la fuente no se transfieren;
  • las advertencias descritas más abajo.

El plan de importación con sus advertencias

Un plan vive quince minutos y se aplica una sola vez. Lo que se aplica es exactamente lo que usted vio en pantalla: si entretanto se edita la configuración de la fuente, esos cambios no formarán parte de esta importación — construya el plan de nuevo.

Hay dos políticas para los conflictos de nombre. Saltar (la predeterminada) deja intacto lo que ya exista en el clúster — por eso repetir una importación es inofensivo y cómodo para ir completando. Sobrescribir alinea los documentos con la fuente; el plan enumera esos nombres, y tenga en cuenta que sobrescribir borra también las ediciones propias hechas en Catena.

Streams con autorización propia

En Flussonic el acceso puede configurarse por stream. En Catena la política de acceso es de todo el clúster — un stream no tiene autorización propia.

Esto significa que un stream protegido en la fuente por su propio backend acaba tras la importación bajo la política común y cambia quién puede verlo. Para un canal de pago eso puede significar quedar abierto a todo el mundo.

Por eso el asistente nunca deja pasar tales streams en silencio: muestra cuántos son y pregunta qué hacer — importarlos bajo la política de todo el clúster o dejarlos fuera y configurarlos aparte. Hasta que responda, aplicar no está disponible.

La decisión sobre los streams con acceso propio

Los streams importados salen al aire de inmediato

Un stream se transfiere activado salvo que estuviera desactivado en la fuente. Mientras el servidor antiguo siga en el aire, esto tiene un precio, y el asistente lo advierte:

  • las fuentes reciben un segundo consumidor. Una cámara RTSP con límite de conexiones dará el stream a uno de los dos servidores; SRT y RTMP pull pueden echar la conexión antigua.
  • los pushes irán a los mismos receptores. Si sus streams tienen pushes configurados, el transpondedor o la CDN recibe un duplicado, y quien lo ve es el espectador.

Desactivar solo la entrega no es posible: una configuración de push no tiene bandera de «desactivado». Si tener los dos servidores en paralelo le resulta inaceptable, planifique la importación más cerca de la propia conmutación, o pare los pushes en la fuente.

Los streams cifrados son la excepción. Un stream con DRM configurado en Flussonic se importa desactivado, y el motivo se indica en el informe. Los ajustes de cifrado no viajan literalmente: Flussonic tiene una decena y media de proveedores de claves frente a un único SPEKE. Un stream que se levantara de inmediato estaría sirviendo contenido premium en claro — así que el cifrado se configura de nuevo, y solo entonces se activa el stream.

Por qué algunos streams pueden no arrancar

La colocación en Catena es tarea del layouter, y un stream puede acabar en cualquier máquina apropiada. Si la entrada del stream es local del servidor antiguo — multicast, un fichero en disco, una tarjeta de captura —, sencillamente no existe en otra máquina, y el stream no arrancará.

La importación enumera esos streams en el informe. Tras aplicar, el asistente muestra cuántos streams importados se levantaron y cuáles no: esa es su comprobación de que la mudanza funcionó. La cuenta no es instantánea — la consola sigue preguntando al clúster mientras los streams arrancan, así que justo después de aplicar da una cifra menor que la final.

El resultado: tres streams de cinco están en marcha

En la captura fallaron exactamente los dos que debían fallar: sport-hd escucha un grupo multicast al que solo llega el servidor antiguo, y lobby-cam apunta a una cámara que no está en esta red.

Leer el informe

El informe está plegado por motivo: una fila es un motivo, con la cuenta de streams afectados; los nombres de los streams se despliegan con la flecha de la izquierda. Hay cuatro categorías:

Categoría Qué significa Qué hacer
Transferido aproximadamente El valor se movió pero no literalmente: un ajuste se redujo al más cercano soportado, o el comportamiento cambió Compruebe el aire en esos streams
No soportado Catena no tiene ese ajuste Busque un sustituto; para algunas capacidades existe en otra parte de la documentación
Campo desconocido El campo existe en la fuente, pero esta compilación de Catena no lo conoce Envíe el informe al soporte: lo más probable es que su Flussonic sea más nuevo
No creado Un documento o su sección no se escribió Trátelo aparte: ese stream o sección no se transfirió

El informe con un motivo desplegado

El informe puede exportarse como fichero — cómodo para adjuntarlo a una petición de soporte. Las contraseñas en él van enmascaradas.

Esta página no lleva a propósito una lista de todos los campos no transferibles: esa lista vive en el propio informe y cambia junto con el producto, mientras que una copia en la documentación se separaría de la realidad.

El archivo se queda donde está

No hace falta — ni tiene sentido — mover el archivo grabado: Catena lee directamente del disco un archivo escrito por Flussonic. La importación no toca en absoluto los ficheros del archivo.

Basta con que el streamer tenga configurados los mismos discos y que el stream conserve su nombre: la ruta del archivo se construye a partir del nombre del stream. Qué discos exactamente se lo dice el asistente de importación: la sección «Archivo» del plan muestra los almacenamientos de la fuente junto a los discos configurados en los streamers.

La sección aparece cuando la fuente tiene grabación o almacenamientos, y lleva:

  • los almacenamientos de la fuente y los discos de los streamers uno junto a otro, como rutas completas;
  • una advertencia de discrepancia cuando ningún disco de streamer coincide con un almacenamiento de la fuente. Una advertencia, no un error: que las rutas coincidan no es garantía (los ficheros pueden faltar), y una discrepancia no es un veredicto (el disco puede estar montado de otra forma — revise los puntos de montaje, sobre todo si la fuente corría en un contenedor);
  • la lista de streams que graban — incluidos los que graban a través de una plantilla;
  • una línea de registro cuando la fuente tiene un directorio de índice aparte: cópielo al campo de ruta del catálogo del streamer, o la retención no limpiará el archivo (la lectura funciona sin él);
  • una indicación sobre la integridad: el asistente compara ajustes, no ficheros, y la comprobación profunda de los blobs y el registro corresponde a una herramienta aparte — legacy-dvr-check, incluida en el paquete. La necesita cuando hay muchos discos y el coste de un error se mide en archivo: con uno o dos discos basta la comprobación automática. Ejecútela antes de aplicar el plan: una vez aplicado, el limpiador ya está recortando el archivo antiguo a la profundidad configurada.

Si los streams de la fuente tienen retención episódica a largo plazo (episodes_url/episodes_expiration), esta no se transfiere — Catena no tiene esos ajustes. El asistente no pierde las grabaciones en silencio: la profundidad de archivo de esos streams se amplía hasta la episódica, y el informe lo explica con una entrada de «transferido aproximadamente». La profundidad de más es reversible (el espacio se recupera bajo presión), las grabaciones cortadas no; reduzca usted la profundidad si no la necesita.

La profundidad del archivo se aplica también a las grabaciones antiguas: una vez aplicado el plan, el limpiador empieza de inmediato a recortar el archivo del stream a la profundidad de la configuración de la fuente. Si el servidor nuevo debe guardar más de lo que Flussonic tenía configurado, suba la profundidad en la fuente antes de la importación (la importación la toma de allí) o cree el stream en Catena de antemano con la profundidad que necesite — los nombres existentes se los salta la importación. Reducir la profundidad puede esperar a después de la mudanza; ampliarla a posteriori no — lo que el limpiador ha cortado no vuelve.

La sección «Archivo» del plan de importación

La pantalla de resultado tras aplicar muestra, para cada stream de grabación creado, si el archivo se está escribiendo y si el acumulado se ve: «grabando, material antiguo visible» — la mudanza funcionó; «grabando, material antiguo no visible» — revise el almacenamiento; «no graba» — busque la causa en los ajustes del streamer. Los contadores no son instantáneos: los streams tardan en levantarse y empezar a escribir, y la pantalla sigue consultando.

Enlaces del reproductor y sus integraciones

Los enlaces de reproducción no cambian. Los nombres de los streams se transfieren tal cual — por eso la importación no ofrece renombrar en caso de conflicto: un stream renombrado significaría un enlace roto para cada espectador y una ruta de archivo rota. La dirección sigue igual, pero el acceso no: los streams que en Flussonic se veían sin autorización quedarán cerrados por la política de acceso del clúster — los espectadores recibirán 403. Si su aire tenía streams abiertos, configure la política de acceso antes de conmutar a los espectadores.

El API v3 es de solo lectura. Si sus scripts creaban o editaban streams por el API de Flussonic, tendrán que pasar al API v4 — en Catena la configuración la gestiona central, y las escrituras pasan por él. Leer estadísticas y listados por v3 sigue funcionando.

Orden de conmutación y reversión

  1. Añada un streamer a Catena y configure su parte de máquina: listeners, discos de archivo, ubicaciones de VOD.
  2. Ejecute la importación y lea el informe. Ocúpese de las entradas «no creado» y «transferido aproximadamente». Si hay muchos discos, ejecute legacy-dvr-check antes de aplicar el plan (ver «El archivo se queda donde está»).
  3. Espere a que los streams se levanten y compruebe el aire en varios enlaces — sobre todo donde hubiera un transcodificador de por medio.
  4. Compruebe el archivo: abra en el reproductor la grabación más antigua disponible — el veredicto de la pantalla de resultado es una señal temprana (mira la ventana del catálogo), mientras que abrir una grabación real comprueba los propios blobs.
  5. Conmute a los espectadores a la nueva dirección.
  6. Solo entonces pare el servidor antiguo.

Revertir antes del paso 5 no cuesta nada: el servidor antiguo sigue en marcha todo el tiempo, y volver atrás significa simplemente no conmutar el tráfico. Después del paso 5, revertir significa devolver la dirección anterior a la entrega; la importación no cambió ni borró la configuración de la fuente, sigue ahí.