Estes guias mapeiam os conceitos de um setor para os objetos que a plataforma tem hoje (bouquets, lines, pacotes, contas de parceiro, nodes, a API). São mapeamentos conceituais, não recursos específicos de um setor, e uma conta de parceiro é uma conta delegada, não um tenant isolado.
Mapeamento conceitual
Nada no painel se chama elenco ou sócio. A tabela diz qual objeto faz qual papel; os capítulos abaixo os configuram nessa ordem.
| No seu setor | Na plataforma | Onde no painel |
|---|---|---|
| Sinal de jogo ou treino | Canal ao vivo: um stream com suas fontes, EPG e formatos de saída | Streams → adicionar um stream ao vivo (URL de origem ou envio por RTMP) |
| Biblioteca de análise e replays | Catálogo de VOD: filmes e séries com temporadas e episódios, categorias e metadados | Movies e Series, ou a tarefa de ingestão de VOD |
| Pacote de elenco ou competição | Bouquet: um conjunto nomeado de canais, filmes ou séries que um pacote concede | Bouquets, a partir de Streams e Movies / Series |
| Acesso de sócio ou família | Line: um acesso com seu pacote, bouquets, expiração, limite de conexões e saídas | Lines → adicionar, ou códigos de ativação, ou a Reseller API |
| Temporada ou período da associação | Data de expiração da line, renovada por um pacote, um crédito ou a API | A data de expiração da line e a duração do pacote |
| Conta da equipe ou da academia | Conta de parceiro (revendedor): um painel delegado com créditos, permissões e suas próprias lines | Users → adicionar um revendedor; Groups para suas permissões |
| Integração com loja ou gestão do clube | 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 banda de saída suficiente para os jogos que você pretende transmitir.
- A câmera e o encoder no campo capazes de fazer push RTMP e os arquivos de treino e análise gravados que seus treinadores já guardam.
- Uma decisão sobre quem vê o quê: quais elencos compartilham material, quais jogos são só para sócios e quais integrantes da equipe recebem uma conta do painel.
Implantação da infraestrutura
Primeiro a academia, um node quando os dias de jogo exigirem.
- Execute o instalador no servidor da academia e coloque o painel atrás de um proxy reverso com TLS; defina os proxies confiáveis para que os logs e as regras de IP vejam o endereço real do espectador.
- Defina a URL base de reprodução com o endereço público que os espectadores acessam, para que os links emitidos pelo painel funcionem de casa.
- Se muitas famílias assistirem ao mesmo jogo, registre um node em Servidores; o painel o instala por SSH e distribui o canal ao vivo a partir dele.
- Crie uma conta de parceiro (revendedor) para a comissão técnica com permissões para o catálogo e nenhuma para as linhas dos sócios.
Organização do conteúdo
Elencos e temporadas como categorias, acesso como bouquets.
- Crie categorias por faixa etária e por temporada e séries para as competições, com um episódio por jogo.
- Crie um bouquet por material de análise de cada elenco, um para os canais de jogos ao vivo e um para toda a academia.
- Crie um pacote por tipo de associação: os bouquets que ele concede, com a temporada como duração e um preço em créditos se a equipe o vender.
- Dê aos bouquets o nome do elenco ou da competição a que pertencem, para que a equipe saiba qual pacote dar a uma família.
Configuração de parceiros (revendedores)
Equipe que gerencia os próprios sócios, se o clube quiser.
- Crie um grupo com permissões de catálogo para os treinadores e um grupo com permissões de linhas para a secretaria de sócios.
- Adicione cada um deles como revendedor com o grupo correspondente; dê créditos à secretaria apenas se as associações forem vendidas pelo painel.
- Uma academia satélite ou uma torcida organizada com sócios próprios recebe sua própria conta de parceiro e seus próprios pacotes.
Configuração do acesso de sócios e famílias
Uma linha por sócio ou por família.
- Crie uma chave da Reseller API para a loja ou o sistema de gestão do clube e guarde-a nos segredos desse sistema.
- No cadastro, o sistema chama action=create_line com o pacote da associação e um id de requisição; a temporada é a duração do pacote.
- Defina o máximo de conexões como os dispositivos de que uma família precisa (normalmente três ou quatro) para que uma associação não seja compartilhada além da residência.
- Para um dia de jogo experimental, adicione uma linha em Linhas → adicionar com um pacote de teste ou imprima códigos de ativação para os torcedores na arquibancada.
Biblioteca de análise e replays
Jogos e treinos sob demanda.
- Envie cada jogo ou treino como fonte de um episódio, ou ingira-o com o job de ingestão de VOD; mantenha a data, o adversário e o elenco no título.
- Associe a gravação ao bouquet do elenco por meio da sua série, para que apenas as linhas desse elenco a vejam.
- Verifique a reprodução com uma linha de teste de cada associação para confirmar quem vê o quê.
Sinais de jogos e treinos
Uma câmera do campo como canal ao vivo.
- Adicione um stream ao vivo para cada encoder no campo (push RTMP) e coloque-o no bouquet do dia de jogo.
- Ative o catch-up para que uma família que entra atrasada possa voltar no tempo e adicione a gravação à biblioteca depois do apito final.
- Em um dia de jogo movimentado, verifique se o node pega o canal uma única vez da origem e atende os espectadores direcionados a ele.
Vencimento da associação
O acesso acompanha a temporada.
- Uma linha expira no fim do período do seu pacote; a loja a renova com action=renew_line quando a mensalidade da próxima temporada é paga.
- Inscreva a loja nos webhooks para enviar um lembrete em line.expiring e encerrar a associação em line.expired.
- Um jogador que sai no meio da temporada é desativado pela loja com action=disable_line; a linha é mantida para os registros.
Integração com a loja ou o software do clube
Os sistemas controlam o acesso; o player reproduz.
- Instale o conector da sua plataforma de e-commerce (WooCommerce, Shopify e outros) do lado da loja, para que uma compra crie a linha e um pagamento a renove.
- Um sistema de gestão do clube ou de ingressos se conecta pela Reseller API e webhooks; não há conector nativo para ele.
- Não há login único para espectadores: os sócios entram no player com as credenciais da própria linha, que a loja envia a eles.
Considerações de segurança
O material do elenco fica com o elenco.
- Sirva o painel e a URL base de reprodução com TLS e defina TRUSTED_PROXIES com o seu proxy reverso.
- Login em duas etapas para toda conta do painel e grupos de permissões para que a secretaria não possa alterar o catálogo e os treinadores não possam ver as linhas.
- Links de reprodução assinados e com expiração, um limite de conexões por linha e um vínculo de IP ou país para as linhas da equipe.
- Backups criptografados do banco de dados com cópia externa e o log de auditoria para cada alteração de linhas e do catálogo.
Solução de problemas
As primeiras verificações habituais.
- Um responsável vê a análise do time principal: verifique o pacote da linha e os bouquets que ele concede.
- Um novo sócio está sem acesso depois de pagar: verifique no log de chamadas da Reseller API a requisição da loja e a data de vencimento da linha.
- O sinal do jogo engasga no início da partida: verifique o upload do encoder no campo e o heartbeat do node, se houver um atendendo os espectadores.
- O log de auditoria mostra o endereço do proxy: defina TRUSTED_PROXIES com o proxy e reinicie o painel.