EPG для OTT middleware

Программа передач из базы EPG выдаётся внешним системам — приставкам, приложениям и OTT middleware — двумя способами: полным документом XMLTV через выделенный EPG-сервер и суточной программой канала в JSON через HTTP API узла.

Выдача XMLTV

XMLTV раздаёт отдельный встроенный EPG-сервер. Он включается на экране «EPG-сервер» (EPG-сервер): «Включить EPG-сервер», HTTP-порт (по умолчанию 43973), при необходимости HTTPS с сертификатом (порт по умолчанию 43983) и «Имя хоста».

Доступ — по учётным записям (вкладка «Учётные записи» экрана «Настройки EPG», Настройки EPG): логин и пароль, «Набор каналов», «Дата окончания» действия, «Разрешённый IP» и признак «Приостановлен». Состав выдачи определяется набором каналов:

  • наборы создаются на вкладке «Наборы каналов»;

  • каналы включаются в наборы в базе данных EPG (База данных EPG); канал может входить в несколько наборов;

  • учётной записи назначается один набор — без него выдача пуста.

Документ доступен по пути /xmltv/xmltv.gz — сжатый файл); авторизация — HTTP Digest либо через параметры запроса. Время передач выдаётся с часовым поясом канала; в документ попадают только текущие и будущие события. Если один и тот же идентификатор канала пришёл из разных источников, канал выдаётся один раз, о пропуске сообщает журнал.

Суточная программа в JSON

Для интерфейсов middleware узел отдаёт программу канала за сутки одним запросом к HTTP API в формате JSON (авторизация — как у остальных запросов API):

GET /data/epg/channel?src=<источник>&ch=<канал>&lang=<язык>&t=<время>

Возвращается список событий суток (по UTC), в которые попадает время t: начало, конец, название и описание каждой передачи на запрошенном языке; если перевода нет, используется язык по умолчанию, затем любой доступный. Пустые сутки — валидный пустой список. Ответы кешируются сервером и обновляются автоматически при поступлении новых данных EPG.

Встроенный кеш рассчитан примерно на тысячу одновременных клиентов; для более крупных инсталляций и XMLTV-, и JSON-выдачу рекомендуется закрывать кеширующим обратным прокси или CDN.

Воспроизведение архива DVR по событию программы передач (параметр epg в URL воспроизведения) описано в Воспроизведение архива (VOD).