Перейти к содержанию

Кастомизация подбора EPG

Добавляя/изменяя параметры в плейлисте, можно очень тонко настраивать подбор EPG и загрузку иконок.

Заголовок плейлиста: #EXTM3U

В нем задаются глобальные параметры плейлиста

url-tvg,x-tvg-url
поддерживаются множественные значения, разделитель ,
ссылаться с канала этот блок можно через tvg-source="#{ЧИСЛО}"
#0
Стандартный параметр, тут обычно указывают ссылки на поставщиков EPG, используемых в листе.
foss-tvg

поддерживаются множественные значения, разделитель ,
источники в этом списке не учитываются при автоподборе, если явно не прописаны на канале
ссылаться с канала этот блок можно через tvg-source="#{КОРОТКОЕ_ИМЯ}"
Тут можно указать дополнительные источники EPG, на которые можно ссылаться с каналов по коротким именам.

Формат записи: {КОРОТКОЕ_ИМЯ}::{ССЫЛКА}, где поле {КОРОТКОЕ_ИМЯ}, может быть записано, как:

  • простослово позволяет ссылаться на этот источник, делая использование этого источника EPG приоритетным (если этот источник поддерживается сервером плеера). В качестве {ССЫЛКА} используется ссылка до каталога с json EPG.
    #1
  • Если короткое имя начинается с символа =, то EPG на каналах с таким же коротким именем, будет грузиться напрямую с совместимого сервера FOSS-EPG, минуя общий запрос на автопоиск EPG.
    #2
  • Специальные короткие имена !epg-server/!ico-server меняют центральный сервер, который занимается автопоиском EPG/значков (ottplay-foss-server-epg), позволяет полностью отвязать работу с EPG от моих серверов. (записывается без закрывающего /)
    #3

Заголовок канала: #EXTINF

В этом блоке указываются параметры поиска EPG, относящиеся к конкретному каналу.

tvg-source/url-tvg

поддерживаются множественные значения, разделитель ,
url-tvg в этом блоке только для совместимости, все ссылки на него в статье подразумевают url-tvg из заголовка #EXTM3U
Отвечает за привязку канала к конкретному поставщику EPG.
Может быть записан как:

  • Начинается с символа #
    • #{ЧИСЛО} #0
      Для такого канала приоритет в поиске EPG отдается источнику, указанному в url-tvg, где {ЧИСЛО} это порядковый номер записи.
    • #{КОРОТКОЕ_ИМЯ} #1
      Для такого канала приоритет в поиске EPG отдается источнику, указанному в foss-tvg, где {КОРОТКОЕ_ИМЯ} это {КОРОТКОЕ_ИМЯ}, прописанное в foss-tvg заголовка.
  • Начинается с символа =
    • ={КОРОТКОЕ_ИМЯ} #2
      Исключает канал из запроса автопоиска EPG и грузит файл программы для канала статично, с сервера FOSS-EPG с таким же коротким именем из foss-tvg, в качестве идентификатора канала используется tvg-id, множественные записи не поддерживаются.
  • любой другой текст - будет обработан, и даже может вернуть программу, если хеш совпадет с тем, что на сервере (например URL до поддерживаемого провайдера на XMLTV без http://), однако такой способ остается для тех, кто знает, что делает, и не рекомендуется обычным пользователям.

Примеры

Простой лист с 3 каналами, программа грузится по схеме:
Все каналы автоподбор

#EXTM3U
#EXTINF:0,Канал 1
http://stream1
#EXTINF:0,Канал 2
http://stream2
#EXTINF:0,Канал 3
http://stream3

Подбирает EPG для всех каналов по схеме:
при условии, что сервер знает ссылки этих провайдеров
Канал 3 iptvx.oneit999автоподбор
Остальные it999iptvx.oneавтоподбор

#EXTM3U url-tvg="https://epg.it999.ru/epg.xml.gz,https://iptvx.one/EPG"
#EXTINF:0,Канал 1
http://stream1
#EXTINF:0,Канал 2
http://stream2
#EXTINF:0 tvg-source="#2",Канал 3
http://stream3

Почти тоже самое, что и #0, но через foss-tvg:
iptvx.one не учитывается в автоподборе, только на 3 канале, где явно прописан Канал 3 iptvx.oneit999автоподбор
Остальные it999автоподбор

#EXTM3U url-tvg="https://epg.it999.ru/epg.xml.gz" foss-tvg="iptvx::https://iptvx.one/EPG"
#EXTINF:0,Канал 1
http://stream1
#EXTINF:0,Канал 2
http://stream2
#EXTINF:0 tvg-source="#iptvx",Канал 3
http://stream3

Статичная загрузка без EPG сервера, для каналов 2 и 3:
Однако статичная загрузка сработает только на канале 3, а 2 пойдет на автоподбор, тк у него отсутствует tvg-id, который обязателен в таком режиме
Канал 3 прямая загрузка для ch3 iptvx.one
Остальные it999автоподбор

#EXTM3U url-tvg="https://epg.it999.ru/epg.xml.gz" foss-tvg="=iptvx::http://epg.ottp.eu.org/iptvx.one/epg/"
#EXTINF:0,Канал 1
http://stream1
#EXTINF:0 tvg-source="=iptvx",Канал 2
http://stream2
#EXTINF:0 tvg-id="ch3" tvg-source="=iptvx",Канал 3
http://stream3

Использование своего epg сервера, аналогичен #0, только Надо, чтобы на локальном сервере были натсроены провайдеры поддерживающие ссылки из url-tvg
Только для иконок: foss-tvg="!ico-server::http://192.168.1.10:3001"
Для EPG и иконок: foss-tvg="!epg-server::http://192.168.1.10:3001,!ico-server::http://192.168.1.10:3001"

#EXTM3U url-tvg="https://epg.it999.ru/epg.xml.gz,https://iptvx.one/EPG" foss-tvg="!epg-server::http://192.168.1.10:3001"
#EXTINF:0,Канал 1
http://stream1
#EXTINF:0,Канал 2
http://stream2
#EXTINF:0 tvg-source="#2",Канал 3
http://stream3