
Редактиране на файловете M3U и M3U8
Файловете M3U и M3U8 (който е версията, използваща UTF-8 кодиране за по-добра поддръжка на различни символи) са основните формати за плейлисти, използвани в IPTV.
Ето основните правила (тагове) и операнди (атрибути), които ще ви трябват, за да редактирате тези файлове:
Основни правила и структура на M3U/M3U8 за IPTV
- Начален таг
Всеки M3U/M3U8 плейлист трябва да започва със задължителния таг:
- #EXTM3U
- Правило: Винаги е на първия ред. Индикира, че файлът е разширен M3U плейлист, което позволява използването на допълнителни тагове като #EXTINF.
- Дефиниция на запис (канал)
Всеки канал или медиен поток се дефинира от два основни реда:
А. Информационен таг
- #EXTINF: <продължителност>, <име на канала>
- Правило: Този таг предоставя информация за записа, който следва.
- Операнди:
- <продължителност>: За IPTV обикновено се използва 0 или -1, тъй като продължителността е неизвестна или неограничена.
- <име на канала>: Името, което ще се показва на потребителя.
- Допълнителни атрибути (операнди) в #EXTINF:
- tvg-id=“<идентификатор>“: уникален идентификатор за канала, който се използва от програмата за електронно ръководство (EPG) за съпоставяне на канала с правилното предаване. Важен за EPG.
- tvg-name=“<име>“: Алтернативно име, понякога използвано за съпоставяне.
- group-title=“<група>“: Дефинира групата/категорията (напр. „Bulgarian“, „News“, „Sports“), в която ще бъде показан каналът в плейъра. Много важен за организацията.
- tvg-logo=“<URL към лого>“: Директен URL адрес към изображението на логото на канала.
Б. URL на Потока
- <URL на медийния поток>
- Правило: Този ред винаги следва директно след съответния #EXTINF ред.
- Операнди: Това е директният HTTP/HTTPS/RTSP/UDP адрес към самия медиен поток (канала).
Примерна структура и редакция
Фрагмент от код
#EXTM3U
#EXTINF:0 tvg-id=“ext“ group-title=“Bulgarian“,BG | Beta TV
http://012345x.com:999/wzw84zrZyW/FxVvvV4kbP/25184
#EXTINF:0 tvg-id=“ext“ group-title=“Bulgarian“,BG | 24 Kitchen HD
http://012345x.com:999/wzw84zrZyW/FxVvvV4kbP/25283
#EXTINF:0 tvg-id=“ext“ group-title=“Bulgarian“,BG | amc
Как да редактирате
- Промяна на групата (категорията):
- Ако искате „Beta TV“ да е в група „Local“, промени:
- group-title=“Bulgarian“
- на
- group-title=“Local“
- Ако искате „Beta TV“ да е в група „Local“, промени:
- Промяна на името:
- Ако искаш да е „Бета Телевизия“, промени:
- BG | Beta TV
- на
- Бета Телевизия
- Ако искаш да е „Бета Телевизия“, промени:
- Добавяне на Лого:
- За да добавите лого (ако знаете URL адреса), добавeте атрибута tvg-logo:
- #EXTINF:0 tvg-id=“ext“ group-title=“Bulgarian“,BG | Beta TV
- на
- #EXTINF:0 tvg-id=“ext“ group-title=“Bulgarian“ tvg-logo=“https://url-към-логото.com/beta.png“,BG | Beta TV
- За да добавите лого (ако знаете URL адреса), добавeте атрибута tvg-logo:
- Добавяне на нов канал:
- Трябва ви URL адресът на потока и го добавяте в края (или където е логично), като следвате същата структура:
Фрагмент от код
#EXTINF:0 tvg-id=“nova.bg“ group-title=“News“,Nova News HD
http://url.на.новия.поток/nova-news.m3u8
Други важни тагове
По-рядко използвани, но полезни тагове (обикновено се поставят в началото на файла):
- #EXTGRP:<име на групата>: Понякога се използва за дефиниране на групата преди списъка с канали в нея. group-title в #EXTINF е по-често срещаният и предпочитан метод.
- #EXTVLCOPT:<настройка>: За да предадеш специфични настройки на VLC или съвместими плейъри.
- #EXTIMG:<URL>: Рядко се използва за фоново изображение.
Накратко
Редактирането се свежда до промяна на текста в атрибутите на #EXTINF тага (group-title, tvg-id, tvg-logo, името) или промяна на URL адреса на потока, който следва. Уверете се, че няма празни редове или грешни символи, особено ако използвате M3U8 файл, който изисква UTF-8 кодиране за правилното показване на кирилица.
За да добавиш коментар, който да направи файла по-прегледен, използвай символа за разширен таг, но с непознато име след него. Плейърите за IPTV обикновено игнорират тагове, които не разпознават.
Най-често срещаният и фактически приет начин за коментар е:
#
#COMMENT: или #EXT-COMMENT:
#REM (от ‘Remark’)
Как да използвате коментари
Просто започнете реда с #, последвано от каквото и да е име или директно текста на коментара:
Фрагмент от код
#EXTM3U
# Този ред е коментар и ще бъде игнориран.
#EXTINF:0 tvg-id=“nova.bg“ group-title=“Bulgarian News“,Nova TV HD
http://url-към-нова.m3u8
# –––––– СПОРТНИ КАНАЛИ ––––––
#EXTINF:0 group-title=“Sports“ tvg-id=“max.sport.1″,Max Sport 1 HD
http://url-към-макс-спорт-1.m3u8
В горния пример:
- # Този ред е коментар и ще бъде игнориран.
- # –––––– СПОРТНИ КАНАЛИ ––––––
Тези редове служат само за визуално структуриране при редактиране и няма да повлияят на възпроизвеждането на плейлиста.
EPG (Електронен програмен справочник) и лога
Идентификаторите tvg-id и URL адресите за логата (tvg-logo) не са стандартизирани от един централен орган, а се дефинират от доставчика на EPG данните (XMLTV източника).
За да имате работещо EPG и лога, трябва да направите следното:
- Намерете източник на EPG данни (XMLTV)
Трябва да намерите URL адрес на файл, който съдържа програмата на българските канали, обикновено във формат XMLTV. Този файл дефинира кой tvg-id съответства на кой канал.
- Популярни общностни източници: Често се използват проекти, поддържани от общността, които събират и форматират EPG данни за различни региони. Потърсете „XMLTV Bulgaria“ или „IPTV EPG source Bulgaria“.
- Пример: Един често срещан източник, който може да бъде разгледан, е https://iptv-epg.org/files/epg-bg.xml.gz (или подобни общностни проекти).
- Сравнете tvg-id
След като имате източника на EPG, трябва да видите какъв id (който отговаря на tvg-id във вашия M3U) е използван за всеки канал в този XML файл.
Структура в XMLTV файла:
XML
<channel id=“bnt1.bg“>
<display-name>BNT 1</display-name>
<icon src=“http://url-към-логото/bnt1.png“ />
</channel>
В горния пример:
- tvg-id във вашия M3U плейлист трябва да бъде: bnt1.bg
- URL за логото (tvg-logo) може да бъде взето от атрибута icon src, ако плейърът ви не го изтегля автоматично.
Какво да правите:
- Избор на EPG Източник: Ако вашият IPTV плейър поддържа въвеждане на EPG URL, въведете адреса на XMLTV файла (напр. https://iptv-epg.org/files/epg-bg.xml.gz).
- Редактиране на M3U: Редактирайте вашия M3U файл, като зададете същите tvg-id идентификатори, които са дефинирани в XMLTV файла.
Пример за съответствие:
M3U Плейлист | XMLTV EPG Файл |
#EXTINF:0 tvg-id=“bnt1.bg“,БНТ 1 | <channel id=“bnt1.bg“> |
#EXTINF:0 tvg-id=“nova.bg“,Нова ТВ | <channel id=“nova.bg“> |
#EXTINF:0 tvg-id=“btv.bg“,bTV | <channel id=“btv.bg“> |
За логото (tvg-logo)
Що се отнася до логата, те се дефинират по два начина:
- Автоматично от EPG: Повечето модерни IPTV плейъри (като Tivimate, IPTV Smarters) автоматично изтеглят URL адресите на логата от атрибута <icon src=“…“> във въведения XMLTV файл.
- Ръчно в M3U: Ако плейърът не го прави автоматично, трябва да добавите tvg-logo атрибут към всеки канал във вашия M3U:
#EXTINF:0 tvg-id=“bnt1.bg“ tvg-logo=“http://url-към-логото/bnt1.png“,БНТ 1
Заключение
Най-доброто място да намерите правилните tvg-id е като намерите и отворите актуален XMLTV източник за България и използвате идентификаторите, дефинирани вътре в него. Тъй като тези източници се поддържат от общността, те са най-надеждни за съвпадение с EPG данните.