Плагин для создания стандартных букетов E2 из m3u плейлиста ЛЮБОГО IPTV провайдера в "один" клик
Поддерживает любое количество провайдеров IPTV, создает стандартные userbouquets E2 из m3u-плейлиста (Extended M3U: M3U — Википедия), автоматически скачивает logo каналов и создает их picon в заданной папке, обновляет плейлисты с заданной периодичноcтью, автоматически импортирует события из XMLTV плейлиста. Понимает и "перваривает" плейлисты в любой кодировке, любых алфавитах, любой "сложности" с любыми тегами и директивами m3u-плейлиста, поддерживает создание "кастомной" сортировки, переопределение названий групп, названий каналов, channel_id EPG и т.д. и т.п. Python2 & Python3 Supported !
Минимальное допустимое требование к содержимому строк плейлиста:
"Подсовываемый" плейлист может быть url-link или файл. Для того чтобы указать путь к файлу нужно задать его в схеме file://, вместо http:// или https://. Например:
Спойлер:
/hdd/myplaylists/iptv.m3u - тут расположен Ваш "локальный" плейлист file:///hdd/myplaylists/iptv.m3u - вот так должна быть указана ссылка для скачивания в поле M3U url
После запуска плагина достаточно указать в настройках ссылку на плейлист Вашего провайдера IPTV и EPG (опционально) в "Providers" и нажать "Create bouquets". Если ссылка на EPG не указана Вами в поле 'EPG url' в настройках плагина, то плагин возьмет ссылку на EPG из плейлиста в директиве #EXTM3U (обычно все IPTV провайдеры ее там дают), если ее нет, то EPG не будет и нужно пользоваться функционалом override.xml (см. "алгоритм лечения скудоумия")
Спойлер:
Приоритетным всегда является EPG заданное в настройках, которое вы вносите с пульта или заполняете в config.xml, если в config.xml - "пусто" вместо ссылки на epg и в самом плейлисте нет ссылки на EPG провайдера, то в данном случае по умолчанию будет установлен EPG от r.rusya и все значения tvg-id каналов плейлиста будут принудительно приведены к дефолтным значениям по channel name если плейлист НЕ содержит тега tvg-id "привязки" к EPG и ссылок на EPG в тегах url-epg или url-tvg, то плагин делает генерацию channel_id по наименованию канала из Вашего плейлиста и если этот "ключ" совпадает с channel_id дефолтного EPG, то при использовании CrossEPG и EPGImporter у Вас появится отображение EPG. Наилучшее показатели будут у тех плейлистов, у которых наименование каналов, полностью совпадает с наименованием каналов с "горизонта", т.е. так как они идут "на спутнике".
Результат "работы" плагина будет выглядеть в "избранном/favourites" вашей E2 как-то так:
Спойлер:
[ Гостям не разрешен просмотр вложений ][ Гостям не разрешен просмотр вложений ][ Гостям не разрешен просмотр вложений ][ Гостям не разрешен просмотр вложений ]
Алгоритм лечения "скудоумия" эвристики "подбора" EPG, а так же "тонкого тюнинга" под любые индивидуальные "хочухи" В случае если Ваш провайдер не предоставляет EPG, а "автоподбор" сделал это "скудно" или Вам хочется бОльшего
Спойлер:
1) В "карточке" настроек провайдера выбираем метод сортировки - "пользовательский". Создаем букеты. В /etc/enigma2/E2m3u2bouquet/epg (или в E2m3u2bouquet/epg на HDD/USB) переименовываем *****-sort-current.xml в ****-sort-override.xml, где "*****" - имя плейлиста данное ему "при рождении" в настройках плагина в Providers в поле "Имя". В channels.xml выглядит так
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.4) сморим содержимое xmltv-t-sd.xml и находим channel_id нужного нам канала, где автоматом не появилось EPG, но очень хочется, например Россия 1 ,
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.5) в ****-sort-override.xml в tvg-id прописываем как надо, т.е. в п4), для канала "Россия 1"
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра. Пункты 4) и 5) проделываем "до посинения" для каждого из каналов по которым "хочуха" глаза режет , не забываем сохранить изменения в ****-sort-override.xml
6) Заходим в плагин и "Create bouquets" , не забываем включить в "конфигурации" - импортировать EPG после создания букетов
Наслаждаемся EPG
Все дальнейшие правки и "хочухи" вносятся в созданный Вами ****-sort-override.xml и будут "из него подхватываться" при следующем "генерировании" букетов плагином. В этом же файле Вы можете делать переназначения для наименования каналов, групп, менять принадлежность каналов той или иной группе, их сортировку, подключать дополнительные источники EPG и т.д.
Обо всех изменениях, а их ой как много в сравнении с оригиналом, можно почитать бегло перелистывая данную ветку форума или отфильтровав по слову ОБНОВА
P.S. Если нет желания "колотить" с пульта "букаффки"- создайте хоть одного провайдера через GUI. Напишите в поле "Имя" что угодно, лишь бы создать файл конфига. А потом через FTP/SSH/telnet отредактируйте /etc/enigma2/E2m3u2bouquets/config.xml (или E2m3u2bouquet/config.xml на HDD/USB), можете там провайдеров множить копированием сколько угодно.. Вся информация что к чему - присутствует в комментариях в данном файле. Процедура в "картинках" и пошагово описана в посте под спойлером
Количество "кликов" или сканирований - не ограничено
FAQ (Наиболее часто задаваемые вопросы)
Как сделать лог работы плагина
Спойлер:
Если Вы редактируете файлы переписывая их туда/сюда в OC Windows необходимо использовать NotePad++ ! Подключаемся к ресиверу по SSH или telnet, запускаем для удобства Midnigth Commander (mc) и 1) Для того чтобы включить нужный уровень логгирования перейти в /usr/lib/enigma2/python/Plugins/Extensions/E2m3u2bouquet и там отредактировать файл config.py , указав в нем уровень логгирования (самый подробный лог - DEBUG). Внимательно читайте коментарии в файле. Там более чем подробно! 2) Рестарт GUI 3) Повторить действия вызвавшие "краш" или "непонятки в работе" 4) Зайти в пункт меню "Показать лог". Сохранить файл в ресивер. Отправить файл лога мне в личку. В общаке светить его не нужно
Лог работы всей системы - будут видны ошибки в работе плага и всей системы: Выпоняем пункты 1) и 2) предыдущего абзаца, подключаемся к ресиверу по SSH или telnet, затем: init 4; ENIGMA_DEBUG_LVL=6 enigma2 2>&1 | tee /tmp/e2m3u2bouquet.log
ЛОГ В ЛИЧКУ !
Посты с жалобами на некорректную работу плагина без подкрепления логом работы оного удаляются автоматом! При повторе автор поста получает читательский билет минимум на неделю! Читайте материал топика прежде чем что-то тут написать или спросить.
Как выглядит конфиг-файл (config.xml) для нескольких провайдеров
Спойлер:
<config> <supplier> <name>SUPPLIER 1</name><!-- Supplier Name --> <enabled>1</enabled><!-- Enable or disable the supplier (0 or 1) --> <settingslevel>simple</settingslevel> <m3uurl><![CDATA[hhhhh/get.php?username=USERNAME&password=PASSWORD&type=m3u_plus&output=ts]]></m3uurl><!-- Extended M3U url --> <epgurl><![CDATA[hhhhh/xmltv.php?username=USERNAME&password=PASSWORD&next_days=7]]></epgurl><!-- XMLTV EPG url --> <username><![CDATA[uuuuu]]></username><!-- (Optional) will replace USERNAME placeholder in urls --> <password><![CDATA[ppppp]]></password><!-- (Optional) will replace PASSWORD placeholder in urls --> <providerupdate><![CDATA[]]></providerupdate><!-- (Optional) Provider update url --> <iptvtypes>0</iptvtypes><!-- Change all TV streams to IPTV type (0 or 1) --> <streamtypetv></streamtypetv><!-- (Optional) Custom TV stream type (e.g. 1, 4097, 5001 or 5002 --> <streamtypevod></streamtypevod><!-- (Optional) Custom VOD stream type (e.g. 4097, 5001 or 5002 --> <multivod>0</multivod><!-- Split VOD into seperate categories (0 or 1) --> <allbouquet>0</allbouquet><!-- Create all channels bouquet (0 or 1) --> <picons>0</picons><!-- Automatically download Picons (0 or 1) --> <xcludesref>1</xcludesref><!-- Disable service ref overriding from override.xml file (0 or 1) --> <bouqueturl><![CDATA[]]></bouqueturl><!-- (Optional) url to download providers bouquet - to map custom service references --> <bouquetdownload>0</bouquetdownload><!-- Download providers bouquet (uses default url) must have username and password set above - to map custom service references --> <bouquettop>0</bouquettop><!-- Place IPTV bouquets at top (0 or 1) --> </supplier> <supplier> <name>SUPPLIER 2</name><!-- Supplier Name --> <enabled>1</enabled><!-- Enable or disable the supplier (0 or 1) --> <settingslevel>simple</settingslevel> <m3uurl><![CDATA[hhhhh/get.php?username=USERNAME&password=PASSWORD&type=m3u_plus&output=ts]]></m3uurl><!-- Extended M3U url --> <epgurl><![CDATA[hhhhh/xmltv.php?username=USERNAME&password=PASSWORD&next_days=7]]></epgurl><!-- XMLTV EPG url --> <username><![CDATA[uuuuu]]></username><!-- (Optional) will replace USERNAME placeholder in urls --> <password><![CDATA[ppppp]]></password><!-- (Optional) will replace PASSWORD placeholder in urls --> <providerupdate><![CDATA[]]></providerupdate><!-- (Optional) Provider update url --> <iptvtypes>0</iptvtypes><!-- Change all TV streams to IPTV type (0 or 1) --> <streamtypetv></streamtypetv><!-- (Optional) Custom TV stream type (e.g. 1, 4097, 5001 or 5002 --> <streamtypevod></streamtypevod><!-- (Optional) Custom VOD stream type (e.g. 4097, 5001 or 5002 --> <multivod>0</multivod><!-- Split VOD into seperate categories (0 or 1) --> <allbouquet>0</allbouquet><!-- Create all channels bouquet (0 or 1) --> <picons>0</picons><!-- Automatically download Picons (0 or 1) --> <xcludesref>1</xcludesref><!-- Disable service ref overriding from override.xml file (0 or 1) --> <bouqueturl><![CDATA[]]></bouqueturl><!-- (Optional) url to download providers bouquet - to map custom service references --> <bouquetdownload>0</bouquetdownload><!-- Download providers bouquet (uses default url) must have username and password set above - to map custom service references --> <bouquettop>0</bouquettop><!-- Place IPTV bouquets at top (0 or 1) --> </supplier> </config>
Если у меня "сгенерировались" букеты, а ничего не показывает
Спойлер:
В данном случае надо: или в Providers в нужном Вам "провайдере" - включить Setup mode: expert и затем или All IPTV type: Включить или выбрать нужный в меню Live Player Type, сохранить изменения, тогда будет использоваться плеер по умолчанию установленный в системе для не DVB потоков или конкретно выбранный Вами. или в config.xml для соответствующего провайдера поставить свой тип плеера для воспроизведения не DVB потоков <streamtypetv></streamtypetv>, в зависимости от установленного в системе После чего - Create bouquets, т.е. перегенерировать букеты для плейлистов
Нет EPG на каналах
Спойлер:
Отсутствие EPG может быть из-за: 1) ошибок провайдера IPTV допущенных им при формировании m3u-плейлиста и тегов "вязки" tvg-id c channel_id предоставляемого им EPG. 2) отсутсвия ссылки на EPG в используемом m3u плейлисте провайдера. В любом случае - лог работы плагина позаолит поставить "диагноз"
Для EdemTV (iLook), автоматическое приведение плейлиста к "нормальному" виду
Для адептов "мыльной оперы" , т.е. почитателей и прихожан EdemTV (iLook) я принес благую весть
Нарыл на просторах инета "правильных пацанов" с сервисом - https://epg.it999.ru . Не понравились некоторые моменты в виде
Спойлер:
3) заменить в этом файле “localhost” на ваш домен и “00000000000000” на ваш ключ 4) удалить ненужные каналы, при необходимости упорядочить на свой вкус
Вот это я совсем "дурной на голову" сидеть и руцями 100500 строк "грести" ... Ага счассс.... Посему "настрогал" с утричка "по шурику" башик .... Ногами не пинать можно сделать более "фельдеперсово", но и так сойдет
Для работы скрипта нужны утилитки curl, sed, awk и bash-ик версии 4+ ... Если у Вас их нет на ресе, то
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.После распаковки будет три файла для формирования плейлистов с группировкой каналов соответствующих СТАНДАРТ (standard) и ТЕМАТИЧЕСКИЙ(thematic) и УПОРЯДОЧЕННЫЙ НА БАЗЕ ТЕМАТИЧЕСКОГО(orderd) из личного кабинета Edem (iLook). Во первых строках нужного Вам скрипта меняем на СВОИ:
HOST - доменное имя из ссылки на поток в родном плейлисте или оставляете уже существующий в скрипте KEY - ключ доступа из личного кабинета Edem (iLook)
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.Далее ЗРЯЧЕ читаем комментарии ибо ниже в скрипте находится секция где с помощью задания "1" или "0" добавляются/исключаются нужные/не нужные категории из оригинального плейлиста. Выставляем под себя при необходимости. Запускаем:
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.Все ... В той папке, из которой вы запустили скрипт, у Вас два "праведных" плейлиста (с сортировкой как у прова и по алфавиту) с полным EPG и иконками каналов для использования с данным плагином в том числе !
Спойлер:
[ Гостям не разрешен просмотр вложений ]
Следует понимать что термин "та папка" это не обязательно папка в которую были переписаны скрипты ... "та папка" - это текущая рабочая директория из которой скрипт был вызван для выполнения ! Например , скрипт переписан был в папку /hdd/scripts/ , а вызван был из "папки" /hdd/M3U/ вот так /hdd/scripts/edem_ordered.sh ....
Всем привет ... не в курю ни как что это за нумерация в bouquets.tv/SERVICE 1:7:1:0:0:0:0:0:1010101:a3ad:FROM BOUQUET где почитать может кто подскажет? по нулям их можно делать? я так понимаю последнее значение генереться для уникальности букета a3ad ?
А что дядя Гугл ? Молчит ? .... Открою тайну "золотого ключика" ... там, если поискать, есть даже допустимые значения и "разрядность" перечисленных выше "полей" serviceref и что каждое из них означает и для чего служит 3) Если п2) не помог - исходники практически ЛЮБЫХ имиджей E2 доступны на github, там все читаемо и понятно... Есть ответ на любой вопрос 4)
ДА .... используется "допустимая" секция UNUSED , ибо все остальные - заняты , смотри п1) ... только для уникальности букета для провайдера .... Ибо вероятность того что у двух разных провайдеров будет "группа" "Детские" или "Кино" - практически 100% .... "Связка" bouquets.tv + userbouquets.tv, в "идеологии" фреймворка Enigma2 - это некая "двухуровневая" база данных где в bouquets.tv хранятся "ключи"-ссылки на соответсвующие userbouquets.tv ....
то что после обработке dreamboxEDIT (ом) эти 2 значения обнуляються я так понимаю плагин твой их зря прописывает или что?
1) Кто Вам сказал что DreamBox Edit , написанный кем-то и когда-то, для DreamOS древних DM800 ... скажем так , до конца корректно выписан в части стандарта, ссылку на который я Вам выложил выше? 2) Как там в DreamBox Edit обстоят дела с редактированием/экспортом/импортом/"обработкой" записей 5001:0:1 или 5002:0:1 ? 3) У меня "зря" - ничего не прописывает .... Учите мат часть..... Еще раз перечитайте пункт 5) моего вам предыдущего ответа
3) У меня "зря" - ничего не прописывает .... Учите мат часть..... Еще раз перечитайте пункт 5) моего вам предыдущего ответа
из пункта 5 меня интересует только UNUSED и то можно сказать уже не интересует так как я только одного прова смотрю.. а остальное из этого пункта так сказать мать часть как вы выражаетесь было учтено ещё мной при царе горохе..
скрипты рулят ... sed в помощь.. после обработке естественно..
Между нами "рулевыми" .... Я изначально всю эту "генерацию" на башике настрогал для себя без всяких "обработок" в DreamBox Edit , для одного прова, еще за царя Гороха... но потом решил помочь "пастве" , ну кто "рулить" не умеет ... Но чем дальше, тем больше убеждаюсь, что Шапокляк в своей песенке о "кто людям помагает...." - была права .... Сидели бы до сих пор руцями редактировали букеты и привязывали пиконы от спутниковых каналов тратя на это пол дня в NotePad++ и DreamBox Edit.... И то не все .... О EPG - вообще молчу ... НО! О некорректности DreamEdit - это был ответ Вам , так что "претензия" - не засчитана
p.s. Вот тут можно , частично, ознакомится c уровнем моего владения sed и awk - iLook_parser - Pastebin.com ..... и, как мне кажется, я немного дальше "продвинулся" чем
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра. Думаю имеющиеся там "наработки" парсинга ЛЮБОГО m3u - пригодятся .... Там достаточно докинуть 5-6 строк для создания bouquets
Вот может кому и пригодиться кто смотрит с 1cent простенькие скрипты которые приводят букеты в порядок.. единственное я не учитывал букеты UHD и XXX их перед запуском скрипта отключите в билинге.. рес у меня не uhd... а xxx опасно дети.. ну да ладно..
1. конфиг прова /media/hdd/E2m3u2bouquet/config.xml такой
Спойлер:
<config> <supplier> <name>1cent</name><!-- Supplier Name --> <enabled>1</enabled><!-- Enable or disable the supplier (0 or 1) --> <settingslevel>1</settingslevel><!-- GUI settings level (0 - simle, 1 - expert) --> <m3uurl><![CDATA[]]></m3uurl><!-- Extended M3U url --> <epgurl><![CDATA[]]></epgurl><!-- XMLTV EPG url --> <streamtypetv>4097</streamtypetv><!-- (Optional) Custom TV stream type (e.g. 1, 4097, 5001 or 5002) --> <gstreamer>0</gstreamer><!-- (Optional) Stream type: 0 (no buffering), 1 (buffering enabled) or 3 (progressive download and buffering enabled) --> <flv2mpeg4>0</flv2mpeg4><!-- (Optional) EXT3_FLV2MPEG4_CONVERTER (0 or 1) --> <progressive>0</progressive><!-- (Optional) EXT3_PLAYBACK_PROGRESSIVE (0 or 1) --> <livets>0</livets><!-- (Optional) EXT3_PLAYBACK_LIVETS (0 or 1) --> <ringbuffermaxsize>32768</ringbuffermaxsize><!-- (Optional) GST_RING_BUFFER_MAXSIZE ring buffer size in kilobytes --> <buffersize>8192</buffersize><!-- (Optional) GST_BUFFER_SIZE buffer size in kilobytes --> <bufferduration>0</bufferduration><!-- (Optional) GST_BUFFER_DURATION buffer duration in seconds --> <sink>![CDATA[original]]</sink><!-- (Optional) GST_PULSEAUDIO sink method (original or experimental) --> <streamtypevod>4097</streamtypevod><!-- (Optional) Custom VOD stream type (e.g. 4097, 5001 or 5002) --> <multivod>1</multivod><!-- Split bouquets into seperate categories (0 or 1) --> <allbouquet>1</allbouquet><!-- Create all channels bouquet as separate bouquet if multivod enabled (0 or 1) --> <picons>1</picons><!-- Automatically download Picons (0 or 1) --> <piconsext>0</piconsext><!-- Try to search for url-links to picons in the online database (0 or 1) --> <iconpath></iconpath><!-- Location to store picons. Do not fill if using GUI mode --> <bouquettop>1</bouquettop><!-- Place IPTV bouquets at top (0 or 1) --> <sortmethod>0</sortmethod><!-- Sorting method for playlist content (0:default, 1:alphabet, 2:custom) --> <abgroups>1</abgroups><!-- Sort group names alphabetically (0 or 1) --> <abchannels>1</abchannels><!-- Sort channel names alphabetically (0 or 1) --> <xcludesref>1</xcludesref><!-- Disable service ref overriding from override.xml file (0 or 1) --> </supplier> </config>
вставьте в него только m3uurl и epgurl
2. закидуем файл шаблон sample по пути /etc/enigma2/ скрипты кидаем в /usr/script/ атрибуты естественно 755..
3. запускаем создание букетов после того как плагин e2m3u2bouquet создаст все букеты .. запускаем script_1.sh после его отработки если сами каналы в букетах вам не требуется больше трогать допустим DreamBox Edit (om) то следом можно запустить и script_2.sh если решили DreamBox Edit (om) по передвигать каналы или букеты то запустите его после всех манипуляций и сохранений.. на букете all-channels.tv оставил 4097 для записи кино на hdd.. хотя и рассинхрон бывает.. ну оставил.. В шаблоне порядок отстройки букетов можете выстраивать как хотите.. в ServiceApp должно быть выключено принудительное включение плееров.. то есть сис. воспр.enigma2 выключено.. в epeg import не забываем активировать источник epeg .. если не было в ресе пиконов на 5002 то можете их загрузить не трудными манипуляциями.. Скрипты тут
Konditer, А зачем так сложно ? И что в итоге ? В чем "порядок" в результирующих букетах после "обработки" вышеприведенными скриптами ?
как было как стало Армянский ваще enigma не понимает латиница зачем весь вид портит.. да и места в пространстве файла букетов можно по своему выстраивать.. пробовал сначала передвижением строк но это не серьёзно .. места бывают меняются а вот шаблон самое то.. вот как бы в букете со всеми каналами выстроить порядок так же как и в шаблоне .. пока не допетрел..
Попробовал sort-override.xml .. тоже очень удобная штука.. ну я как понял там не реализована работа с букетом all Channels.. только мульти букеты?
С чего вдруг ? Генери только allchannels и будет тебе счастье
а сразу с мульти букетами вместе если галочка и на ALL Channels стоит по идее вывод одновременно тоже бы не плохо было... блин я sort-override.xml ниник не нарадуюсь куча проблем отлетело резко..
я sort-override.xml ниник не нарадуюсь куча проблем отлетело резко..
Так оно третий год как в плаге есть ..... точнее только оно и было , но в связи с "неудобством" и некоторым недопонимаением для "паствы" как пользоваться - были добавлены иные, более простые способы приведения букетов к "фельдиперсовому" виду