Características funcionais
Esta página é o mapa de todo o produto: o que o Catena faz hoje por um operador e o que vai fazer. É uma referência, não um tutorial — cada capacidade ocupa uma linha, e as páginas deste manual descrevem as que você já pode usar.
O Catena tem duas camadas, e elas são licenciadas separadamente: você pode adotar só o motor de entrega e adicionar o serviço de assinantes quando precisar.
- O motor de entrega recebe os canais, processa-os, grava o arquivo e serve os espectadores. Se você já tem um portal ou middleware, é esta camada que se conecta a eles.
- O serviço de assinantes transforma esses canais em produto: portais, pacotes, guia, assinantes e os aplicativos em que eles assistem.
Como ler o estado
| Estado |
O que significa |
| disponível |
Funciona na versão atual, documentado ou em documentação |
| em desenvolvimento |
Está sendo construído agora — a tela ou a API podem estar incompletas |
| planejado |
Decidido e no roteiro, ainda não iniciado |
Aqui não há datas nem números de versão de propósito: um mapa de capacidades que promete trimestres envelhece antes de ser lido. Para prazos, fale com o seu gerente de conta.
O motor de entrega
Recepção de vídeo
| Capacidade |
Estado |
O que é |
| Fontes por RTMP, RTSP, MPEG-TS (UDP e HTTP), HLS, M4F |
disponível |
As formas habituais pelas quais um canal chega de uma cabeceira ou de um parceiro |
| Recepção de multicast |
disponível |
Pegar SPTS direto da rede do operador |
| Recepção por SRT |
disponível |
Pegar um sinal por um enlace com perdas, com frase de acesso |
| Ponto de publicação |
disponível |
O outro lado empurra para o Catena em vez de ser consultado |
| Fonte sintética |
disponível |
Gerador embutido para provar o caminho antes de existir sinal real |
| Fontes reservas com prioridade |
disponível |
Uma lista ordenada; o canal passa à seguinte quando uma fonte morre |
| Arquivo reserva |
disponível |
Um clipe vai ao ar quando nenhuma fonte responde |
| Limiares de qualidade da fonte |
disponível |
Tempos limite, piso e teto de bitrate, erros de continuidade MPEG-TS |
| Estado da fonte com motivo |
disponível |
Funcionando, degradada ou morta — e por quê, em cada fonte |
| Recepção de MPTS com seleção de programas |
planejado |
Pegar um multiplex e extrair dele os programas |
| Placas de captura DVB-C/T/S |
planejado |
Canais tirados direto de um sintonizador de cabo, terrestre ou de satélite |
Processamento de vídeo
| Capacidade |
Estado |
O que é |
| Transcodificação para H.264 e H.265 |
disponível |
Levar qualquer fonte ao que os aparelhos dos espectadores realmente decodificam |
| Escada ABR |
disponível |
Várias versões por canal: resolução, bitrate, GOP e estratégia de redimensionamento por degrau |
| Seleção de faixa por identificador ou idioma |
disponível |
Como cada entrada se transforma numa saída |
| Codificação de áudio por faixa |
disponível |
Codec e bitrate próprios para cada faixa de áudio |
| Miniaturas |
disponível |
Quadros para prévia de avanço e para os mosaicos de canais |
| Legendas automáticas a partir da fala |
em desenvolvimento |
O reconhecimento de voz transforma o áudio em uma faixa de legendas |
| Legendas DVB, teletexto e CEA-608 para WebVTT |
em desenvolvimento |
Levar as legendas de radiodifusão aos formatos que os players OTT entendem |
| Transcodificação por hardware: NVENC, Quick Sync |
planejado |
Densidade em GPU em vez de codificar só em CPU |
| Desentrelaçamento |
planejado |
Sinais entrelaçados de radiodifusão para progressivo em aparelhos OTT |
| Logotipo e texto sobreposto |
planejado |
Marca do canal e textos sobre a imagem, inclusive um relógio |
| Normalização de loudness |
planejado |
Trazer os canais a um volume comum em vez de um ganho manual |
| Marcas SCTE-35 |
planejado |
Ler as marcas de corte e reemiti-las nos protocolos de saída |
Arquivo, catch-up e timeshift
| Capacidade |
Estado |
O que é |
| Gravação do arquivo |
disponível |
Gravar um canal com limite de profundidade e de tamanho |
| Arquivo em vários discos |
disponível |
Vários pontos de montagem por streamer, com verificação de montagem e estado do disco |
| Reprodução do arquivo por intervalo |
disponível |
Reproduzir qualquer intervalo passado pelos seus limites em UTC |
| Catch-up por programa |
planejado |
O espectador escolhe um programa no guia e ele toca desde o início |
| Startover e pausa do ao vivo |
planejado |
Ir ao começo do que está no ar e pausar um canal ao vivo |
| Timeshift relativo e absoluto |
planejado |
Tocar N segundos atrás do ao vivo, ou a partir de um horário de relógio |
| Canal com fuso deslocado |
planejado |
Um sinal «+2 horas» separado, lido do arquivo uma vez e servido a todos |
| PVR de rede |
planejado |
Gravações a pedido do assinante que duram mais que o arquivo do canal |
| Intervalos protegidos do arquivo |
planejado |
Fixar um intervalo para que a retenção não o apague |
| Replicação do arquivo entre streamers |
planejado |
Uma gravação sobrevive à perda da máquina que a fez |
| Arquivo em S3 |
planejado |
Levar a profundidade para armazenamento de objetos em vez de discos locais |
| Cache SSD do arquivo quente |
planejado |
O horário nobre sai do SSD sem pagar por um arquivo inteiro em SSD |
Entrega ao espectador
| Capacidade |
Estado |
O que é |
| HLS e LL-HLS |
disponível |
A forma principal como os espectadores assistem, e sua variante de baixa latência |
| DASH |
disponível |
O segundo formato de manifesto, para os aparelhos que o preferem |
| Saída MPEG-TS e fMP4 |
disponível |
Transporte simples para set-top boxes e para outros servidores |
| Player embutido |
disponível |
Ver um canal pelo console sem configurar nada |
| Zonas CDN |
disponível |
Os espectadores são direcionados pelo IP aos streamers da sua zona |
| Balanceador |
disponível |
O player pede um único endereço e é enviado ao streamer que carrega o canal |
| Saída para multicast |
planejado |
Servir os seus próprios assinantes em uma rede gerenciada enviando canais a grupos multicast |
| Faixas de miniaturas nos manifestos |
planejado |
Prévia na linha do tempo do player |
| Filtragem de faixas na URL |
planejado |
Pedir um subconjunto específico de vídeo, áudio e legendas |
| Roteamento por geografia |
planejado |
Escolher o edge pela localização do espectador, não só pela sub-rede |
| Smooth Streaming (MSS) |
planejado |
Caminho para aparelhos antigos e PlayReady |
Acesso e proteção
| Capacidade |
Estado |
O que é |
| Credenciais do operador e chaves de API |
disponível |
Acesso ao console e chaves bearer para a API de gestão |
| Tokens de adesão e chaves de streamer |
disponível |
Como uma máquina é admitida no cluster e como ela se autentica depois |
| Backends de autorização de reprodução |
em desenvolvimento |
O Catena pergunta ao seu serviço se uma sessão pode tocar; a tela existe, a API está migrando |
| Links assinados |
planejado |
Link com hash, validade e vínculo opcional ao IP, verificado sem chamar ninguém |
| Várias fontes de autorização ao mesmo tempo |
planejado |
Consultar vários backends em paralelo; vence o primeiro «sim» |
| Limite de sessões simultâneas |
planejado |
Teto de fluxos por assinante e detecção de senha compartilhada |
| Restrições geográficas |
planejado |
Fazer valer os direitos territoriais na reprodução |
| Domain lock, CORS e listas de IP |
planejado |
Onde um fluxo pode ser incorporado e quem pode pedi-lo |
| DRM: Widevine, PlayReady, FairPlay |
planejado |
Proteção de nível de estúdio com chaves do seu fornecedor DRM via CPIX |
| DRM sobre arquivo e VOD |
planejado |
A mesma proteção no catch-up e nos arquivos, com rotação de chaves |
Publicidade
| Capacidade |
Estado |
O que é |
| Inserção de publicidade no servidor |
planejado |
Anúncios costurados ao fluxo, de modo que bloqueadores não veem uma requisição à parte |
| Inserção por marcas SCTE-35 |
planejado |
Substituir os intervalos que a emissora já marca |
| Inserção por horário |
planejado |
Intervalos onde a fonte não traz marcas |
| Decisão do anúncio no seu backend |
planejado |
Qual peça cada espectador vê é decisão do seu sistema |
| Registro de impressões |
planejado |
Registro por espectador do que foi de fato exibido |
Cluster e tolerância a falhas
| Capacidade |
Estado |
O que é |
| Registro de streamers |
disponível |
Todas as máquinas, seu estado e sua telemetria em uma tela |
| Adesão de um streamer |
disponível |
Uma janela com prazo e um token em vez de editar arquivos |
| Colocação automática de canais |
disponível |
O central decide qual streamer leva qual canal |
| Histórico e motivos da colocação |
disponível |
Por que um canal está onde está e o que o moveu |
| Recuperação da perda de um streamer |
disponível |
Os canais da máquina morta são replanejados sobre as vivas |
| Entrega da configuração |
disponível |
O central guarda os ajustes e acompanha o desejado, o baixado e o aplicado |
| Limite de canais por streamer |
planejado |
Limitar quanto uma máquina assume; zero a mantém no cluster porém vazia |
| Backup e restauração do banco |
planejado |
Um procedimento com suporte em vez de um pg_dump caseiro |
| Cálculo da folga de capacidade |
planejado |
Quanta folga o cluster precisa para sobreviver à perda de uma máquina |
Observabilidade e operação
| Capacidade |
Estado |
O que é |
| Painel |
disponível |
A instalação inteira em uma tela: máquinas, canais, tráfego, erros |
| Telemetria dos streamers |
disponível |
CPU, rede, canais em execução, capacidade de arquivo, tempo ativo, último contato |
| Sessões de espectadores ao vivo |
disponível |
Quem assiste o quê e de qual streamer, com filtros e encerramento forçado |
| Histórico de sessões |
disponível |
Sessões encerradas com duração, volume e motivo do término |
| Servidor de métricas embutido |
disponível |
Consultas compatíveis com Prometheus e fonte de dados para Grafana |
| Logs estruturados e rastreamento |
disponível |
Logs legíveis por máquina e traces OpenTelemetry para seguir uma requisição |
| Retroview |
disponível |
Monitoramento em nuvem do fabricante com histórico longo e alertas prontos |
| Tela de logs no console |
planejado |
Ler os logs do cluster sem entrar por shell |
| Alertas por e-mail, Telegram e webhook |
planejado |
Ser avisado de um canal caído em vez de descobri-lo |
| SNMP |
planejado |
Integração com um NOC existente |
| Eventos e webhooks |
planejado |
Enviar o que aconteceu aos seus sistemas, com novas tentativas |
| Telemetria de qualidade dos players |
planejado |
Rebuffering, tempo de início e erros como o aparelho do espectador vê |
O serviço de assinantes
Esta camada transforma um fluxo em produto de televisão. Adote-a se você não tem um sistema de TV de operador; pule-a e conecte o seu portal pela API se já tem um.
Portais e multilocação
| Capacidade |
Estado |
O que é |
| O portal como locatário |
planejado |
Assinantes, canais e pacotes separados sobre infraestrutura compartilhada |
| Personalização do portal |
planejado |
Logotipo e nomes visíveis nos aplicativos e nas lojas |
| Domínio próprio por portal |
planejado |
Cada marca responde no seu próprio endereço |
| Chave de API própria por portal |
planejado |
As integrações ficam restritas a um locatário |
| Uma fonte para vários portais |
planejado |
O mesmo sinal serve várias marcas e é recebido uma só vez |
Canais, pacotes e guia
| Capacidade |
Estado |
O que é |
| Modelos de canal |
em desenvolvimento |
Ajustes escritos uma vez e aplicados a centenas de canais |
| Catálogo de canais |
planejado |
Título, logotipo e vínculo com o guia sobre o fluxo técnico |
| Pacotes |
planejado |
Conjuntos de canais com nome — o que o assinante realmente compra |
| Pacotes gratuitos |
planejado |
Canais que todo assinante recebe sem assinatura |
| Guia a partir de XMLTV |
planejado |
Importar a programação do seu fornecedor, com atualização automática |
| Guia a partir do transporte |
planejado |
Extrair o EPG do DVB EIT quando não há fonte XMLTV |
| Diagnóstico da importação do guia |
planejado |
O que foi baixado, o que mudou, o que falhou e quando |
| API de programas |
planejado |
Consultar a programação para aplicativos e integrações |
Assinantes e assinaturas
| Capacidade |
Estado |
O que é |
| Contas de assinante |
planejado |
Quem assiste, e a que tem direito |
| Entrada por telefone e código SMS |
planejado |
Sem senhas para o espectador |
| Cadastro no primeiro acesso |
planejado |
A conta aparece sozinha, se você permitir |
| Token de reprodução por assinante |
planejado |
O que o streamer verifica antes de servir uma sessão |
| Assinaturas de pacotes |
planejado |
O acesso é concedido e retirado na hora |
| Bloqueio de um assinante |
planejado |
Cortar o acesso sem perder a conta e o histórico |
| Períodos de teste e promoção |
planejado |
Acesso por prazo como função do produto, não como script |
| Integração com faturamento |
planejado |
Seu faturamento comanda as assinaturas pela API e por webhooks |
Aplicativos para espectadores
| Capacidade |
Estado |
O que é |
| Aplicativo para Android TV e set-top box |
planejado |
A tela principal dos assinantes do operador |
| Player web para o espectador |
planejado |
Assistir sem instalar nada |
| Personalização do operador |
planejado |
O aplicativo sai com o seu nome e o seu logotipo |
| Lista de canais com «agora» e «a seguir» |
planejado |
O que está no ar e o que vem depois |
| Catch-up pelo guia |
planejado |
Escolher um programa passado e vê-lo desde o início |
Analytics e auditoria
| Capacidade |
Estado |
O que é |
| Sessões de visualização |
disponível |
O registro ao vivo e histórico de quem assistiu o quê |
| Audiência por canal |
planejado |
Rankings e tendências em vez de sessões cruas |
| Tráfego por assinante |
planejado |
Bytes atribuíveis a um assinante, para faturar |
| Registro de operações |
planejado |
Quem mudou o quê e quando, inclusive as assinaturas |
Equipe do operador e permissões
| Capacidade |
Estado |
O que é |
| Credenciais do operador |
disponível |
Um par de acesso e chaves de API para toda a instalação |
| Várias contas de equipe |
planejado |
Pessoas nomeadas em vez de uma senha compartilhada |
| Escopos de permissão |
planejado |
Direitos separados sobre infraestrutura, conteúdo e assinantes |
Integração
| Capacidade |
Estado |
O que é |
| API de gestão |
disponível |
Tudo o que o console faz, disponível para os seus sistemas |
| Conexão de um portal de terceiros |
disponível |
Manter o seu portal e comandar o Catena pela API |
| Esquema OpenAPI e SDKs |
em desenvolvimento |
Clientes gerados em vez de chamadas HTTP escritas à mão |
| Provisionamento externo de canais |
planejado |
O Catena pergunta ao seu serviço quais canais devem existir e se ajusta |
| Webhooks de saída |
planejado |
Os eventos vão para os seus sistemas, com novas tentativas |
O que o Catena não faz
Isto fica deliberadamente fora do produto. Nomeá-lo poupa uma reunião:
- Câmeras, videomonitoramento, exportação de gravações e visualização por proxy — conectar câmeras (inclusive alcançar por um agente as que não têm endereço público), recortar um trecho da gravação em um MP4 e passar a reprodução pelo servidor de controle são o Watcher.
- WebRTC e NDI — a publicação por WHIP, a reprodução por WHEP, a captura NDI e os produtos construídos em torno delas são o Agora.
- Banda base, envio de canais para fora e o multiplex de transporte DVB — a recepção por SDI, ASI e ST-2110, o envio de canais a terceiros por RTMP, SRT ou MPEG-TS e a montagem de um MPTS com tabelas SI/NIT/SDT e numeração lógica de canais são o Mcaster. O Catena mantém as duas direções de que o seu próprio serviço precisa: a recepção por SRT e a saída para multicast para os seus próprios assinantes.
- Acesso condicional para radiodifusão — CAS e embaralhamento para redes de cabo e satélite. Em uma rede gerenciada, isolamento e DRM cobrem esse terreno de outro jeito.
- Faturamento e tarifas — o Catena sabe quem tem direito a quê, nunca quanto custa. Preços, faturas e pagamentos vivem no seu sistema de faturamento, que comanda o Catena pela API.