---
title: EPG для OTT middleware
url: https://doc2.pstreamer.tv/ru/manual/streamer/epg/middleware.html
lang: ru
product: Perfect Streamer
version: 2.0.2.362
---

# EPG для OTT middleware

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

## Выдача XMLTV

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

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

- наборы создаются на вкладке «Наборы каналов»;
- каналы включаются в наборы в базе данных EPG ([База данных EPG](xmltv.md#streamer-epg-database)); канал может входить в несколько наборов;
- учётной записи назначается один набор — без него выдача пуста.

Документ доступен по пути `/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)](../ott_dvr.md#streamer-dvr-vod).
