Inicio
XtreamUIPro

Guía de configuración

Guía de configuración de Educación y formación

Configura la plataforma como un servicio de vídeo de cursos para un colegio, un centro de formación o una universidad: biblioteca de cursos, acceso de estudiantes, clases en directo e integración con el LMS.

Estas guías asignan los conceptos de un sector a los objetos que la plataforma tiene hoy (bouquets, líneas, paquetes, cuentas de socio, nodos, la API). Son correspondencias conceptuales, no funciones específicas de un sector, y una cuenta de socio es una cuenta delegada, no un inquilino aislado.

Correspondencia conceptual

Nada en el panel se llama curso o estudiante. La tabla indica qué objeto desempeña qué papel; los capítulos siguientes los configuran en ese orden.

En tu sectorEn la plataformaDónde en el panel
Centro de formación o socioCuenta de revendedor (reseller): un panel delegado con créditos, permisos y sus propias líneasUsers → añadir un revendedor; Groups para sus permisos
Colección de cursosBouquet: un conjunto con nombre de canales, películas o series que concede un paqueteBouquets, a partir de Streams y Movies / Series
Clases grabadasCatálogo VOD: películas y series con temporadas y episodios, categorías y metadatosMovies y Series, o la tarea de ingesta VOD
Clase en directoCanal en directo: un stream con sus fuentes, EPG y formatos de salidaStreams → añadir un stream en directo (URL de origen o envío RTMP)
Acceso del estudianteLínea: un acceso con su paquete, bouquets, caducidad, límite de conexiones y salidasLines → añadir, o códigos de activación, o la Reseller API
Periodo de acceso al cursoFecha de caducidad de la línea, renovada mediante un paquete, un crédito o la APILa fecha de caducidad de la línea y la duración del paquete
Límite de sesiones simultáneasConexiones máximas de la línea: cuántos dispositivos pueden ver a la vezLas conexiones máximas de la línea
Integración con LMS o comercioReseller API y webhooks: las operaciones del panel desde tu propio sistemaClaves de la Reseller API y webhooks en el panel del revendedor

Requisitos previos

Qué tener antes de instalar.

  1. Un servidor Linux (Ubuntu 22.04 o 24.04) en la red del campus con Postgres, Redis y ffmpeg instalados por el instalador, y un dominio o una dirección interna para el panel y el reproductor.
  2. Las grabaciones que vas a publicar (archivos o un sistema de captura que pueda enviar RTMP) y, para las clases en directo, un codificador en cada aula que vaya a emitir.
  3. Una clave de licencia: el plan Free no necesita ninguna; las instituciones que cumplan los requisitos solicitan la clave Professional gratuita por correo desde su dominio académico.

Despliegue de la infraestructura

Instala el servidor de gestión y después un nodo por edificio.

  1. Ejecuta el instalador en el servidor de gestión; instala el panel, la API, el worker y el origen como unidades de systemd y crea el primer administrador.
  2. Define la URL pública de la API (API_PUBLIC_URL) y la base de reproducción para que los enlaces del reproductor apunten a la dirección del campus.
  3. Registra un nodo desde Servers → añadir un nodo para cada edificio cuyas aulas vayan a ver; el panel lo instala por SSH a partir del paquete de nodo.
  4. Comprueba la página Servers: el nodo informa de su latido y su tráfico, y los espectadores de ese edificio se dirigen a él.

Organización del contenido

Cursos como series, programas como bouquets y paquetes.

  1. Crea una categoría por facultad o asignatura en Movies / Series.
  2. Añade cada curso como una serie: una temporada por módulo, un episodio por clase, con la grabación como fuente (subida o la tarea de ingesta VOD).
  3. Crea un bouquet por colección de cursos (por ejemplo, los cursos de un programa durante un trimestre) a partir de las series que añadiste.
  4. Crea un paquete por programa: los bouquets que concede, el periodo de acceso como duración y el límite de sesiones simultáneas.

Configuración de socios (revendedores)

Un centro de formación o una facultad como cuenta delegada.

  1. Crea en Groups un grupo con los permisos que necesita el centro (líneas propias, sin cambios en el catálogo).
  2. Añade el centro como revendedor en Users con ese grupo, un saldo de créditos y los paquetes que puede entregar.
  3. Dale la dirección del panel; desde allí gestiona a sus propios estudiantes, y el panel conserva el registro de auditoría.

Configuración del acceso de los estudiantes

Una línea por estudiante, creada en la matrícula.

  1. Para grupos pequeños, añade líneas desde Lines → añadir con el paquete del programa; la caducidad sigue a la duración del paquete.
  2. Para el día de la matrícula, genera códigos de activación para el paquete; el estudiante canjea un código en el reproductor y obtiene una línea.
  3. Para un sistema de estudiantes o un LMS, crea una clave de la Reseller API y deja que el sistema cree líneas con action=create_line y un identificador de solicitud por estudiante.
  4. Define las conexiones máximas con el número de dispositivos que un estudiante puede usar a la vez; el reproductor rechaza la siguiente conexión que lo supere.

Configuración de VOD

Clases grabadas bajo demanda.

  1. Sube cada grabación como fuente de un episodio, o apunta la tarea de ingesta VOD al archivo y deja que el worker lo descargue y lo codifique en la raíz de medios.
  2. Rellena los metadatos (título, descripción, póster) a mano o desde TMDB para el material público; las clases suelen necesitar solo un título y una descripción.
  3. Comprueba la reproducción en el reproductor web con una línea de prueba; el enlace está firmado y caduca pasado el tiempo configurado.

Streaming de aulas en directo

Una clase magistral como canal en directo.

  1. Añade un stream en directo en Streams con el codificador del aula como fuente (una dirección de envío RTMP o una URL de descarga).
  2. Pon el stream en el bouquet del curso para que solo lo vean los estudiantes matriculados; añádelo a la EPG si llevas un horario.
  3. Activa catch-up o timeshift en el stream cuando los estudiantes puedan ver una clase más tarde; la grabación también puede subirse como episodio.

Suscripción y caducidad del acceso

Un acceso que termina con el curso.

  1. Da al paquete el periodo de acceso como duración; una línea creada a partir de él caduca al final de ese periodo.
  2. Renueva una línea para un nuevo trimestre desde el panel, con un crédito del centro, o mediante la API con action=renew_line.
  3. Suscribe tu sistema a los webhooks: se le avisa cuando una línea está a punto de caducar, ha caducado o se ha desactivado.

Integración con un LMS externo

El LMS gestiona el acceso; el reproductor reproduce.

  1. Crea una clave de la Reseller API para el LMS; guárdala en los secretos del LMS, nunca en una página.
  2. En la matrícula el LMS llama a action=create_line con el paquete del programa y un identificador de solicitud; en la baja, a action=disable_line.
  3. Enlaza desde la página del curso del LMS al reproductor web o da al estudiante las credenciales del reproductor; no hay inicio de sesión único entre ambos.

Consideraciones de seguridad

Mantén el servicio dentro de la institución.

  1. Activa el inicio de sesión en dos pasos en todas las cuentas del panel y da al personal el grupo de permisos más pequeño que funcione.
  2. Guarda los datos personales de los estudiantes en el sistema de estudiantes; la línea solo necesita un nombre y una caducidad.
  3. Mantén bajas las conexiones máximas y considera vincular la reproducción a la dirección del espectador para evitar que se comparta.
  4. Activa la copia de seguridad cifrada de la base de datos y, si tienes almacenamiento compatible con S3, la copia externa.

Resolución de problemas

Las primeras comprobaciones habituales.

  1. Un estudiante no puede iniciar sesión: comprueba la caducidad de la línea y que esté activada, y después el paquete y el bouquet del curso.
  2. Una grabación no se reproduce: comprueba el resultado de la tarea de ingesta en la página Jobs, después el archivo en la raíz de medios y la caducidad del enlace firmado.
  3. Los espectadores de un edificio llegan al origen: comprueba el latido del nodo y que la dirección del espectador entre en el enrutamiento del nodo.
  4. La API rechaza una llamada: comprueba la clave, el método de la acción (las escrituras son POST) y el identificador de solicitud de una llamada reintentada.