Галина Михайлова & Антон Иванов

Редактиране на файловете M3U и M3U8

Редактиране на файловете M3U и M3U8
Редактиране на файловете M3U и M3U8

Редактиране на файловете M3U и M3U8

Файловете M3U и M3U8 (който е версията, използваща UTF-8 кодиране за по-добра поддръжка на различни символи) са основните формати за плейлисти, използвани в IPTV.

Ето основните правила (тагове) и операнди (атрибути), които ще ви трябват, за да редактирате тези файлове:

Основни правила и структура на M3U/M3U8 за IPTV
  1. Начален таг

Всеки M3U/M3U8 плейлист трябва да започва със задължителния таг:

  • #EXTM3U
    • Правило: Винаги е на първия ред. Индикира, че файлът е разширен M3U плейлист, което позволява използването на допълнителни тагове като #EXTINF.
  1. Дефиниция на запис (канал)

Всеки канал или медиен поток се дефинира от два основни реда:

А. Информационен таг

  • #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

Как да редактирате
  1. Промяна на групата (категорията):
    • Ако искате „Beta TV“ да е в група „Local“, промени:
      • group-title=“Bulgarian“
      • на
      • group-title=“Local“
  2. Промяна на името:
    • Ако искаш да е „Бета Телевизия“, промени:
      • BG | Beta TV
      • на
      • Бета Телевизия
  3. Добавяне на Лого:
    • За да добавите лого (ако знаете 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
  4. Добавяне на нов канал:
    • Трябва ви 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

В горния пример:

  1. # Този ред е коментар и ще бъде игнориран.
  2. # –––––– СПОРТНИ КАНАЛИ ––––––

Тези редове служат само за визуално структуриране при редактиране и няма да повлияят на възпроизвеждането на плейлиста.

EPG (Електронен програмен справочник) и лога

Идентификаторите tvg-id и URL адресите за логата (tvg-logo) не са стандартизирани от един централен орган, а се дефинират от доставчика на EPG данните (XMLTV източника).

За да имате работещо EPG и лога, трябва да направите следното:

  1. Намерете източник на EPG данни (XMLTV)

Трябва да намерите URL адрес на файл, който съдържа програмата на българските канали, обикновено във формат XMLTV. Този файл дефинира кой tvg-id съответства на кой канал.

  • Популярни общностни източници: Често се използват проекти, поддържани от общността, които събират и форматират EPG данни за различни региони. Потърсете „XMLTV Bulgaria“ или „IPTV EPG source Bulgaria“.
    • Пример: Един често срещан източник, който може да бъде разгледан, е https://iptv-epg.org/files/epg-bg.xml.gz (или подобни общностни проекти).
  1. Сравнете 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, ако плейърът ви не го изтегля автоматично.

Какво да правите:

  1. Избор на EPG Източник: Ако вашият IPTV плейър поддържа въвеждане на EPG URL, въведете адреса на XMLTV файла (напр. https://iptv-epg.org/files/epg-bg.xml.gz).
  2. Редактиране на 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)

Що се отнася до логата, те се дефинират по два начина:

  1. Автоматично от EPG: Повечето модерни IPTV плейъри (като Tivimate, IPTV Smarters) автоматично изтеглят URL адресите на логата от атрибута <icon src=“…“> във въведения XMLTV файл.
  2. Ръчно в M3U: Ако плейърът не го прави автоматично, трябва да добавите tvg-logo атрибут към всеки канал във вашия M3U:

#EXTINF:0 tvg-id=“bnt1.bg“ tvg-logo=“http://url-към-логото/bnt1.png“,БНТ 1

Заключение

Най-доброто място да намерите правилните tvg-id е като намерите и отворите актуален XMLTV източник за България и използвате идентификаторите, дефинирани вътре в него. Тъй като тези източници се поддържат от общността, те са най-надеждни за съвпадение с EPG данните.

 

Публикуване на коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *