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. по умолчанию 3eit-rate
- битрейт в кбит/с. по умолчанию 15 кбит/с на каждую программу
Параметры времени и даты в разделе [tdt-tot]:
country
- код страны в формате ISO 3166-1 alpha-3offset
- сдвиг времени со знаком в минутах от GMT. например+120
для GMT+2 или-300
для GMT-5
Варианты мультиплексирования в разделе [multiplex]:
tsid
- идентификатор мультиплексного транспортного потокаname
- необязательное поле для описания мультиплекса
Описание программы в разделе [multiplex/service]
-
pnr` - номер канала / номер
xmltv-id
- идентификатор канала в xmltvparental-rating
= возрастное ограничение. Указывается парами: страна и возраст.
код страны в формате ISO 3166-1 alpha-3 (3 буквы). возраст от 4 до 18 (включительно), 0 - без ограничений.
если канал вещается на несколько стран, то код нужно указать последовательно: телевизор сам выберет нужное в зависимости от своих настроек
напримерparental-rating = EST 16 RUS 14 UKR 14
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