Skip to content

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.

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).

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.

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/).

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).

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”).

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.

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