Início
XtreamUIPro

Guia de configuração

Guia de configuração de Educação e treinamento

Configure a plataforma como um serviço de vídeo de cursos para uma escola, um centro de treinamento ou uma universidade: biblioteca de cursos, acesso dos alunos, aulas ao vivo e a integração com o LMS.

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 curso ou aluno. A tabela diz qual objeto faz qual papel; os capítulos abaixo os configuram nessa ordem.

No seu setorNa plataformaOnde no painel
Centro de treinamento ou parceiro de distribuiçãoConta de parceiro (revendedor): um painel delegado com créditos, permissões e suas próprias linesUsers → adicionar um revendedor; Groups para suas permissões
Coleção de cursosBouquet: um conjunto nomeado de canais, filmes ou séries que um pacote concedeBouquets, a partir de Streams e Movies / Series
Aulas gravadasCatálogo de VOD: filmes e séries com temporadas e episódios, categorias e metadadosMovies e Series, ou a tarefa de ingestão de VOD
Aula ao vivoCanal ao vivo: um stream com suas fontes, EPG e formatos de saídaStreams → adicionar um stream ao vivo (URL de origem ou envio por RTMP)
Acesso do alunoLine: um acesso com seu pacote, bouquets, expiração, limite de conexões e saídasLines → adicionar, ou códigos de ativação, ou a Reseller API
Período de acesso ao cursoData de expiração da line, renovada por um pacote, um crédito ou a APIA data de expiração da line e a duração do pacote
Limite de sessões simultâneasMáximo de conexões da line: quantos dispositivos podem assistir ao mesmo tempoO máximo de conexões da line
Integração com LMS ou plataforma de vendasReseller API e webhooks: as operações do painel a partir do seu próprio sistemaChaves da Reseller API e webhooks no painel do revendedor

Pré-requisitos

O que ter antes de instalar.

  1. Um servidor Linux (Ubuntu 22.04 ou 24.04) na rede do campus com Postgres, Redis e ffmpeg instalados pelo instalador, e um domínio ou um endereço interno para o painel e o player.
  2. As gravações que você vai publicar (arquivos ou um sistema de captura que consiga enviar RTMP) e, para aulas ao vivo, um encoder em cada sala que vai transmitir.
  3. Uma chave de licença: o plano Free não precisa de nenhuma; instituições elegíveis solicitam a chave Professional gratuita por e-mail, a partir do domínio acadêmico.

Implantação da infraestrutura

Instale o servidor de gerenciamento e depois um node por prédio.

  1. Execute o instalador no servidor de gerenciamento; ele instala o painel, a API, o worker e a origem como unidades systemd e cria o primeiro administrador.
  2. Defina a URL pública da API (API_PUBLIC_URL) e a base de reprodução para que os links do player apontem para o endereço do campus.
  3. Registre um node em Servers → adicionar um node para cada prédio cujas salas vão assistir; o painel o instala por SSH a partir do pacote do node.
  4. Confira a página Servers: o node reporta seu heartbeat e tráfego, e os espectadores desse prédio são direcionados a ele.

Organização do conteúdo

Cursos como séries, programas como bouquets e pacotes.

  1. Crie uma categoria por faculdade ou disciplina em Movies / Series.
  2. Adicione cada curso como uma série: uma temporada por módulo, um episódio por aula, com a gravação como fonte (envio ou a tarefa de ingestão de VOD).
  3. Crie um bouquet por coleção de cursos (por exemplo, os cursos de um programa em um período) a partir das séries adicionadas.
  4. Crie um pacote por programa: os bouquets que ele concede, o período de acesso como duração e o limite de sessões simultâneas.

Configuração de parceiros (revendedores)

Um centro de treinamento ou uma faculdade como conta delegada.

  1. Crie um grupo em Groups com as permissões de que o centro precisa (lines próprias, sem alterações no catálogo).
  2. Adicione o centro como revendedor em Users com esse grupo, um saldo de créditos e os pacotes que ele pode distribuir.
  3. Passe a ele o endereço do painel; é de lá que ele gerencia os próprios alunos, e o painel mantém o log de auditoria.

Configuração do acesso dos alunos

Uma line por aluno, criada na matrícula.

  1. Para turmas pequenas, adicione lines em Lines → adicionar com o pacote do programa; a expiração segue a duração do pacote.
  2. Para o dia da matrícula, gere códigos de ativação para o pacote; o aluno resgata um código no player e recebe uma line.
  3. Para um sistema acadêmico ou um LMS, crie uma chave da Reseller API e deixe o sistema criar lines com action=create_line e um ID de requisição por aluno.
  4. Defina o máximo de conexões como o número de dispositivos que um aluno pode usar ao mesmo tempo; o player recusa a conexão seguinte além do limite.

Configuração de VOD

Aulas gravadas sob demanda.

  1. Envie cada gravação como fonte de um episódio, ou aponte a tarefa de ingestão de VOD para o arquivo e deixe o worker baixá-lo e codificá-lo na raiz de mídia.
  2. Preencha os metadados (título, descrição, pôster) manualmente ou pelo TMDB para material público; as aulas geralmente precisam apenas de título e descrição.
  3. Confira a reprodução no player web com uma line de teste; o link é assinado e expira após o tempo configurado.

Streaming ao vivo de aulas

Uma palestra como canal ao vivo.

  1. Adicione um stream ao vivo em Streams com o encoder da sala como fonte (um endereço de envio RTMP ou uma URL de pull).
  2. Coloque o stream no bouquet do curso para que só os alunos matriculados o vejam; adicione-o ao EPG se você mantém uma grade de horários.
  3. Ative catch-up ou timeshift no stream quando os alunos puderem assistir a uma aula depois; a gravação também pode ser enviada como um episódio.

Assinatura e expiração do acesso

Um acesso que termina com o curso.

  1. Dê ao pacote o período de acesso como duração; uma line criada a partir dele expira ao fim desse período.
  2. Renove uma line para um novo período pelo painel, com um crédito do centro, ou pela API com action=renew_line.
  3. Inscreva seu sistema nos webhooks: ele é avisado quando uma line está para expirar, expirou ou foi desativada.

Integração com um LMS externo

O LMS controla o acesso; o player reproduz.

  1. Crie uma chave da Reseller API para o LMS; guarde-a nos segredos do LMS, nunca em uma página.
  2. Na matrícula, o LMS chama action=create_line com o pacote do programa e um ID de requisição; no cancelamento, action=disable_line.
  3. Aponte da página do curso no LMS para o player web ou entregue ao aluno as credenciais do player; não há single sign-on entre os dois.

Considerações de segurança

Mantenha o serviço dentro da instituição.

  1. Ative o login em duas etapas para todas as contas do painel e dê à equipe o menor grupo de permissões que funcione.
  2. Mantenha os dados pessoais dos alunos no sistema acadêmico; a line só precisa de um nome e de uma expiração.
  3. Mantenha o máximo de conexões baixo e considere vincular a reprodução ao endereço do espectador para evitar o compartilhamento.
  4. Ative o backup criptografado do banco de dados e, se você tem armazenamento compatível com S3, a cópia externa.

Solução de problemas

As primeiras verificações habituais.

  1. Um aluno não consegue entrar: verifique a expiração da line e se ela está ativada, depois o pacote e o bouquet do curso.
  2. Uma gravação não reproduz: verifique o resultado da tarefa de ingestão na página Jobs, depois o arquivo na raiz de mídia e a expiração do link assinado.
  3. Os espectadores de um prédio caem na origem: verifique o heartbeat do node e se o endereço do espectador está no roteamento do node.
  4. A API recusa uma chamada: verifique a chave, o método da ação (escritas são POST) e o ID de requisição de uma chamada repetida.