IPTV z EPG – Jak Skonfigurować Przewodnik TV 2026
\n\nMasz działające IPTV, kanały lecą, obraz ostry — ale włączasz przewodnik programowy i widzisz pustkę. Żadnych nazw programów, żadnych godzin, nic. Klasyka. Konfiguracja IPTV z EPG to jeden z tych kroków, które każdy pomija przy pierwszym setupie, a potem się dziwi dlaczego odtwarzacz wygląda jak lista kanałów z lat 90.
\n\nEPG, czyli Electronic Program Guide, to osobna warstwa danych nałożona na Twoją playlistę M3U. Nie jest częścią strumienia wideo. To oddzielny plik XML, który odtwarzacz pobiera, parsuje i przypisuje do kanałów. I właśnie na tym etapie — przypisywaniu — większość ludzi się wykłada. Ten poradnik przeprowadzi Cię przez całą konfigurację IPTV z EPG krok po kroku, od podstaw po zaawansowane triki z cronem i merge'owaniem źródeł.
\n\nCo to jest EPG i dlaczego jest niezbędne w IPTV
\n\nJak działa Electronic Program Guide
\n\nEPG to w gruncie rzeczy baza danych z rozkładem jazdy telewizji. Zawiera nazwę programu, opis, czas rozpoczęcia i zakończenia, kategorię, a czasem nawet okładkę. Twój odtwarzacz IPTV pobiera te dane z podanego URL-a i nakłada je na listę kanałów.
\n\nCały mechanizm opiera się na jednym kluczowym połączeniu: identyfikator kanału w pliku EPG musi pasować do identyfikatora w Twojej playliście M3U. Jeśli playlist mówitvg-id="TVP1.pl", to plik EPG musi mieć wpis<channel id="TVP1.pl">. Gdy te dwa się zgadzają — masz program TV. Gdy nie — masz pustą kratkę.
Format XMLTV — standard EPG
\n\nXMLTV to otwarty format pliku, który stał się de facto standardem dla danych EPG. Plik ma rozszerzenie.xml lub skompresowane.xml.gz i zawiera dwie sekcje: definicje kanałów (<channel>) i programy (<programme>). Typowy plik XMLTV dla 500 kanałów z danymi na 7 dni waży 30-80 MB nieskompresowany.
Struktura jest prosta. Każdy kanał ma unikalneid i nazwę wyświetlaną. Każdy program mastart,stop,channel (odnoszący się do id kanału) ititle. Atrybuty czasowe zawierają offset strefy czasowej, np.20260317200000 +0100. I to właśnie ten offset będzie Ci sprawiał problemy — ale o tym za chwilę.
Różnica między EPG wbudowanym a zewnętrznym
\n\nSą dwa sposoby dostarczania EPG. Pierwszy: Twój dostawca IPTV wbudowuje URL EPG bezpośrednio w nagłówku pliku M3U, w atrybucieurl-tvg. Odtwarzacz automatycznie pobiera dane i nie musisz nic konfigurować. Drugi: dodajesz zewnętrzne źródło EPG ręcznie w ustawieniach odtwarzacza.
Wbudowane EPG jest wygodne, ale masz zerową kontrolę. Jeśli dostawca zmieni URL lub jego EPG nie pokrywa wszystkich kanałów — zostajesz z niczym. Zewnętrzne źródło daje Ci pełną kontrolę: wybierasz dostawcę danych, ustawiasz interwał odświeżania, możesz nawet łączyć kilka źródeł. W praktyce najlepiej mieć jedno i drugie.
\n\nJak dodać EPG do odtwarzacza IPTV — krok po kroku
\n\nKonfiguracja EPG w TiviMate
\n\nTiviMate to moim zdaniem najlepszy odtwarzacz IPTV na Androida, i konfiguracja EPG tutaj jest bezbolesna. Otwierasz aplikację, idziesz doUstawienia → EPG → Dodaj źródło. Wklejasz URL do pliku XMLTV. Format akceptowany:http:// lubhttps:// link do.xml lub.xml.gz.
Po dodaniu źródła TiviMate zaczyna pobieranie. Dla pliku 50 MB na łączu 100 Mbps to kilkanaście sekund. WUstawienia → EPG → Interwał aktualizacji ustaw 12 lub 24 godziny — nie rób co godzinę, bo dostawca EPG może Ci zablokować IP. TiviMate pozwala dodać kilka źródeł EPG jednocześnie, co jest złotem jeśli masz kanały z różnych krajów.
\n\nWażny detal: po dodaniu EPG musisz poczekać aż dane się załadują, potem wejść wUstawienia → EPG → Przypisz źródło EPG i upewnić się, że kanały mają przypisane prawidłowe programy. TiviMate robi auto-matching po nazwie kanału, ale nie zawsze trafia.
\n\nEPG w Perfect Player
\n\nPerfect Player to klasyk na Android TV. Idziesz doUstawienia (ikona koła zębatego) → Ogólne → URL EPG. Wklejasz link do pliku XMLTV i zatwierdzasz. Program pobierze dane i spróbuje automatycznie zmapować kanały.
\n\nJeden problem z Perfect Player: nie radzi sobie dobrze z dużymi plikami EPG. Przy plikach powyżej 30 MB na urządzeniach z 1-2 GB RAM aplikacja potrafi się zawieszać lub ładować dane przez kilka minut. Rozwiązanie: użyj skompresowanego pliku.xml.gz zamiast czystego XML. Perfect Player obsługuje gzip. Jeśli to nie pomaga — potrzebujesz mniejszego źródła EPG z mniejszą liczbą kanałów.
EPG w Kodi (PVR IPTV Simple Client)
\n\nKodi wymaga addonu PVR IPTV Simple Client. Instalujesz go z repozytorium Kodi (Dodatki → Zainstaluj z repozytorium → Klienci PVR → PVR IPTV Simple Client). Po instalacji wchodzisz wKonfiguracja → Ustawienia EPG.
\n\nTu masz dwie opcje:XMLTV URL (link do zdalnego pliku) lubŚcieżka lokalna (plik na dysku). Dla zdalnego URL wklejasz link i ustawiaszInterwał aktualizacji EPG na 720 minut (12h). Dla lokalnego pliku podajesz ścieżkę, np./storage/epg.xml.gz na LibreELEC. Po zapisaniu restartuj Kodi — EPG załaduje się przy starcie PVR.
W Kodi 21 (Omega) i nowszym możesz też ustawićCzas przesunięcia EPG bezpośrednio w ustawieniach Simple Client — przydatne gdy czasy programów są przesunięte o godzinę czy dwie.
\n\nEPG w VLC i GSE Smart IPTV
\n\nVLC sam z siebie nie obsługuje EPG z XMLTV. Możesz otworzyć playlistę M3U i oglądać kanały, ale przewodnika programowego nie zobaczysz. Jeśli Twoja playlist M3U ma wbudowane EPG w strumieniu (format EIT w transport stream), VLC wyświetli aktualne informacje o programie — ale to zależy od dostawcy.
\n\nGSE Smart IPTV na iOS/Android:Ustawienia → EPG/Program → Dodaj źródło EPG → Zdalne EPG → URL. Wklejasz link XMLTV. Odświeżanie ustawiasz wAutomatyczna aktualizacja EPG. GSE ma limit — obsługuje jedno źródło EPG na raz, więc jeśli potrzebujesz danych z kilku źródeł, musisz je wcześniej zmerge'ować w jeden plik.
\n\nEPG na Smart TV (Samsung, LG)
\n\nNa Samsung Tizen używasz najczęściej Duplex IPTV lub IPTV Smarters Pro. W Duplex:Ustawienia → EPG URL — wklejasz link. W Smarters: EPG ładuje się automatycznie z Xtream Codes API, więc jeśli dostawca ma Xtream — nie musisz nic robić.
\n\nNa LG webOS opcje to Smart IPTV (siptv.eu) albo IPTV Smarters. W Smart IPTV ustawiasz EPG przez panel webowy na siptv.eu/mylist — tam wklejasz URL do XMLTV. Ograniczenie: Smart IPTV pobiera EPG raz przy uruchomieniu i nie odświeża automatycznie. Musisz zrestartować aplikację żeby pobrać nowe dane.
\n\nŹródła EPG — skąd pobrać dane programu TV
\n\nEPG od dostawcy IPTV (wbudowane w playlistę M3U)
\n\nOtwórz swoją playlistę M3U w edytorze tekstu i sprawdź pierwszą linię. Szukasz atrybutuurl-tvg:
#EXTM3U url-tvg="http://example.com/epg.xml.gz" refresh="3600"\n\nJeśli ten atrybut jest — Twój dostawca dostarcza EPG. Skopiuj ten URL i otwórz w przeglądarce. Powinien pobrać się plik XML lub XML.GZ. Jeśli zwraca błąd 403 lub 404 — URL prawdopodobnie wygasł i musisz poprosić dostawcę o aktualny link. Wiele odtwarzaczy automatycznie korzysta z tego URL, ale warto go też dodać ręcznie jako backup.
\n\nDarmowe publiczne źródła XMLTV
\n\nRepozytoriumiptv-org/epg na GitHubie to największe community-driven źródło EPG na świecie. Obsługuje kanały z ponad 60 krajów, w tym Polskę. Dane generowane są automatycznie z oficjalnych stron TV i aktualizowane codziennie. URL do pliku EPG dla konkretnego kraju znajdziesz w ich dokumentacji — zazwyczaj wygląda jakhttps://iptv-org.github.io/epg/guides/pl/....
Jakość darmowych źródeł jest zmienna. Niektóre kanały mają pełne dane na 7 dni do przodu, inne tylko na 2-3 dni. Kanały premium (np. Canal+, HBO) często nie są pokryte, bo ich strony wymagają logowania. Ale dla kanałów otwartych — TVP, Polsat, TVN i podobnych — pokrycie jest przyzwoite.
\n\nGenerowanie własnego EPG z WebGrab+Plus
\n\nWebGrab+Plus to darmowe narzędzie, które scrapuje programy TV bezpośrednio ze stron internetowych nadawców. Instalujesz na Windows, Linux lub w Dockerze. Konfigurujesz plikWebGrab++.config.xml z listą kanałów i stron-źródeł. Odpalasz — i masz świeży plik XMLTV.
Dla polskich kanałów WebGrab+Plus obsługuje źródła takie jak telemagazyn.pl i programtv.onet.pl. Konfiguracja jest trochę żmudna — musisz ręcznie dobrać site-ini (pliki z definicjami scrapowania) do każdego kanału. Ale efekt jest tego wart: masz EPG dokładnie dla tych kanałów, które oglądasz, bez zbędnego balastu. Czas generowania dla 50 kanałów to około 10-15 minut.
\n\nEPG dla polskich kanałów — dostępne opcje
\n\nPolskie kanały telewizyjne mają kilka dedykowanych źródeł EPG. Community na GitHubie utrzymuje repozytoria specjalnie dla polskiego rynku — szukaj frazą "epg poland xmltv". Pokrycie obejmuje zazwyczaj TVP 1/2/3, TVP Info, TVP Sport, Polsat i kanały tematyczne, TVN i rodzinę, TV Puls, TV4/TV6, Eska TV, Nowa TV.
\n\nKanały kodowane (Canal+, Polsat Sport Premium, HBO) są trudniejsze — dane programowe wymagają parsowania zamkniętych API. Niektóre community-driven skrypty to robią, ale linki się zmieniają. Jeśli Twoja konfiguracja IPTV z EPG musi pokrywać kanały premium, najlepszym rozwiązaniem jest łączenie kilku źródeł — jedno publiczne dla kanałów FTA, drugie od dostawcy IPTV dla kanałów premium.
\n\nMapowanie kanałów — klucz do działającego EPG
\n\nCzym jest tvg-id i tvg-name w pliku M3U
\n\nKażda linia kanału w pliku M3U wygląda mniej więcej tak:
\n\n#EXTINF:-1 tvg-id="TVP1.pl" tvg-name="TVP 1" tvg-logo="http://logo.url/tvp1.png" group-title="Polskie",TVP 1\nhttp://stream.url/tvp1\n\nAtrybuttvg-id to klucz do mapowania EPG. Odtwarzacz bierze tę wartość, szuka w pliku XMLTV wpisu<channel id="TVP1.pl"> i jeśli znajdzie — przypisuje programy do tego kanału. Atrybuttvg-name to fallback — niektóre odtwarzacze próbują matchować po nazwie gdy tvg-id nie pasuje.
I tu jest pułapka. Nie ma jednego standardu nazewnictwa. Jedno źródło EPG używaTVP1.pl, inneTVP1, jeszcze innetvp-1-poland. Twoja playlista może miećtvg-id="TVP.1". Żadne z nich do siebie nie pasuje. I dlatego EPG nie działa.
Jak ręcznie przypisać EPG do kanału
\n\nPobierz plik XMLTV i otwórz go w edytorze tekstu (VSCode, Notepad++ — nie w Wordzie). Szukaj sekcji<channel> na początku pliku. Znajdziesz listę jak ta:
<channel id="TVP1.pl">\n<display-name>TVP 1</display-name>\n</channel>\n<channel id="Polsat.pl">\n<display-name>Polsat</display-name>\n</channel>\n\nTeraz otwierasz swoją playlistę M3U i poprawiasz atrybutytvg-idżeby pasowały do tych identyfikatorów. Jeśli w XMLTV jestid="TVP1.pl"to w M3U musisz miećtvg-id="TVP1.pl"Dokładnie. Wielkość liter ma znaczenie.
Narzędzia do automatycznego mapowania EPG
\n\nRęczna edycja 500 kanałów to koszmar. Na szczęście istnieją narzędzia.m3u4u.comto webowy edytor playlist M3U, który pozwala importować playlistę, dodać źródło EPG i automatycznie matchować kanały po nazwie. Ma bazę znanych tvg-id i robi to sensownie dla popularnych kanałów.
\n\nXtream Editor(xtream-editor.com) robi to samo, ale dla Xtream Codes API — importujesz dane logowania i edytujesz mapowanie w przeglądarce. TiviMate na Androidzie ma wbudowane ręczne przypisywanie: przytrzymujesz kanał →EPG Source → Select EPG channel→ wybierasz z listy dostępnych kanałów EPG. Żmudne ale skuteczne.
\n\nEdycja pliku M3U — dodawanie atrybutów EPG
\n\nJeśli Twoja playlista nie ma atrybutów tvg-id, musisz je dodać ręcznie. Otwierasz plik M3U i do każdej linii#EXTINFdopisujesz odpowiednie atrybuty. Przed edycją zrób kopię zapasową pliku.
Dodajesz też nagłówek z URL-em EPG na samą górę pliku:
\n\n#EXTM3U url-tvg="http://twoj-url-epg.com/epg.xml.gz"\n\nJeśli masz kilkaset kanałów, użyj skryptu. Prosty Python albo nawet sed w bashu wystarczy żeby zrobić bulk replace. Np.sed -i 's/tvg-id=""/tvg-id="TVP1.pl"/' playlist.m3u dla jednego kanału. Dla wielu — przygotuj plik CSV z mapowaniem (stara_nazwa → tvg-id) i napisz skrypt.
Rozwiązywanie problemów z EPG w IPTV
\n\nEPG się nie ładuje — najczęstsze przyczyny
\n\nPunkt pierwszy: sprawdź czy URL EPG w ogóle działa. Otwórz terminal i odpal:
\n\ncurl -I "http://twoj-url-epg.com/epg.xml.gz"\n\nSzukaszHTTP/1.1 200 OK iContent-Type zawierającegoxml lubapplication/gzip. Jeśli dostajesz 403 — serwer blokuje Twoje IP (za częste requesty?). Jeśli 404 — URL jest nieaktualny. Jeśli timeout — serwer EPG leży.
Punkt drugi: rozmiar pliku. Sprawdź nagłówekContent-Length w odpowiedzi curl. Jeśli plik waży ponad 100 MB, a masz wolne łącze lub urządzenie z 1 GB RAM — odtwarzacz może się wykładać przy parsowaniu. Rozwiązanie: znajdź mniejsze źródło EPG albo przefiltruj plik żeby zostawić tylko potrzebne kanały.
EPG pokazuje złe programy na kanałach
\n\nTo problem mapowania. Kanał "TVP 1 HD" w Twojej playliście dostał przypisane EPG z "TVP 1 International" bo tvg-id się nie zgadzają. Otwórz plik XMLTV, znajdź prawidłowe ID dla kanału, popraw w pliku M3U lub w ustawieniach mapowania w odtwarzaczu.
\n\nInny przypadek: kanały HD i SD mają ten sam program ale różne tvg-id. Np.TVP1HD.pl vsTVP1.pl. W pliku XMLTV może być wpis tylko dla jednego z nich. Rozwiązanie: przypisz oba kanały (HD i SD) do tego samego tvg-id w playliście. EPG będzie identyczne, ale przynajmniej będzie.
EPG przestaje się aktualizować
\n\nNajczęściej: dostawca zmienił URL EPG bez powiadomienia. Sprawdź stary URL curlem. Jeśli nie działa — musisz pozyskać nowy. Dobrą praktyką jest ustawienie prostego monitoringu. Na Linuxie możesz dodać do crona:
\n\n0 6 * * * curl -sf "http://twoj-url-epg.com/epg.xml.gz" -o /dev/null || echo "EPG URL broken" | mail -s "EPG Alert" [email protected]\n\nDrugie: cache odtwarzacza. TiviMate i Kodi trzymają lokalną kopię EPG. Jeśli dane się nie odświeżają mimo działającego URL — wyczyść cache EPG. W TiviMate:Settings → EPG → Clear EPG cache. W Kodi: usuń plikepg.db z katalogu addonu PVR.
Przesunięcie czasowe w EPG — jak naprawić timezone
\n\nWidzisz programy przesunięte o godzinę lub dwie? Klasyczny problem timezone. Polska jest w strefie CET (UTC+1) zimą i CEST (UTC+2) latem. Jeśli źródło EPG podaje czasy w UTC bez offsetu, a Twój odtwarzacz nie kompensuje — programy będą przesunięte.
\n\nRozwiązanie: w odtwarzaczu szukaj opcjiEPG timeshift lubEPG time offset. Ustaw +1 zimą, +2 latem (dla Polski). W TiviMate:Settings → EPG → EPG timeshift. W Kodi PVR Simple Client:Configure → EPG Settings → EPG time shift. Zmiana czasu letni/zimowy oznacza, że musisz to ręcznie poprawić dwa razy w roku — chyba że źródło EPG poprawnie używa offsetu w znacznikach czasowych.
\n\nWeryfikacja: otwórz plik XMLTV i sprawdź atrybutstart w dowolnym programie. Powinien wyglądać jak20260317200000 +0100. Jeśli nie ma offsetu (np.20260317200000) — źródło podaje czas w UTC i odtwarzacz musi sam dodać offset.
EPG działa tylko na części kanałów
\n\nTo znaczy że mapowanie działa dla niektórych kanałów, a dla innych — nie. Powody: 1) źródło EPG nie pokrywa wszystkich Twoich kanałów, 2) tvg-id nie pasuje dla brakujących kanałów, 3) masz kanały z różnych krajów i jedno źródło EPG nie wystarczy.
\n\nDiagnostyka: wyeksportuj listę kanałów bez EPG (TiviMate pokazuje to wizualnie — kanały bez programu mają pustą kratkę). Porównaj ich tvg-id z zawartością pliku XMLTV. Jeśli kanału w ogóle nie ma w XMLTV — potrzebujesz dodatkowego źródła EPG. Jeśli jest ale tvg-id się różni — popraw mapowanie. Konfiguracja IPTV z EPG z wielu źródeł jednocześnie rozwiązuje większość takich przypadków.
\n\nZaawansowana konfiguracja EPG
\n\nŁączenie wielu źródeł EPG
\n\nMasz kanały polskie, niemieckie i angielskie? Jedno źródło EPG nie pokryje wszystkich. Potrzebujesz merge'u. Są dwa podejścia: odtwarzacz to robi sam (TiviMate pozwala dodać kilka źródeł i sam je łączy) albo merge'ujesz pliki XMLTV przed załadowaniem.
\n\nDo merge'owania XMLTV na Linuxie używasz narzędziatv_merge z pakietuxmltv-utils:
tv_merge -i epg_polska.xml -m epg_deutschland.xml -o merged_epg.xml\n\nAlternatywa: skrypt Pythona z bibliotekąlxml, który łączy sekcje<channel> i<programme> z wielu plików. Przy merge'u uważaj na duplikaty kanałów — jeśli dwa źródła mają ten sam channel id, programy się nałożą.
EPG w Xtream Codes API vs XMLTV
\n\nJeśli Twój dostawca IPTV daje dane logowania Xtream Codes (serwer, username, password), to EPG przychodzi automatycznie przez API. Odtwarzacz odpytuje endpoint/xmltv.php?username=X&password;=Y i dostaje gotowy plik XMLTV z mapowaniem dopasowanym do playlisty. Zero konfiguracji.
Różnica: w Xtream Codes API mapowanie jest już zrobione po stronie serwera. Twoja playlista i EPG są zsynchronizowane, bo pochodzą z tego samego systemu. Przy ręcznym XMLTV musisz sam dopasowywać tvg-id. Dlatego IPTV z EPG przez Xtream Codes jest prostsze — ale też bardziej zależne od dostawcy. Jeśli jego serwer EPG padnie, nie masz planu B. Z ręcznym XMLTV masz pełną kontrolę i możesz podmienić źródło w minutę.
\n\nAutomatyzacja aktualizacji EPG przez cron
\n\nNa Linuxie (Raspberry Pi, VPS, NAS) możesz ustawić automatyczne pobieranie EPG przez cron. Dodaj do crontab (crontab -e):
0 4 * * * wget -q -O /home/user/epg/epg.xml.gz "http://url-do-epg/epg.xml.gz" 2>/dev/null\n\nTo pobiera nowy plik EPG codziennie o 4:00 rano. Dodaj timeout żeby nie wisieć na martwym URL-u:
\n\n0 4 * * * wget -q --timeout=120 -O /tmp/epg_new.xml.gz "URL"&& mv /tmp/epg_new.xml.gz /home/user/epg/epg.xml.gz\n\nTrik z/tmp imv jest kluczowy: jeśli pobieranie się nie powiedzie, stary plik EPG zostaje nienaruszony. Bez tego mógłbyś nadpisać dobry plik pusty lub uszkodzonym. Odtwarzacz (np. Kodi z lokalną ścieżką do EPG) automatycznie załaduje nowy plik przy kolejnym odświeżeniu.
Kompresja i optymalizacja plików XMLTV
\n\nDuże pliki XMLTV (100+ MB) to problem na urządzeniach z małą ilością RAM. Android TV Box z 1 GB RAM potrafi crashować przy parsowaniu takiego pliku. Rozwiązanie: kompresja gzip i filtrowanie.
\n\nKompresja:
\n\ngzip -9 epg.xml\n\nPlik 80 MB po kompresji schodzi do 8-12 MB. Większość odtwarzaczy obsługuje format.xml.gz natywnie.
Filtrowanie — usuwasz kanały, których nie oglądasz. Skrypt zxmltv-utils:
tv_grep --channel-id "TVP1.pl" --channel-id "Polsat.pl" --channel-id "TVN.pl" full_epg.xml > filtered_epg.xml\n\nZ 500 kanałów zostawiasz 50 — plik z 80 MB schodzi do 8 MB. Parsowanie trwa sekundy zamiast minut. I Twój tani Android box przestaje się dławić.
\n\nFAQ — Najczęściej zadawane pytania o EPG w IPTV
\n\nCzy EPG jest darmowe?
\nSam format XMLTV jest otwarty i darmowy. Na GitHubie znajdziesz community-driven repozytoria z EPG dla dziesiątek krajów — zero kosztów. Wielu dostawców IPTV dołącza EPG w cenie usługi. WebGrab+Plus pozwala generować własne EPG za darmo, scrapując dane z oficjalnych stron nadawców. Jedyne płatne opcje to premium źródła EPG z rozszerzonym pokryciem kanałów kodowanych.
\nJak często należy aktualizować EPG?
\nOptymalnie co 12-24 godziny. Większość źródeł EPG dostarcza dane na 3-7 dni do przodu, więc codzienne odświeżanie w zupełności wystarczy. Nie ustawiaj interwału na co godzinę — obciążasz serwer źródłowy niepotrzebnie i ryzykujesz blokadę IP. Jeśli używasz crona, jedno pobranie dziennie o 4:00 rano to standard.
\nDlaczego EPG pokazuje programy z innego dnia?
\nW 99% przypadków to problem ze strefą czasową. Sprawdź ustawienia timezone w odtwarzaczu i użyj opcji EPG timeshift. Dla Polski ustaw +1 (CET zimą) lub +2 (CEST latem). W pliku XMLTV weryfikuj atrybutstart — powinien kończyć się offsetem, np.+0100. Jeśli offsetu brak, źródło podaje czas UTC i odtwarzacz musi sam przeliczać.
Czy mogę używać EPG bez pliku M3U?
\nNie w praktyce. EPG to dane o programach — nazwy, czasy, opisy. Ale bez playlisty (M3U lub Xtream Codes) odtwarzacz nie wie, na które kanały te dane nałożyć. EPG potrzebuje playlisty jako bazy do mapowania. Sam plik XMLTV bez playlisty to po prostu rozkład jazdy bez telewizora.
\nJak sprawdzić czy mój URL EPG działa?
\nNajszybciej: otwórz URL w przeglądarce — powinien zacząć pobierać plik .xml lub .xml.gz. Dokładniej: w terminalu wpiszcurl -I "URL_EPG" i sprawdź czy odpowiedź to200 OK. Jeśli dostajesz 403 — serwer blokuje dostęp. Jeśli 404 — URL jest nieaktualny. Możesz też pobrać plik:curl -o test_epg.xml.gz "URL_EPG" i otworzyć go w edytorze żeby sprawdzić czy zawiera poprawny XML.
EPG działa w TiviMate ale nie w Perfect Player — dlaczego?
\nRóżne odtwarzacze różnie parsują XMLTV. Perfect Player ma problemy z dużymi plikami — powyżej 30 MB potrafi zawieszać się na urządzeniach z małą ilością RAM. Spróbuj użyć skompresowanego formatu.xml.gz zamiast czystego .xml. Sprawdź też czy oba odtwarzacze mają ustawiony ten sam tvg-id do mapowania — TiviMate potrafi matchować po nazwie kanału, Perfect Player jest bardziej rygorystyczny.
Jak dodać EPG dla kanałów zagranicznych?
\nUżyj kilku źródeł EPG. W TiviMate wchodzisz wSettings → EPG → Add source i dodajesz osobne URL-e dla każdego regionu. Repozytorium iptv-org/epg na GitHubie obsługuje kanały z ponad 60 krajów. Jeśli Twój odtwarzacz nie obsługuje wielu źródeł — zmerge'uj pliki XMLTV w jeden za pomocątv_merge i podaj odtwarzaczowi jeden połączony plik.