TeleIPTV — IPTV na dużym ekranie.
TeleIPTV to odtwarzacz M3U z programem TV, archiwum i łącznością z panelem Xtream Codes. Dwa wydania, każde w swoim repozytorium: .apk dla Android TV, Google TV i Fire TV (to repozytorium) oraz .ipk dla LG webOS (teleiptv-webos).
Sterowanie pilotem, siatka EPG liczona poza wątkiem interfejsu, profile źródeł i dwujęzyczny interfejs. Bez konta i bez chmury — playlista zostaje na urządzeniu.
- LG webOS 6+ (.ipk)
- Android 5.1+ (.apk)
- M3U · Xtream Codes
- EPG / XMLTV
- Polski / English
- GitHub Releases
Co potrafi
Wszystko lokalnie: playlista i ustawienia zostają na urządzeniu, konto nie jest potrzebne.
Trzy sposoby na źródło
Link M3U, plik M3U z dysku albo login do panelu Xtream Codes (serwer, użytkownik, hasło). Każde źródło ma własny profil.
Program TV (EPG/XMLTV)
Siatka kanałów na osi czasu z przewijaniem pilotem ◀ ▶ oraz mini-EPG na karcie kanału. Parser pracuje w Web Workerze, więc UI się nie zacina.
Archiwum i catch-up
Programy z przeszłości odtwarzane z adresu liczonego ze znaczników
czasu (utc / lutc), o ile dostawca je udostępnia.
Ulubione i historia
Ulubione, ostatnio oglądane, wyszukiwarka, własna kolejność grup i porcjowanie długich list (po 60 kart).
Tryb TV i pilot
Nawigacja strzałkami, klawisz Wstecz obsłużony wspólnie na Androidzie i webOS, pasek OSD z nazwą kanału i programem, a w ustawieniach sekcja „Pilot w odtwarzaczu” z tabelą klawiszy. Lista kanałów: grupy wybiera się klawiszem OK, z pola szukania wychodzi się strzałkami, a pod listą jest pasek z podpowiedzią klawiszy. Ikony przycisków są rysowane jako SVG, więc nie zależą od czcionki emoji na dekoderze.
Czytelny na każdym ekranie
Rozdzielczość ekranu wykrywana automatycznie: 720p dostaje układ 1371 px (o 40% większe litery), 1080p i 4K zostają przy projekcie 1920 px. W ustawieniach „Rozmiar interfejsu” można wybrać 100–150%.
PL / EN, jasny / ciemny
Interfejs po polsku i angielsku, dwa motywy, oraz obniżane obciążenie: EPG przycinane do widocznych wierszy, siatka rysowana stopniowo.
Plan B w odtwarzaniu
Kanał startuje odtwarzaniem sprzętowym (natywnym), a gdy nie ruszy,
aplikacja sięga po TS/MSE (mpegts.js), potem HLS (hls.js) i na koniec po ten
sam kanał jako .m3u8. Budzik 9 s wykrywa czarny ekran i przełącza
sposób odtwarzania, a biblioteki dociągają się leniwie.
Ponawianie i czytelne błędy
Nieudane uruchomienie kanału można ponowić 1, 2, 3, 5 albo 10 razy (albo wcale). Komunikat mówi, który silnik zawiódł i co zgłosiło urządzenie: kod błędu, problem sieci, dekodowania lub nieobsługiwany format.
Nagranie na pilocie
W archiwum pasek OSD daje „Od początku” oraz skok do poprzedniego albo następnego programu, a ◀ ▶ przewijają o wybrany krok (5 s – 10 min) razem z paskiem czasu nagrania.
Zegar w rogu obrazu
W Ustawieniach jest przełącznik „Zegar w rogu obrazu”: podczas oglądania
programu w lewym górnym rogu widać godzinę HH:MM. Poza
obrazem zegara nie ma, więc nie zasłania listy kanałów ani EPG.
Menu kanału pod długim OK
MENU na pilocie albo przytrzymane OK otwiera opcje kanału: oglądaj, dodaj lub usuń z ulubionych, archiwum, program TV. Pozycje to zwykłe przyciski, więc to samo menu działa też dotykiem.
Ustawienia pod własny serwer
Dni EPG i archiwum wstecz (1–30), krok przewijania nagrania, odświeżanie
EPG (przy starcie albo co 30 min – 24 h), liczba prób oraz własny szablon
catch-up ze {utc} i {utcend}.
EPG skąd chcesz
Adres XMLTV, plik z dysku albo spakowany .gz, a przy loginie
Xtream program pobiera się sam z xmltv.php. Brak EPG nie
blokuje oglądania — kanał i tak zagra.
Aktualizacja bez przymusu
Ustawienia sprawdzają tylko najnowsze wydanie i pokazują krótko, co się zmieniło. Nic nie instaluje się samo: aktualizację uruchamia przycisk na Android TV / Fire TV (systemowy instalator) albo wgranie paczki z komputera na webOS.
Jak to działa
Każde wydanie ma w swoim repozytorium własną kopię kodu
w www/: to repozytorium buduje paczkę na Android TV, Google TV
i Fire TV, a teleiptv-webos
— na LG webOS. Interfejs i logika są bliźniaczo podobne, ale od wersji 2.1.14
zmienia się je osobno.
www/ — kod aplikacji (Android)
index.html, app.js, styles.css,
ui-scale.js, epg-worker.js oraz leniwie
dociągane lib/ (hls.js, mpegts.js, pako).
teleiptv-webos — wydanie na webOS
Osobne repozytorium z tym samym interfejsem i natywnym serwisem Luna
(pl.openiptv.player.service.fetch), który pobiera playlistę
i EPG z pominięciem limitów CORS przeglądarki TV.
android/ — obudowa Capacitor
WebView z manifestem pod telewizory: tryb leanback, brak wymogu ekranu dotykowego, orientacja pozioma i dopuszczony strumień http.
scripts/ — budowanie
build-android.ps1 → .apk,
make-icons.ps1 → ikony i splash, publish.ps1 →
commit i push na GitHuba.
Instalacja
Każde wydanie jest w swoim repozytorium: tutaj leży
TeleIPTV-<wersja>.apk (Android TV, Google TV i Fire TV),
a TeleIPTV-<wersja>.ipk (LG webOS) jest w repozytorium
teleiptv-webos.
Albo ze źródeł — tutaj powstaje paczka Androida, a paczkę na webOS buduje repozytorium teleiptv-webos:
Android TV / Fire TV
npm install
npm run build:android
adb connect <ip-tv>:5555
adb install -r dist/android/TeleIPTV-<wersja>.apk
Na urządzeniu włącz tryb programisty
(Ustawienia → Informacje → 7× klik) i debugowanie ADB.
Skrypt przyjmuje -OutDir, np.
npm run build:android -- -OutDir D:\builds.
LG webOS — z repozytorium teleiptv-webos
npm install
npm run build:webos
ares-setup-device # raz, tryb deweloperski na TV
ares-install -d tv dist/ipk/TeleIPTV-<wersja>.ipk
ares-launch -d tv pl.openiptv.player
Potrzebny tryb deweloperski na telewizorze i pakiet
@webos-tools/cli.
Zmiana nazwy na TeleIPTV nie zmienia
tożsamości paczki — nadal jest to pl.openiptv.player, więc nowa
wersja wchodzi na miejsce poprzedniej, a profile, ustawienia i ulubione
zostają na urządzeniu. Zmieniły się tylko nazwy plików paczek
(TeleIPTV-<wersja>.apk / .ipk) i napisy
w interfejsie. Aktualizacja uruchamiana z aplikacji czyta oba warianty nazwy,
więc wydania przed przemianowaniem też się zainstalują.
Najczęstsze pytania
Krótkie odpowiedzi na to, o co pyta się najczęściej, zanim wgra się pierwszą paczkę na telewizor.
Czy TeleIPTV jest darmowe?
Tak. Aplikacja jest darmowa i nie ma konta ani chmury — paczkę pobiera się z wydań na GitHubie, a playlistę wczytuje się z własnego dostawcy IPTV (link M3U albo panel Xtream Codes).
Na jakim telewizorze zadziała?
Na LG z webOS 6 lub nowszym (paczka .ipk) oraz na Android TV,
Google TV i Amazon Fire TV / Fire TV Stick (paczka .apk).
Ta sama wersja chodzi też w przeglądarce na komputerze.
Skąd wziąć listę kanałów?
Z własnego dostawcy IPTV: wystarczy adres M3U, plik M3U z dysku albo login do panelu Xtream Codes (serwer, użytkownik, hasło) — kanały, kategorie, EPG i archiwum pobiorą się same.
Czy program TV (EPG) działa z XMLTV?
Tak — z adresu XMLTV, z pliku (także spakowanego .gz) albo
z xmltv.php panelu Xtream. Brak EPG nie blokuje oglądania,
kanał i tak zagra.
Czy da się oglądać archiwum (catch-up)?
Tak, jeśli dostawca je udostępnia: programy z przeszłości odtwarza się z adresu liczonego ze znaczników czasu, a przy przewijaniu widać, o ile cofnął się obraz.
Czy TeleIPTV steruje się pilotem?
Tak — pilotem i klawiaturą: strzałki, OK, Wstecz, klawisze multimedialne i przewijanie archiwum. W ustawieniach jest tabela z opisem wszystkich klawiszy.