Recepción de MXL¶
MXL (Media eXchange Layer) es la capa de intercambio de la arquitectura DMF (Dynamic Media Facility): las funciones de multimedia vecinas — decodificadores, mezcladores, CG — escriben medios sin comprimir en un directorio compartido, y los consumidores los toman de allí sin red y sin copias. Mcaster lee ese directorio como una fuente de stream ordinaria: las pistas entran al procesamiento, se transcodifican y salen por los mismos medios que la señal de un satélite o de SRT.
Al igual que ST 2110, la entrada transporta medios sin comprimir, pero el transporte es otro: no multidifusión IP, sino archivos en un directorio de una máquina compartida. No hace falta ninguna preparación de red: basta una carpeta en la que escriban los publicadores.
Qué son un dominio y un flujo¶
El directorio en el que escriben las funciones de multimedia se llama dominio. Dentro de él, cada pista lógica es su propio subdirectorio de flujo con nombre UUID: 5fbec3b1-….mxl-flow. Un flujo lleva una descripción de sí mismo (flow_def.json, en formato NMOS), una cabecera con el estado del escritor y ranuras de datos; el lector sondea la cabecera y recoge los fotogramas a medida que aparecen. En un dominio puede haber cualquier número de escritores y lectores, sin conocerse entre sí.
Un dominio lleva un programa: hay un único flujo de vídeo y puede haber varios de audio. La entrada toma el primer flujo de vídeo y el primero de audio que encuentra; elegir un flujo por nombre no es posible en la versión actual.
Se leen dos tipos de medios:
video/v210— vídeo sin comprimir de 10 bits 4:2:2 en empaquetado v210; el tamaño y la frecuencia de fotogramas provienen de la descripción del flujo.audio/float32— audio sin comprimir de coma flotante, un plano por canal.
Los demás formatos — vídeo con canal alfa (video/v210a), datos auxiliares ANC — se omiten con una anotación en el registro: su disposición todavía no se lee.
Configurar la entrada¶
Cree un stream y pulse + Añadir fuente en la pestaña Fuentes. Elija el protocolo MXL.

La entrada tiene dos campos:
- Dominio MXL — la ruta al directorio del dominio en la máquina del streamer, por ejemplo
/dev/shm/mxl. Es un directorio local, no una dirección de red: el streamer y los publicadores deben ver la misma carpeta. - Tiempo de espera del par (ms) — cuánto esperar fotogramas nuevos antes de declarar muerta la fuente. Por defecto, 30 segundos.
Las pistas sin comprimir no se segmentan por sí solas: como con 2110 y SDI, planifique un transcodificador — una salida H.264/AAC para la entrega OTT, o una salida RAW para SDI.
La capacidad se licencia¶
La captura de MXL se vende como la posición media_ingest de la tarifa y la limita la licencia, no la compilación: la sección de entrada existe en cualquier instalación, pero sin esa capacidad en la licencia sus campos están inactivos y resaltados con una explicación. El número de entradas mxl se cuenta por la configuración — una por cada stream con dicha entrada.
Cómo se comporta la entrada en funcionamiento¶
- Borde en vivo. El anillo de ranuras es finito, y un lector rezagado pierde los fotogramas antiguos: la entrada salta a los recientes y continúa, y el hueco se ve como un salto en las marcas de tiempo. No es un error — un programa en vivo vale más que la continuidad.
- Los fotogramas dañados se omiten. Un escritor puede marcar un fotograma como inválido o dejarlo inconcluso; ese fotograma nunca se convierte en pista del stream, la entrada simplemente sigue adelante.
- Un escritor silencioso queda cubierto por el tiempo de espera del par: la entrada recibe un error y el stream se reinicia según las reglas comunes — igual que cualquier otra fuente.
Probar la entrada sin hardware¶
MXL no necesita ni tarjeta ni red de medios: un publicador de demostración viene con el SDK abierto. Clone dmf-mxl/mxl y compile las herramientas siguiendo docs/Building.md de ese repositorio — necesita mxl-gst-testsrc; las descripciones listas de flujos de prueba están en examples/flow-configs/ del mismo repositorio. Para un recorrido guiado de MXL en conjunto existe el taller mxl-hands-on.
El publicador escribe en el dominio un programa de prueba — barras SMPTE con reloj en marcha y un tono estéreo:
mkdir -p /dev/shm/mxl
mxl-gst-testsrc -d /dev/shm/mxl \
-v examples/flow-configs/flow-video-v210.json \
-a examples/flow-configs/flow-audio.json
El directorio del dominio debe ser visible tanto para el publicador como para la máquina con Mcaster: en una misma máquina es simplemente una ruta compartida; entre contenedores, un volumen montado.
Lo que verá en Mcaster:
- Cree un stream, pulse + Añadir fuente en la pestaña Fuentes y elija el protocolo MXL. Rellene Dominio MXL con la ruta —
/dev/shm/mxl— y guarde el stream. - En cuanto la entrada se abre, en la tarjeta del stream aparece un bloque de pistas entrantes:
v2101920×1080 yfltp48 kHz — la recepción ha empezado. - Active el transcodificador (H.264/AAC): junto a él aparece un bloque de pistas de salida, y el stream se abre por HLS en cualquier reproductor — barras, reloj corriendo, sonido.
