Главная
XtreamUIPro

Руководство по настройке

Руководство по настройке: образование и обучение

Настройте платформу как сервис видео курсов для школы, учебного центра или университета: библиотека курсов, доступ студентов, живые занятия и интеграция с LMS.

Эти руководства сопоставляют понятия отрасли с объектами, которые в платформе есть сегодня (букеты, линии, пакеты, аккаунты реселлеров, ноды, API). Это концептуальные соответствия, а не отраслевые функции, и аккаунт реселлера — делегированный аккаунт, а не изолированный тенант.

Концептуальное соответствие

В панели ничто не называется курсом или студентом. Таблица показывает, какой объект какую роль играет; главы ниже настраивают их в этом порядке.

В вашей отраслиНа платформеГде в панели
Учебный центр или партнёр-дистрибьюторАккаунт реселлера: делегированная панель с кредитами, правами и собственными линиямиUsers → добавить реселлера; Groups для его прав
Коллекция курсовБукет: именованный набор каналов, фильмов или сериалов, который открывает пакетBouquets, из Streams и Movies / Series
Записанные урокиVOD-каталог: фильмы и сериалы с сезонами и эпизодами, категориями и метаданнымиMovies и Series либо задача загрузки VOD
Живое занятиеПрямой канал: стрим со своими источниками, EPG и форматами выводаStreams → добавить прямой стрим (URL источника или RTMP-поток)
Доступ студентаЛиния: один доступ со своим пакетом, букетами, сроком действия, лимитом подключений и выводамиLines → добавить, либо коды активации, либо Reseller API
Период доступа к курсуСрок действия линии, который продлевается пакетом, кредитом или через APIСрок действия линии и длительность пакета
Лимит одновременных сессийМаксимум подключений линии: сколько устройств могут смотреть одновременноМаксимум подключений линии
Интеграция с LMS или торговой системойReseller API и webhook: операции панели из вашей собственной системыКлючи Reseller API и webhook в панели реселлера

Требования

Что подготовить до установки.

  1. Linux-сервер (Ubuntu 22.04 или 24.04) в сети кампуса, на который установщик поставит Postgres, Redis и ffmpeg, и домен или внутренний адрес для панели и плеера.
  2. Записи, которые вы будете публиковать (файлы или система захвата, умеющая отправлять RTMP), и для живых занятий — энкодер в каждой аудитории, откуда пойдёт трансляция.
  3. Лицензионный ключ: тарифу Free он не нужен; подходящие учреждения запрашивают бесплатный ключ Professional по e-mail со своего академического домена.

Развёртывание инфраструктуры

Установите управляющий сервер, затем ноду на каждое здание.

  1. Запустите установщик на управляющем сервере; он установит панель, API, worker и origin как юниты systemd и создаст первого администратора.
  2. Задайте публичный URL API (API_PUBLIC_URL) и базу воспроизведения, чтобы ссылки плеера указывали на адрес кампуса.
  3. Подключите ноду через Servers → добавить ноду для каждого здания, аудитории которого будут смотреть; панель установит её по SSH из пакета ноды.
  4. Проверьте страницу Servers: нода сообщает heartbeat и трафик, а зрители этого здания направляются на неё.

Организация контента

Курсы как сериалы, программы как букеты и пакеты.

  1. Создайте по одной категории на факультет или предмет в разделе Movies / Series.
  2. Добавьте каждый курс как сериал: один сезон на модуль, один эпизод на урок, с записью в качестве источника (загрузка или задача загрузки VOD).
  3. Создайте по одному букету на коллекцию курсов (например, курсы программы на семестр) из добавленных сериалов.
  4. Создайте по одному пакету на программу: букеты, которые он открывает, период доступа как длительность и лимит одновременных сессий.

Настройка партнёров (реселлеров)

Учебный центр или факультет как делегированный аккаунт.

  1. Создайте в Groups группу с правами, нужными центру (собственные линии, без изменений каталога).
  2. Добавьте центр как реселлера в Users с этой группой, балансом кредитов и пакетами, которые он может выдавать.
  3. Дайте ему адрес панели; он управляет своими студентами оттуда, а панель ведёт журнал аудита.

Настройка доступа студентов

Одна линия на студента, создаётся при зачислении.

  1. Для небольших потоков добавляйте линии через Lines → добавить с пакетом программы; срок действия определяется длительностью пакета.
  2. На день зачисления сформируйте коды активации для пакета; студент вводит код в плеере и получает линию.
  3. Для студенческой системы или LMS создайте ключ Reseller API и позвольте системе создавать линии с action=create_line и идентификатором запроса на каждого студента.
  4. Задайте максимум подключений равным числу устройств, которыми студент может пользоваться одновременно; плеер отклонит следующее подключение сверх этого.

Настройка VOD

Записанные уроки по запросу.

  1. Загрузите каждую запись как источник эпизода либо укажите файл задаче загрузки VOD, и worker скачает и закодирует его в медиакорень.
  2. Заполните метаданные (название, описание, постер) вручную или из TMDB для публичных материалов; для уроков обычно достаточно названия и описания.
  3. Проверьте воспроизведение в веб-плеере с тестовой линией; ссылка подписана и истекает через заданное время.

Прямые трансляции занятий

Лекция как прямой канал.

  1. Добавьте прямой стрим в Streams, указав энкодер аудитории как источник (адрес RTMP-публикации или URL для получения).
  2. Поместите стрим в букет курса, чтобы его видели только зачисленные студенты; добавьте его в EPG, если ведёте расписание.
  3. Включите catch-up или timeshift на стриме, если студенты могут смотреть занятие позже; запись можно также загрузить как эпизод.

Подписка и срок действия доступа

Доступ, который заканчивается вместе с курсом.

  1. Задайте пакету период доступа как длительность; созданная из него линия истекает по окончании этого периода.
  2. Продлите линию на новый семестр из панели, за кредит центра, либо через API с action=renew_line.
  3. Подпишите свою систему на webhook: она узнает, что линия скоро истечёт, истекла или была отключена.

Интеграция с внешней LMS

LMS управляет доступом; плеер воспроизводит.

  1. Создайте ключ Reseller API для LMS; храните его в секретах LMS, а не на странице.
  2. При зачислении LMS вызывает action=create_line с пакетом программы и идентификатором запроса; при отчислении — action=disable_line.
  3. Ссылайтесь на веб-плеер со страницы курса в LMS или выдайте студенту учётные данные плеера; единого входа между ними нет.

Вопросы безопасности

Держите сервис внутри учреждения.

  1. Включите двухфакторный вход для каждого аккаунта панели и давайте сотрудникам минимально достаточную группу прав.
  2. Храните персональные данные студентов в студенческой системе; линии нужны только имя и срок действия.
  3. Держите максимум подключений низким и рассмотрите привязку воспроизведения к адресу зрителя, чтобы не делились доступом.
  4. Включите зашифрованное резервное копирование базы и, если есть S3-совместимое хранилище, внешнюю копию.

Устранение неполадок

Обычные первые проверки.

  1. Студент не может войти: проверьте срок действия линии и что она включена, затем пакет и букет курса.
  2. Запись не воспроизводится: проверьте результат задачи загрузки на странице Jobs, затем файл в медиакорне и срок действия подписанной ссылки.
  3. Зрители здания попадают на origin: проверьте heartbeat ноды и попадает ли адрес зрителя в маршрутизацию ноды.
  4. API отклоняет вызов: проверьте ключ, метод действия (записи выполняются через POST) и идентификатор запроса при повторных вызовах.