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 plantel ou sócio. 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 |
|---|---|---|
| Feed de jogo ou treino | 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 análise e repetições | 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 |
| Pacote de plantel 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 | 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 |
| Época ou período da adesã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 da equipa ou da academia | 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 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 largura de banda de saída suficiente para os jogos que pretende transmitir.
- A câmara e o codificador no estádio capazes de enviar RTMP e os ficheiros de treino e análise gravados que os seus treinadores já guardam.
- Uma decisão sobre quem vê o quê: que plantéis partilham material, que jogos são só para sócios e que elementos da equipa recebem uma conta do painel.
Implementação da infraestrutura
Primeiro a academia, um nó quando os dias de jogo o exigirem.
- Execute o instalador no servidor da academia e coloque o painel atrás de um proxy inverso com TLS; defina os proxies de confiança para que os registos e 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 os espectadores acedem, para que as ligações emitidas pelo painel funcionem a partir de casa.
- Se muitas famílias virem o mesmo jogo, registe um nó em Servers; o painel instala-o por SSH e distribui o canal em direto a partir dele.
- Crie uma conta de parceiro (revendedor) para a equipa técnica com permissões para o catálogo e nenhuma para as linhas dos sócios.
Organização do conteúdo
Plantéis e épocas como categorias, acesso como bouquets.
- Crie categorias por escalão e por época e séries para as competições, com um episódio por jogo.
- Crie um bouquet por material de análise de cada plantel, um para os canais de jogos em direto e um para toda a academia.
- Crie um pacote por tipo de adesão: os bouquets que concede, com a época como duração e um preço em créditos se a equipa o vender.
- Dê aos bouquets o nome do plantel ou da competição a que pertencem, para que a equipa saiba que pacote dar a uma família.
Configuração de parceiros (revendedores)
Equipa que gere os seus próprios sócios, se o clube o 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 adesões forem vendidas através do painel.
- Uma academia satélite ou um clube de adeptos com sócios próprios recebe a sua própria conta de parceiro e os 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.
- Na inscrição, o sistema chama action=create_line com o pacote da adesão e um id de pedido; a época é a duração do pacote.
- Defina o máximo de ligações como os dispositivos de que uma família precisa (normalmente três ou quatro) para que uma adesão não seja partilhada para além do agregado.
- Para um dia de jogo experimental, adicione uma linha em Lines → add com um pacote de teste ou imprima códigos de ativação para os adeptos na bancada.
Biblioteca de análise e repetições
Jogos e treinos a pedido.
- Carregue cada jogo ou treino como fonte de um episódio, ou ingira-o com a tarefa de ingestão de VOD; mantenha a data, o adversário e o plantel no título.
- Associe a gravação ao bouquet do plantel através da sua série, para que apenas as linhas desse plantel a vejam.
- Verifique a reprodução com uma linha de teste de cada adesão para confirmar quem vê o quê.
Feeds de jogos e treinos
Uma câmara do campo como canal em direto.
- Adicione um stream em direto para cada codificador no estádio (envio RTMP) e coloque-o no bouquet do dia de jogo.
- Ative o catch-up para que uma família que entra tarde possa recuar e adicione a gravação à biblioteca depois do apito final.
- Num dia de jogo concorrido, verifique se o nó obtém o canal uma só vez da origem e serve os espectadores encaminhados para ele.
Validade da adesão
O acesso acompanha a época.
- Uma linha expira no fim do período do seu pacote; a loja renova-a com action=renew_line quando a quota da época seguinte é paga.
- Subscreva a loja nos webhooks para enviar um lembrete em line.expiring e encerrar a adesão em line.expired.
- Um jogador que sai a meio da época é desativado pela loja com action=disable_line; a linha é mantida para os registos.
Integração com a loja ou o software do clube
Os sistemas controlam o acesso; o leitor reproduz.
- Instale o conector da sua plataforma de comércio eletrónico (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 bilhética liga-se através da Reseller API e webhooks; não há conector nativo para ele.
- Não há início de sessão único para espectadores: os sócios entram no leitor com as credenciais da sua linha, que a loja lhes envia.
Considerações de segurança
O material do plantel fica com o plantel.
- 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 a secretaria não possa alterar o catálogo e os treinadores não possam ver as linhas.
- Ligações de reprodução assinadas e com expiração, um limite de ligações por linha e uma associação de IP ou país para as linhas da equipa.
- 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 encarregado de educação vê a análise da equipa principal: verifique o pacote da linha e os bouquets que ele concede.
- Um novo sócio está sem acesso depois de pagar: verifique no registo de chamadas da Reseller API o pedido da loja e a data de validade da linha.
- O feed do jogo engasga no pontapé de saída: verifique o envio do codificador no estádio e o heartbeat do nó, se houver um a servir os espectadores.
- O registo de auditoria mostra o endereço do proxy: defina TRUSTED_PROXIES para o proxy e reinicie o painel.