O conteúdo (pipeline BRLogic)
Todo o conteúdo “pronto” (programas, programetes, campanhas, vinhetas, hora certa) vem de um fornecedor chamado BRLogic e passa por um pipeline de três etapas: baixar → distribuir → verificar.
O acervo central
Section titled “O acervo central”Tudo é guardado em /opt/brlogic-content/ no servidor:
/opt/brlogic-content/├── files/│ ├── programas-completos/ (276 arquivos / 77 programas)│ ├── programetes/ (154 arquivos / 105 títulos)│ ├── campanhas/ (257)│ ├── vinhetas/ (60)│ └── hora-certa/└── download-list-pt.json (catálogo: id, nome, categoria, data)O download-list-pt.json é o catálogo mestre: lista cada item com fileId, name,
category e upd (data da última atualização do fornecedor).
Etapa 1 — baixar (brlogic-sync)
Section titled “Etapa 1 — baixar (brlogic-sync)”Roda 04:00 · 16:00 · 21:15. Conecta no fornecedor, baixa o que há de novo pt-BR, atualiza o acervo e o catálogo, e reindexação o AzuraCast. É o abastecimento.
Etapa 2 — distribuir
Section titled “Etapa 2 — distribuir”Pega o acervo central e espelha pra dentro de cada rádio, na pasta de mídia da estação (via hardlink — não duplica espaço no disco). “Espelhar” = o que saiu da lista do fornecedor também sai da rádio.
Programas + programetes (brlogic-distribui-programas)
Section titled “Programas + programetes (brlogic-distribui-programas)”Roda 04:30 · 16:30 · 21:30. Distribui para todas as rádios (programas e programetes
ficam em Programas/ e Programetes/).
Campanhas (brlogic-distribui-campanhas)
Section titled “Campanhas (brlogic-distribui-campanhas)”Roda 05:00 · 16:45 · 21:45. Distribui as campanhas do mês corrente (as sazonais entram/saem conforme a data; as gerais ficam sempre).
Vinhetas (brlogic-distribui-vinhetas)
Section titled “Vinhetas (brlogic-distribui-vinhetas)”Distribui as 60 vinhetas canônicas e, diferente dos outros, gerencia a playlist “Jingle · Vinhetas” de cada rádio: adiciona as novas, remove as antigas, e cria a playlist se a rádio não tiver. Isso porque vinheta vive numa playlist intercalada (toca 1 a cada N músicas) — mexer só no disco quebraria os jingles no ar.
Etapa 3 — verificar vencidos (check-validade)
Section titled “Etapa 3 — verificar vencidos (check-validade)”Roda 05:20 (diário), logo depois do ciclo da manhã. Lê o catálogo, calcula a idade de cada item datado (programas e programetes) e classifica por uma janela:
- fresco (≤ 7 dias) → ok;
- vencido (8 a 120 dias) → o fornecedor parou de renovar → alerta;
- legado (> 120 dias) → conteúdo perene (orações etc.) → ignora.
Se acha vencidos, manda um resumo no WhatsApp (grupo, via Ari), em tom neutro. Sem vencidos, não avisa nada. A janela evita falsos positivos com conteúdo semanal (que naturalmente tem alguns dias) e com conteúdo fixo (que nunca “atualiza”).
Detalhe importante: fade dos jingles
Section titled “Detalhe importante: fade dos jingles”Uma regra separada (sync-crossfade-rule, a cada 15 min) garante que vinheta, comercial,
hora certa, programa e programete NÃO cruzam (sem crossfade) — entram secos, sem cortar a
locução. Só a música faz o fade suave. Isso vale pra qualquer valor de crossfade
configurado.
Resumo do fluxo
Section titled “Resumo do fluxo”Fornecedor BRLogic │ brlogic-sync (04/16/21h) ▼Acervo central /opt/brlogic-content/files │ distribui-programas (04:30/16:30/21:30) │ distribui-campanhas (05:00/16:45/21:45) │ distribui-vinhetas (+ gestão de playlist) ▼Mídia de cada rádio (hardlinks) → AzuraCast toca │ check-validade (05:20) → alerta WhatsApp se vencido ▼No ar