Локальный EPG сервер
Инструкция устарела и требует обновления
Это базовая инструкция, которая описывает самый простой процесс запуска локального EPG сервера.
Я не консультирую по вопросам "Хочу свой сервер EPG, но ничего не понимаю". Вся информация, и помощь которую я могу предоставить, описана тут.
Теория
Для полностью независимого EPG потребуется: * ott-play-epg-converter * ottplay-foss-server-epg * устройство, где эти 2 компонента будут работать * возможность изменить заголовок плейлиста
Эта цепочка довольно просто связывается в систему:
* ott-play-epg-converter
подготавливает файлы тв программы для плеера
* потом, ottplay-foss-server-epg
собирает позволяет искать каналы по этим файлам, и предоставляет к ним доступ
* а изменения в плейлиста позволяют плееру понять, что надо использовать другой сервер для поиска телепрограммы
Практика
Самым понятным способом как это настроить будет практический пример. Для примера мы будем запускать свой сервер EPG для 2 источников: it999 и iptvx.one.
⚠️ В примере используется ip адрес 192.168.1.10
в Вашем случае это должен быть адрес устройства, на котором запускается сервер.
Подготовка файлов
Создаем каталог, например my-ottfoss-epg
, скачиваем и распаковываем в него последние релизы ott-play-epg-converter и ottplay-foss-server-epg для своей платформы. Дальше все манипуляции будут в этом каталоге.
В этом примере я дополнительно переименовал файлы в ofoss-epg-conv.exe
и ofoss-epg-serv.exe
Настройка ott-play-epg-converter
Теперь надо настроить converter на источники EPG, для этого необходимо знать адрес их расположения и, желательно альтернативные ссылки на эти EPG.
Для it999
основная ссылка http://epg.it999.ru/epg.xml.gz
, однако есть альтернативные, например http://epg.it999.ru/epg2.xml.gz, http://epg.it999.ru/epg.xml
итд, альтернативные ссылки нужны для того чтобы сервер мог определять этого поставщика по заголовку в в плейлисте.
Аналогично для iptvx.one
, основная https://iptvx.one/EPG
альтернативные https://iptvx.site/epg.xml.gz, https://iptvx.one/epg/epg.xml.gz
Создадим конфиг-файл например с именем conv.json
и запишем в него параметры исходя из информации выше:
[
{"id":"it999", "urls": ["http://epg.it999.ru/epg.xml.gz", "http://epg.it999.ru/epg2.xml.gz", "http://epg.it999.ru/epg.xml"]},
{"id":"iptvx.one", "urls": ["https://iptvx.one/EPG", "https://iptvx.site/epg.xml.gz", "https://iptvx.one/epg/epg.xml.gz"]}
]
Также необходимо создать каталог html
, в который будут записаны файлы телепрограммы.
ℹ️ Кстати в каталог html
можно положить свой плейлист, и забирать его от туда по ссылке http://192.168.1.10:3001/html/my-super-list.m3u
Для удобного запуска создадим run_conv.bat
(windows):
@echo off
cd /d "%~dp0html"
..\ofoss-epg-conv.exe -c "..\conv.json"
Настройка ottplay-foss-server-epg
Теперь надо настроить сервер, на использование EPG после конвертора.
Сервер может выступать в качестве веб сервера, поэтому в этом случае мы и создавали дополнительно каталог html
, epg-converter будет складывать результат своей работы.
Также по умолчанию сервер запускается в режиме localhost, поэтому в примере будет определен параметр bind
который "включит" сервер на всю сеть.
Конфиг файл должен называться config.json
и для 2 источников из примера будет выглядеть так:
{
"bind":":3001",
"providers": [
{"id": "it999", "base_url": "http://192.168.1.10:3001/html/it999/"},
{"id": "iptvx.one", "base_url": "http://192.168.1.10:3001/html/iptvx.one/"}
]
}
Запуск
Перед запуском сервера, необходимы первоначальные данные по именам каналов, которые создаст конвертер, поэтому запускаем сначала run_conv.bat
, а как он закончит (в каталоге html должны появиться файлы), можно запускать и сам сервер ofoss-epg-serv.exe
В консоли должны появиться строчки вида:
2022-06-14T17:38:05 INF it999 updated, names=1826, epg=1827 outdated=54, icon=1790
2022-06-14T17:38:05 INF iptvx.one updated, names=1792, epg=1793 outdated=14, icon=1732
run_conv.bat
, 1 раза в день более чем достаточно.Сервер запущен и работает, самое время переключить на него плеер.
Настройка плеера
Для того, чтобы переключить плеер на использование локального сервера epg
необходимо в заголовке указать параметр foss-tvg="!epg-server::http://192.168.1.10:3001"
или еще с иконками foss-tvg="!epg-server::http://192.168.1.10:3001,!ico-server::http://192.168.1.10:3001"
Вот плейлист до модификаций
#EXTM3U x-tvg-url="http://epg.it999.ru/epg.xml.gz"
#EXTINF:0 group-title="новости" tvg-id="2264" tvg-logo="http://epg.it999.ru/img/2264.png" tvg-rec="0",Инфоканал
http://localhost/iptv/00000000000000/407/index.m3u8
#EXTINF:0 group-title="новости" tvg-id="743" tvg-logo="http://epg.it999.ru/img/743.png" tvg-rec="7",РБК-ТВ
http://localhost/iptv/00000000000000/106/index.m3u8
#EXTINF:0 group-title="новости" tvg-id="2980" tvg-logo="http://epg.it999.ru/img/2980.png" tvg-rec="0",FOX News Extra AU
http://localhost/iptv/00000000000000/6116/index.m3u8
#EXTINF:0 group-title="новости" tvg-id="427" tvg-logo="http://epg.it999.ru/img/427.png" tvg-rec="7",Пятый канал
http://localhost/iptv/00000000000000/112/index.m3u8
а вот после
#EXTM3U x-tvg-url="http://epg.it999.ru/epg.xml.gz" foss-tvg="!epg-server::http://192.168.1.10:3001,!ico-server::http://192.168.1.10:3001"
#EXTINF:0 group-title="новости" tvg-id="2264" tvg-logo="http://epg.it999.ru/img/2264.png" tvg-rec="0",Инфоканал
http://localhost/iptv/00000000000000/407/index.m3u8
#EXTINF:0 group-title="новости" tvg-id="743" tvg-logo="http://epg.it999.ru/img/743.png" tvg-rec="7",РБК-ТВ
http://localhost/iptv/00000000000000/106/index.m3u8
#EXTINF:0 group-title="новости" tvg-id="2980" tvg-logo="http://epg.it999.ru/img/2980.png" tvg-rec="0",FOX News Extra AU
http://localhost/iptv/00000000000000/6116/index.m3u8
#EXTINF:0 group-title="новости" tvg-id="427" tvg-logo="http://epg.it999.ru/img/427.png" tvg-rec="7",Пятый канал
http://localhost/iptv/00000000000000/112/index.m3u8
Поздравляю!
Теперь плеер, по такому плейлисту, за EPG будет обращаться к локальному серверу по адресу 192.168.1.10:3001