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://[email protected]:1234
onid = 8000
codepage = 5
eit-days = 1
eit-rate = 1500
[tdt-tot]
country = EST
offset = +120
# First multiplex
[multiplex]
tsid = 1
[multiplex/service]
pnr = 101
xmltv-id = discovery
[multiplex/service]
pnr = 102
xmltv-id = history
# Second multiplex
[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
- codepage. Эта опция может быть переопределена в [multiplex]
или в [multiplex/service]
eit-days
- количество дней в epg. по умолчанию 3eit-rate
- битрейт в кбит/с. по умолчанию 15 кбит/с на каждую услугуСледующие кодовые страницы, доступные для кодирования текста:
0
- По умолчанию. Латинский (ISO 6937)1
- Западноевропейский (ISO 8859-1)2
- Центрально-европейский (ISO 8859-2)3
- Южно-европейский (ISO 8859-3)4
- Североевропейский (ISO 8859-4)5
- Кириллица (ISO 8859-5)6
- Арабский язык (ISO 8859-6)7
- Греческий язык (ISO 8859-7)8
- Иврит (ISO 8859-8)9
- Турецкий язык (ISO 8859-9)10
- Nordic (ISO 8859-10)11
- Тайский язык (ISO 8859-11)13
- Балтийское кольцо (ISO 8859-13)14
- Кельтский (ISO 8859-14)15
- Западноевропейский (ISO 8859-15)21
- UTF-8Раздел [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
- возрастное ограничение. Значение определяется парами: страна и возраст. Например: parental-rating = EST 16 USA 14
. Код страны в формате ISO 3166-1 alpha-3 (3 буквы). Возраст от 4 до 18 лет (включительно), 0 - без ограничений.С помощью Astra можно добавлять в MPTS UDP-поток с EIT. В настройках MPTS добавьте вход и задайте UDP-адрес, например, в приведенной выше конфигурации адрес udp://[email protected]:1234
. В дополнительных настройках MPTS включите опцию "Проходить EIT".
Зарегистрируйте сервис в 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