Добавление EPG в MPTS
Здесь вы узнаете, как передать EPG в выходной MPTS поток.
Flussonic может формировать MPTS с встроенным в него электронным расписанием передач. Больше нет необходимости в дополнительном генераторе EPG и ремультиплексоре, чтобы добавлять расписание к программам.
Расписание Flussonic забирает из файлов в формате XMLTV и конвертирует в таблицы EIT служебной информации транспортного потока. В транспортный поток передаётся EIT как для текущего мультиплексора (Actual) так и для других (Other). EPG упаковывается в нужный битрейт, и в UDP мультикаст уходит поток с готовым расписанием.
Описание формата файла можно посмотреть на xmltv.org, а программа в этом формате доступна на teleguide.info.
Как настроить импорт EPG в мультиплексор:
-
В настройки мультиплексора нужно добавить опции EIT для импорта EPG из XMLTV файлов.
-
При каждом обновлении данных в XMLTV файле необходимо перезагрузить файл в мультиплексор API командой.
-
Если номер версии EIT хранится в отдельном файле, то при каждом обновлении данных в XMLTV файле может потребоваться обновить номер версии в файле.
Настройка мультиплексора для передачи EPG
Рассмотрим пример:
transponder tp1 {
program 100 {
title "program1";
eit_title "example_title";
};
other @tp2;
eit {
xmltv_url xmltv_dir1;
interval pf actual=1 other=2;
interval schedule other=20;
}
}
, где:
-
title
— идентификатор канала, в котором указывается значениеchannel id
из XMLTV. -
eit_title
— имя ТВ-канала в XMLTV-файле. Чтобы связать ТВ-программу из XMLTV-файла с конкретным потоком в MPTS, необходимо указать значениеeit_title
равноеdisplay-name
в XMLTV. -
xmltv_url
— путь к каталогу c XML файлами. Может быть просто именем файла, например, xmltv_url /path/to/xmltv.xml. -
interval pf|schedule actual=<INTERVAL 1> other=<INTERVAL 2>
— периодичность отправки таблиц. Расписание передаётся в двух таблицах: текущая/следующая передача (pf) в одной таблице и расписание на несколько дней (schedule) — в другой.pf
— периодичность отправки EIT для present/following (текущая/следующая передача), в секундах.schedule
— периодичность отправки для schedule (расписание на несколько дней), в секундах.actual
— периодичность для программ, передаваемых данным мультиплексором (в примере это tp1).other
— периодичность для программ, передаваемых другим мультиплексором в сети, указанным в опции other (в примере это tp2).
Если установить
interval
равный 0, таблица передаваться не будет.По умолчанию интервал отправки для
actual
(present/following) — 2 c,other
(present/following) — 4 c,actual
(schedule) иother
(schedule) — 60 c.
Tip
Чтобы передавать большой объем данных EPG, можно увеличить interval
и/или уменьшить количество программ.
Перезагрузка расписания в мультиплексор
При обновлении данных расписания в файле их необходимо передать в мультиплексор.
Для того, чтобы Flussonic загрузил обновлённые XMLTV данные из каталога xmltv_url
, нужно выполнить вызов API: POST /streamer/api/v3/multiplexers/{name}/xmltv_upload
Для нашего примера:
/streamer/api/v3/multiplexers/tp1/xmltv_upload
Версия EIT таблицы
При обновлении расписания у EIT меняется версия — число от 0 до 63.
Замечания
Файл XMLTV с сайта teleguide.info может содержать перекрывающиеся по времени передачи. Если такое встречается, то Flussonic более раннюю передачу добавит в EPG, а более позднюю исключит.