Migração do Flussonic Media Server¶
O Catena pode pegar a configuração de um Flussonic Media Server em funcionamento e criar a partir dela seus próprios streams: o assistente de importação lê a configuração pela API da fonte, mostra exatamente o que será transferido e o que será perdido, e grava os documentos só depois da sua confirmação.
A importação não é a comutação. É o primeiro passo de um procedimento que inclui ainda configurar a máquina, verificar o ar e, por fim, mudar seus espectadores. Esta página descreve o procedimento inteiro.
Antes de começar¶
- O Flussonic Media Server está em funcionamento e acessível ao central pela rede. A importação lê a configuração pela API da fonte, e não analisando um arquivo em disco. De um servidor parado não há o que importar.
- Uma conta com permissão para ler a configuração — a mesma com que você entra na interface da fonte (
edit_authouapi_auth). - Uma instalação do Catena já de pé: o central com o console e ao menos um streamer. Se ainda não tiver uma, comece pelo início rápido e volte aqui depois.
O central nunca guarda as credenciais da fonte: elas vivem apenas enquanto o plano é construído e não chegam nem ao banco nem aos logs.
Os dois servidores na mesma máquina¶
Os dois servidores seguem em funcionamento até a comutação e compartilham a porta 80: o Catena tentará escutar nela, falhará e reiniciará repetidamente com o erro Address already in use — o instalador informará que o serviço não subiu. Isso é o esperado: mova o Catena para uma porta livre:
sudo systemctl edit catena
As linhas comentadas do arquivo que se abre são uma cópia de referência da unidade — deixe-as como estão. Acrescente suas próprias linhas acima do marcador «Lines below this comment will be discarded»; tudo o que ficar abaixo dele é descartado ao salvar:
[Service]
Environment=INITIAL_HTTP_PORT=8081
Salve, feche o editor e reinicie: sudo systemctl restart catena. O console do Catena abrirá na porta 8081. No passo «parar o servidor antigo», devolva a porta 80 ao Catena nos ajustes do streamer — os links dos espectadores continuarão os mesmos.
O que a importação transfere e o que você configura¶
A importação transfere o conteúdo:
- os streams,
- as seções de modelo (transcodificador, arquivo, miniaturas, timeouts),
- os backends de autorização — para a política de acesso de todo o cluster.
A importação não transfere a disposição da máquina, porque ela descreve um servidor específico e não o seu ar:
- listeners e portas,
- discos de arquivo e sua disposição,
- localizações de VOD,
- proxy reverso e certificados TLS.
Tudo isso você define ao adicionar um streamer — ver adicionar um streamer e ajustes do streamer. A importação lista no relatório todas as seções não transferíveis que encontrou na fonte, para que nada saia de vista.
Uma coisa que vale lembrar: um stream com arquivo configurado será transferido, mas não começará a gravar enquanto o armazenamento não for configurado no streamer. A profundidade e o tamanho do arquivo vivem no documento do stream, enquanto a localização do armazenamento vive nos ajustes da máquina. Configure os discos antes de comutar o tráfego; caso contrário a gravação parecerá ativada e não acontecerá.
Um cluster é migrado máquina a máquina¶
A importação conhece um endereço por execução. Se você tem um cluster de Flussonic, rode o assistente uma vez para cada servidor: a configuração do cluster está espalhada pelas máquinas, e cada uma tem a sua.
Os streams que o servidor vê dos vizinhos não virarão documentos — eles são o estado dele, não a configuração. Os streams criados por publicação também não serão transferidos: quem os cria é o ar, não o operador.
A topologia do cluster de Flussonic — peers, balanceadores, cluster_ingest — não é transferida de forma alguma. Aqui a alocação é tarefa do layouter: você diz de quais streams precisa e ele decide em qual máquina eles rodam.
Percorrendo o assistente¶
Abra Importar do Flussonic no console e informe o endereço da fonte e as credenciais.

O assistente constrói um plano — o que exatamente será feito, antes de uma única escrita:
- quantos documentos serão criados e quantos serão pulados ou sobrescritos (e quais, pelo nome);
- se a importação cabe na sua licença;
- qual política de acesso está em vigor agora e qual a substituirá;
- quais seções da fonte não são transferidas;
- os avisos descritos abaixo.

Um plano vive quinze minutos e é aplicado uma única vez. O que é aplicado é exatamente o que você viu na tela: se nesse meio-tempo a configuração da fonte for editada, essas mudanças não farão parte desta importação — construa o plano de novo.
Há duas políticas para conflitos de nome. Pular (a padrão) deixa intacto o que já existe no cluster — por isso repetir uma importação é inofensivo e cômodo para ir completando. Sobrescrever alinha os documentos com a fonte; o plano lista esses nomes, e note que sobrescrever apaga também as edições próprias feitas no Catena.
Streams com autorização própria¶
No Flussonic o acesso pode ser configurado por stream. No Catena a política de acesso é de todo o cluster — um stream não tem autorização própria.
Isso significa que um stream protegido na fonte pelo próprio backend acaba, após a importação, sob a política comum e muda quem pode assisti-lo. Para um canal pago isso pode significar ficar aberto a todos.
Por isso o assistente nunca deixa esses streams passarem em silêncio: mostra quantos são e pergunta o que fazer — importá-los sob a política de todo o cluster ou deixá-los de fora e configurá-los à parte. Até você responder, aplicar fica indisponível.

Os streams importados vão ao ar imediatamente¶
Um stream é transferido ativado, a menos que estivesse desativado na fonte. Enquanto o servidor antigo ainda estiver no ar, isso tem um preço, e o assistente avisa:
- as fontes ganham um segundo consumidor. Uma câmera RTSP com limite de conexões dará o stream a um dos servidores; SRT e RTMP pull podem derrubar a conexão antiga.
- os pushes irão aos mesmos receptores. Se seus streams têm pushes configurados, o transponder ou a CDN recebe uma duplicata, e quem vê isso é o espectador.
Desligar apenas a entrega não é possível: uma configuração de push não tem sinalizador de «desativado». Se ter os dois servidores em paralelo for inaceitável para você, planeje a importação mais perto da própria comutação, ou pare os pushes na fonte.
Os streams cifrados são a exceção. Um stream com DRM configurado no Flussonic é importado desativado, e o motivo é indicado no relatório. Os ajustes de cifragem não viajam literalmente: o Flussonic tem uma dúzia e meia de fornecedores de chaves contra um único SPEKE. Um stream que subisse de imediato estaria servindo conteúdo premium sem proteção — então a cifragem é configurada de novo, e só então o stream é ativado.
Por que alguns streams podem não subir¶
A alocação no Catena é tarefa do layouter, e um stream pode acabar em qualquer máquina adequada. Se a entrada do stream é local do servidor antigo — multicast, um arquivo em disco, uma placa de captura —, ela simplesmente não existe em outra máquina, e o stream não subirá.
A importação lista esses streams no relatório. Depois de aplicar, o assistente mostra quantos streams importados subiram e quais não: essa é a sua verificação de que a mudança funcionou. A contagem não é instantânea — o console continua perguntando ao cluster enquanto os streams sobem, então logo após aplicar ela indica um número menor que o final.

Na captura falharam exatamente os dois que deveriam falhar: sport-hd escuta um grupo multicast que só o servidor antigo alcança, e lobby-cam aponta para uma câmera que não está nesta rede.
Lendo o relatório¶
O relatório é agrupado por motivo: uma linha é um motivo, com a contagem de streams afetados; os nomes dos streams se expandem pela seta à esquerda. Há quatro categorias:
| Categoria | O que significa | O que fazer |
|---|---|---|
| Transferido aproximadamente | O valor foi movido mas não literalmente: um ajuste foi reduzido ao mais próximo suportado, ou o comportamento mudou | Verifique o ar nesses streams |
| Não suportado | O Catena não tem esse ajuste | Procure um substituto; para algumas capacidades ele existe em outra parte da documentação |
| Campo desconhecido | O campo existe na fonte, mas esta compilação do Catena não o conhece | Envie o relatório ao suporte: seu Flussonic provavelmente é mais novo |
| Não criado | Um documento ou sua seção não foi gravado | Trate à parte: esse stream ou seção não foi transferido |

O relatório pode ser exportado como arquivo — cômodo para anexar a um chamado de suporte. As senhas nele vão mascaradas.
Esta página não traz de propósito uma lista de todos os campos não transferíveis: essa lista vive no próprio relatório e muda junto com o produto, enquanto uma cópia na documentação se afastaria da realidade.
O arquivo fica onde está¶
Não é preciso — nem faz sentido — mover o arquivo gravado: o Catena lê direto do disco um arquivo escrito pelo Flussonic. A importação não toca nos arquivos do acervo de forma alguma.
Basta que o streamer tenha os mesmos discos configurados e que o stream mantenha seu nome: o caminho do arquivo é montado a partir do nome do stream. Quais discos exatamente o assistente de importação informa: a seção «Arquivo» do plano mostra os armazenamentos da fonte ao lado dos discos configurados nos streamers.
A seção aparece quando a fonte tem gravação ou armazenamentos, e traz:
- os armazenamentos da fonte e os discos dos streamers lado a lado, como caminhos completos;
- um aviso de divergência quando nenhum disco de streamer coincide com um armazenamento da fonte. Um aviso, não um erro: caminhos coincidentes não são garantia (os arquivos podem faltar), e uma divergência não é um veredito (o disco pode estar montado de outro jeito — verifique os pontos de montagem, sobretudo se a fonte rodava num contêiner);
- a lista de streams que gravam — incluindo os que gravam por um modelo;
- uma linha de registro quando a fonte tem um diretório de índice separado: copie-o para o campo de caminho do catálogo do streamer, ou a retenção não limpará o arquivo (a leitura funciona sem ele);
- uma indicação sobre integridade: o assistente compara ajustes, não arquivos, e a verificação profunda dos blobs e do registro cabe a uma ferramenta separada —
legacy-dvr-check, incluída no pacote. Você precisa dela quando há muitos discos e o custo de um erro se mede em arquivo: com um ou dois discos a verificação automática basta. Rode-a antes de aplicar o plano: uma vez aplicado, o limpador já está aparando o arquivo antigo para a profundidade configurada.
Se os streams da fonte têm retenção episódica de longo prazo (episodes_url/episodes_expiration), ela não é transferida — o Catena não tem esses ajustes. O assistente não perde as gravações em silêncio: a profundidade de arquivo desses streams é ampliada até a episódica, e o relatório explica isso com uma entrada de «transferido aproximadamente». A profundidade a mais é reversível (o espaço é recuperado sob pressão), as gravações cortadas não; reduza você mesmo a profundidade se não precisar dela.
A profundidade do arquivo vale também para as gravações antigas: uma vez aplicado o plano, o limpador começa imediatamente a aparar o arquivo do stream para a profundidade da configuração da fonte. Se o servidor novo precisa guardar mais do que o Flussonic tinha configurado, aumente a profundidade na fonte antes da importação (a importação a pega de lá) ou crie o stream no Catena de antemão com a profundidade de que precisa — nomes existentes são pulados pela importação. Reduzir a profundidade pode esperar até depois da mudança; ampliá-la depois do fato não — o que o limpador cortou não volta.

A tela de resultado após aplicar mostra, para cada stream de gravação criado, se o arquivo está sendo escrito e se o acumulado é visível: «gravando, material antigo visível» — a mudança funcionou; «gravando, material antigo não visível» — verifique o armazenamento; «não grava» — procure a causa nos ajustes do streamer. Os contadores não são instantâneos: os streams levam tempo para subir e começar a escrever, e a tela segue consultando.
Links do reprodutor e suas integrações¶
Os links de reprodução não mudam. Os nomes dos streams são transferidos como estão — por isso a importação não oferece renomear em caso de conflito: um stream renomeado significaria um link quebrado para cada espectador e um caminho de arquivo quebrado. O endereço continua o mesmo, mas o acesso não: os streams que no Flussonic eram assistidos sem autorização ficarão fechados pela política de acesso do cluster — os espectadores receberão 403. Se o seu ar tinha streams abertos, configure a política de acesso antes de comutar os espectadores.
A API v3 é somente leitura. Se seus scripts criavam ou editavam streams pela API do Flussonic, eles terão de migrar para a API v4 — no Catena a configuração é gerida pelo central, e as escritas passam por ele. Ler estatísticas e listagens pela v3 continua funcionando.
Ordem da comutação e reversão¶
- Adicione um streamer ao Catena e configure a parte de máquina dele: listeners, discos de arquivo, localizações de VOD.
- Rode a importação e leia o relatório. Trate as entradas «não criado» e «transferido aproximadamente». Se houver muitos discos, rode o
legacy-dvr-checkantes de aplicar o plano (ver «O arquivo fica onde está»). - Espere os streams subirem e verifique o ar em vários links — sobretudo onde houver um transcodificador envolvido.
- Verifique o arquivo: abra no reprodutor a gravação mais antiga disponível — o veredito da tela de resultado é um sinal precoce (ele olha a janela do catálogo), enquanto abrir uma gravação real verifica os próprios blobs.
- Comute os espectadores para o novo endereço.
- Só então pare o servidor antigo.
Reverter antes do passo 5 não custa nada: o servidor antigo segue funcionando o tempo todo, e voltar atrás significa simplesmente não comutar o tráfego. Depois do passo 5, reverter significa devolver o endereço anterior à entrega; a importação não mudou nem apagou a configuração da fonte, ela continua lá.