EPG генератор

    eit-stream преобразует файлы XMLTV в поток MPEG-TS с таблицами информации о событиях (EIT) для сетей вещания, таких как DVB, ATSC, ISDB.

    Установка

    Просто скачайте один файл:

    curl -Lo /usr/bin/eit-stream http://cesbo.com/and/eit-stream
    chmod +x /usr/bin/eit-stream

    Настройка

    Создайте файл конфигурации /etc/eit-stream.conf

    xmltv = /opt/xmltv.xml
    output = udp://lo@239.0.0.1:1234
    onid = 8000
    codepage = 5
    eit-days = 1
    eit-rate = 1500
    
    [tdt-tot]
    country = EST
    offset = +120
    
    # Первый мультиплекс
    
    [multiplex]
    tsid = 1
    
    [multiplex/service]
    pnr = 101
    xmltv-id = discovery
    
    [multiplex/service]
    pnr = 102
    xmltv-id = history
    
    # Второй мультиплекс
    
    [multiplex]
    tsid = 2
    xmltv = /opt/xmltv-2.xml
    
    [multiplex/service]
    pnr = 201
    xmltv-id = euronews

    Строка, начинающаяся с символа, # является комментарием и игнорируется парсером.

    Общие настройки:

    • xmltv - путь к xmltv файлу. или http/https ссылка на файл xmltv или gzip xmltv. Этот параметр можно переопределить в [multiplex]или в[multiplex/service]
    • output - UDP-адрес назначения
    • onid - исходный идентификатор сети
    • codepage - кодовая страница. Этот параметр можно переопределить в [multiplex]или в [multiplex/service]. Допустимые значения:
      • 0 - Default. Latin (ISO 6937)
      • 1 - Western European (ISO 8859-1)
      • 2 - Central European (ISO 8859-2)
      • 3 - South European (ISO 8859-3)
      • 4 - North European (ISO 8859-4)
      • 5 - Cyrillic (ISO 8859-5)
      • 6 - Arabic (ISO 8859-6)
      • 7 - Greek (ISO 8859-7)
      • 8 - Hebrew (ISO 8859-8)
      • 9 - Turkish (ISO 8859-9)
      • 10 - Nordic (ISO 8859-10)
      • 11 - Thai (ISO 8859-11)
      • 13 - Baltic Rim (ISO 8859-13)
      • 14 - Celtic (ISO 8859-14)
      • 15 - Western European (ISO 8859-15)
      • 21 - UTF-8
    • eit-days - количество дней в epg. по умолчанию 3
    • eit-rate - битрейт в кбит/с. по умолчанию 15 кбит/с на каждую программу

    Параметры времени и даты в разделе [tdt-tot]:

    • country - код страны в формате ISO 3166-1 alpha-3
    • offset- сдвиг времени со знаком в минутах от GMT. например +120 для GMT+2 или -300 для GMT-5

    Варианты мультиплексирования в разделе [multiplex]:

    • tsid - идентификатор мультиплексного транспортного потока
    • name - необязательное поле для описания мультиплекса

    Описание программы в разделе [multiplex/service]
    -pnr` - номер канала / номер

    • xmltv-id - идентификатор канала в xmltv

    Systemd

    Для запуска службы в фоновом режиме и автоматически при запуске системы зарегистрируйте ее в systemd. Создать файл /etc/systemd/system/eit-stream.service::

    [Unit]
    Description=eit-stream service
    After=network-online.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/eit-stream /etc/eit-stream.conf
    KillMode=process
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target

    Следующие командаы используются для управления сервисом:

    запустить генератор: systemctl start eit-stream
    остановить генератор: systemctl stop eit-stream
    включить автозапуск: systemctl enable eit-stream
    отключить автозапуск: systemctl disable eit-stream

    Чтобы перезапустить генератор один раз ночью, добавьте следующую строку в /etc/crontab:

    0   2   *   *   *   root systemctl restart eit-stream