TeleIPTV

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.