Estes guias fazem corresponder os conceitos de um setor aos objetos que a plataforma tem hoje (bouquets, linhas, pacotes, contas de parceiro, nós, a API). São correspondências conceptuais, não funcionalidades específicas de um setor, e uma conta de parceiro é uma conta delegada, não um inquilino isolado.
Correspondência conceptual
Nada no painel se chama programa ou apoiante. A tabela diz que objeto desempenha que papel; os capítulos abaixo configuram-nos por essa ordem.
| No seu setor | Na plataforma | Onde no painel |
|---|---|---|
| O canal do estúdio | Canal em direto: um stream com as suas fontes, EPG e formatos de saída | Streams → adicionar um stream em direto (URL de origem ou envio RTMP) |
| Biblioteca de programas | Catálogo VOD: filmes e séries com temporadas e episódios, categorias e metadados | Movies e Series, ou a tarefa de ingestão VOD |
| Nível de subscrição | Bouquet: um conjunto nomeado de canais, filmes ou séries que um pacote concede | Bouquets, a partir de Streams e Movies / Series |
| Acesso do apoiante | Linha: um acesso com o seu pacote, bouquets, validade, limite de ligações e saídas | Lines → adicionar, ou códigos de ativação, ou a Reseller API |
| Período de faturação | Data de validade da linha, renovada por um pacote, um crédito ou pela API | A data de validade da linha e a duração do pacote |
| Conta de afiliado ou distribuidor | Conta de revendedor (reseller): um painel delegado com créditos, permissões e as suas próprias linhas | Users → adicionar um revendedor; Groups para as suas permissões |
| Integração com loja ou subscrição | Reseller API e webhooks: as operações do painel a partir do seu próprio sistema | Chaves da Reseller API e webhooks no painel do revendedor |
Pré-requisitos
O que ter antes de instalar.
- Um servidor (Ubuntu 22.04 ou 24.04) com endereço público ou um domínio e largura de banda de saída suficiente para o público que espera.
- Os episódios finalizados, o playout ou codificador do estúdio para o canal e uma loja numa plataforma com conector, ou a capacidade de chamar uma API HTTP.
- Uma decisão sobre níveis e afiliados: o que cada subscrição concede e quem a pode vender.
Implementação da infraestrutura
Primeiro um servidor, nós à medida que o público cresce.
- Execute o instalador no servidor de gestão e coloque o painel atrás de um proxy inverso com TLS; defina os proxies de confiança para que as regras de IP vejam o endereço real do espectador.
- Defina o URL base de reprodução para o endereço público que o seu público acede.
- Registe um nó em Servers numa região onde muitos apoiantes veem; o painel instala-o por SSH e encaminha para ele os espectadores dessa região.
- Crie uma conta de parceiro (revendedor) para cada elemento da equipa que gere o catálogo ou os apoiantes, com o seu próprio grupo de permissões.
Organização do conteúdo
Programas como séries, níveis como bouquets.
- Crie categorias por género e uma série por programa, com uma temporada por lote de lançamento e um episódio por vídeo.
- Crie um bouquet para o canal em direto, um para o conteúdo gratuito ou de entrada e um para cada nível superior.
- Crie um pacote por nível com o período de faturação como duração, um pacote de teste para novos visitantes, se quiser, e um preço em créditos para os afiliados.
- Mantenha o arquivo numa categoria própria para o poder mover entre níveis sem mexer nas séries.
Configuração de parceiros (revendedores)
Afiliados e distribuidores.
- Crie um grupo para afiliados apenas com permissões de linhas, para que não possam alterar o catálogo.
- Adicione cada afiliado como revendedor com esse grupo e um saldo de créditos; o preço do seu pacote é o que o estúdio decidir.
- Um distribuidor com subafiliados pode criar subdistribuidores na sua própria conta, até cinco níveis.
Configuração do acesso dos apoiantes
Uma linha por apoiante.
- Instale o conector da sua loja (WooCommerce, por exemplo) e introduza a chave da Reseller API e o pacote correspondente a cada produto.
- Na subscrição, o conector chama create_line com o pacote e um id de pedido; o período de faturação é a duração do pacote.
- Defina o máximo de ligações como o número de dispositivos que um apoiante pode usar, normalmente dois ou três.
- Para um sorteio ou um lançamento, gere códigos de ativação em massa ou adicione linhas em Lines → add com um pacote de teste.
Biblioteca de programas
Episódios a pedido.
- Carregue cada episódio como fonte, ou ingira-o com a tarefa de ingestão de VOD; preencha o título, a temporada, o número do episódio e os metadados do TMDB, se o programa os tiver.
- Associe cada série aos bouquets dos níveis que a podem ver.
- Verifique a reprodução com uma linha de teste de cada nível antes de anunciar um lançamento.
O canal do estúdio
Um canal todo o dia.
- Adicione um stream em direto para o playout do estúdio (envio RTMP) e coloque-o nos bouquets de todos os níveis que incluem o canal.
- Carregue o guia do canal como XMLTV para que os apoiantes vejam o que está no ar e ative o catch-up para os programas que valem a pena rever.
- Mantenha o playout a funcionar entre lançamentos com o conteúdo agendado do próprio estúdio; o painel limita-se a retransmitir o stream.
Validade da subscrição
O acesso acompanha o pagamento.
- Uma linha expira no fim do período do seu pacote; a loja renova-a com renew_line quando chega o pagamento seguinte.
- Subscreva a loja nos webhooks para enviar um lembrete em line.expiring e fazer o downgrade de um apoiante em line.expired.
- Um apoiante que cancela é desativado pela loja com disable_line, e a linha pode ser renovada mais tarde sem uma nova conta.
Integração com a loja
A loja vende; o leitor reproduz.
- O conector cria, renova e desativa linhas de acordo com as encomendas; qualquer outra loja usa a Reseller API e webhooks.
- Os afiliados veem as suas próprias linhas no seu painel, e a Reseller API permite-lhes automatizar isso.
- Não há início de sessão único para espectadores: os apoiantes entram no leitor com as credenciais da sua linha, que a loja lhes envia.
Considerações de segurança
Proteja a subscrição, não apenas o servidor.
- Sirva o painel e o URL base de reprodução por TLS e defina TRUSTED_PROXIES para o seu proxy inverso.
- Início de sessão com dois fatores para todas as contas do painel e grupos de permissões para que os afiliados não possam alterar o catálogo.
- Ligações de reprodução assinadas e com expiração e um limite de ligações por linha; associe uma linha a um país se uma licença for territorial.
- Cópias de segurança cifradas da base de dados com cópia externa e o registo de auditoria para cada alteração de linhas e do catálogo.
Resolução de problemas
As primeiras verificações habituais.
- Um novo apoiante não consegue ver depois de pagar: verifique a chamada do conector da loja no registo da Reseller API e a data de validade da linha.
- Um apoiante vê conteúdo de um nível superior: verifique o pacote da linha e os bouquets que ele concede.
- O canal pára no fim de um ciclo do playout: verifique o envio do codificador para o stream em direto e o estado de sondagem do stream.
- A venda de um afiliado não aparece: verifique os seus créditos e se o pacote usado pertence ao seu grupo.