Skip to content

Добавление EPG в MPTS

Здесь вы узнаете, как передать EPG в выходной MPTS поток.

Flussonic может формировать MPTS с встроенным в него электронным расписанием передач. Больше нет необходимости в дополнительном генераторе EPG и ремультиплексоре, чтобы добавлять расписание к программам.

Расписание Flussonic забирает из файлов в формате XMLTV и конвертирует в таблицы EIT служебной информации транспортного потока. В транспортный поток передаётся EIT как для текущего мультиплексора (Actual) так и для других (Other). EPG упаковывается в нужный битрейт, и в UDP мультикаст уходит поток с готовым расписанием.

Описание формата файла можно посмотреть на xmltv.org, а программа в этом формате доступна на teleguide.info.

Как настроить импорт EPG в мультиплексор:

  1. В настройки мультиплексора нужно добавить опции EIT для импорта EPG из XMLTV файлов.

  2. При каждом обновлении данных в XMLTV файле необходимо перезагрузить файл в мультиплексор API командой.

  3. Если номер версии 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, а более позднюю исключит.