Recepção de MXL¶
O MXL (Media eXchange Layer) é a camada de intercâmbio da arquitetura DMF (Dynamic Media Facility): as funções de mídia vizinhas — decodificadores, misturadores, CG — gravam mídia sem compressão num diretório compartilhado, e os consumidores a retiram dali sem rede e sem cópias. O Mcaster lê esse diretório como uma fonte de stream comum: as pistas entram no processamento, são transcodificadas e saem pelos mesmos meios que o sinal de um satélite ou de SRT.
Assim como o ST 2110, a entrada transporta mídia sem compressão, mas o transporte é outro: não é multidifusão IP, mas arquivos num diretório de uma máquina compartilhada. Nenhum preparo de rede é necessário: basta uma pasta na qual os publicadores gravem.
O que são um domínio e um fluxo¶
O diretório no qual as funções de mídia gravam chama-se domínio. Dentro dele, cada pista lógica é o seu próprio subdiretório de fluxo com nome de UUID: 5fbec3b1-….mxl-flow. Um fluxo carrega uma descrição de si mesmo (flow_def.json, em formato NMOS), um cabeçalho com o estado do gravador e slots de dados; o leitor sonda o cabeçalho e recolhe os quadros conforme aparecem. Num domínio pode haver qualquer número de gravadores e leitores, sem se conhecerem.
Um domínio carrega um programa: há um único fluxo de vídeo e pode haver vários de áudio. A entrada pega o primeiro fluxo de vídeo e o primeiro de áudio que encontra; escolher um fluxo pelo nome não é possível na versão atual.
Dois tipos de mídia são lidos:
video/v210— vídeo sem compressão de 10 bits 4:2:2 no empacotamento v210; o tamanho e a taxa de quadros vêm da descrição do fluxo.audio/float32— áudio sem compressão de vírgula flutuante, um plano por canal.
Os demais formatos — vídeo com canal alfa (video/v210a), dados auxiliares ANC — são ignorados com um registro no diário: a sua disposição ainda não é lida.
Configurar a entrada¶
Crie um stream e pressione + Adicionar fonte na aba Fontes. Escolha o protocolo MXL.

A entrada tem dois campos:
- Domínio MXL — o caminho para o diretório do domínio na máquina do streamer, por exemplo
/dev/shm/mxl. É um diretório local, não um endereço de rede: o streamer e os publicadores devem ver a mesma pasta. - Tempo limite do par (ms) — quanto esperar por novos quadros antes de declarar a fonte morta. Por padrão, 30 segundos.
As pistas sem compressão não se segmentam sozinhas: como no 2110 e no SDI, planeje um transcodificador — uma saída H.264/AAC para entrega OTT, ou uma saída RAW para SDI.
A capacidade é licenciada¶
A captura de MXL é vendida como a posição media_ingest da grade tarifária e é limitada pela licença, não pela compilação: a seção de entrada existe em qualquer instalação, mas sem essa capacidade na licença os seus campos ficam inativos e destacados com uma explicação. O número de entradas mxl é contado pela configuração — uma por stream com tal entrada.
Como a entrada se comporta em funcionamento¶
- Borda ao vivo. O anel de slots é finito, e um leitor atrasado perde os quadros antigos: a entrada salta para os recentes e continua, e a falha aparece como um salto nas marcas de tempo. Não é um erro — um programa ao vivo vale mais que a continuidade.
- Quadros corrompidos são ignorados. Um gravador pode marcar um quadro como inválido ou deixá-lo inacabado; tal quadro nunca se torna pista do stream, a entrada simplesmente segue em frente.
- Um gravador silencioso é coberto pelo tempo limite do par: a entrada recebe um erro e o stream reinicia pelas regras comuns — igual a qualquer outra fonte.
Experimentar a entrada sem hardware¶
O MXL não precisa de placa nem de rede de mídia: um publicador de demonstração vem com o SDK aberto. Clone dmf-mxl/mxl e compile as ferramentas seguindo docs/Building.md desse repositório — você precisa do mxl-gst-testsrc; as descrições prontas de fluxos de teste estão em examples/flow-configs/ do mesmo repositório. Para um passeio guiado pelo MXL como um todo existe o workshop mxl-hands-on.
O publicador grava no domínio um programa de teste — barras SMPTE com relógio correndo e um tom 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
O diretório do domínio deve ser visível tanto para o publicador quanto para a máquina com o Mcaster: numa mesma máquina é simplesmente um caminho compartilhado; entre contêineres, um volume montado.
O que você verá no Mcaster:
- Crie um stream, pressione + Adicionar fonte na aba Fontes e escolha o protocolo MXL. Preencha o Domínio MXL com o caminho —
/dev/shm/mxl— e salve o stream. - Assim que a entrada abre, aparece no cartão do stream um bloco de pistas de entrada:
v2101920×1080 efltp48 kHz — a recepção começou. - Ative o transcodificador (H.264/AAC): ao lado aparece um bloco de pistas de saída, e o stream abre por HLS em qualquer reprodutor — barras, relógio correndo, som.
