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).