IPappTV

Rozwiązywanie problemów

Kanał ładuje się bez końca

Kręciołek, „Łączenie…", potem komunikat o błędzie - co dzieje się w tym czasie i jak odróżnić winę dostawcy od problemu po Twojej stronie

Objaw: po wybraniu kanału widać kręciołek i „Łączenie…", potem „Łączenie ponownie…", czasem „Przełączam dekoder…", a po kilkunastu sekundach komunikat, że kanału nie udało się wczytać. Inne kanały z tej samej listy działają albo nie. Najpierw sprawdź: czy ten kanał działa w VLC na tym samym urządzeniu. Jeśli nie - problem jest u dostawcy i żadne ustawienie tego nie zmieni.

1. Co dzieje się podczas ładowania

Uruchomienie kanału IPTV to nie jedno połączenie. Aplikacja pobiera playlistę strumienia, dostawca często dopiero wtedy uruchamia transkoder, pierwsze segmenty wideo przychodzą po 3-4 sekundach, a dekoder potrzebuje klatki kluczowej, żeby cokolwiek pokazać. Zdrowy kanał startuje zwykle w 2-5 sekund. IPappTV pilnuje tego procesu trzema strażnikami:

  • Strażnik rozruchu. Jeśli buforowanie startu trwa 5 sekund bez pierwszej klatki, próba jest uznana za nieudaną i drabinka idzie dalej: ponowne połączenie, potem drugi dekoder (okno trzeciej próby: 6 s). Dotyczy tylko startu - zator w trakcie oglądania nie restartuje kanału od zera.
  • Strażnik martwej ciszy. Odtwarzacz może stanąć bezczynnie: nie buforuje, nie zgłasza błędu, nie pokazuje nic. Po 8 sekundach takiej ciszy aplikacja wyświetla komunikat z ostatnią diagnostyką zamiast zostawiać czarny prostokąt.
  • Strażnik stopklatki - opisany w artykule o zamrożonym obrazie.

Po wyczerpaniu prób komunikat zawiera to, co odtwarzacz zdążył ustalić o strumieniu: kodek i rozdzielczość wideo, kodek i liczbę kanałów dźwięku, albo „nie wykryto ścieżki". Ten opis warto przepisać, zanim napiszesz do dostawcy lub do nas - mówi dokładnie, na czym stanęło.

2. Błąd sieci a błąd strumienia

Aplikacja rozróżnia dwa rodzaje awarii i idzie różnymi ścieżkami:

Błąd sieciowy - serwer odrzucił połączenie, zerwał je albo odpowiedział kodem HTTP 4xx/5xx. Zmiana dekodera nic tu nie da, więc aplikacja zmienia identyfikator, którym przedstawia się serwerowi (User-Agent). Część paneli IPTV blokuje nieznane nazwy odtwarzaczy; aplikacja próbuje kolejno trzech identyfikatorów, zaczynając od tego, którego używa VLC. Jeśli kanał ruszył dopiero na drugim, to znak, że dostawca filtruje po nazwie odtwarzacza.

Błąd dekodowania - dane przyszły, ale odtwarzacz nie umie ich odtworzyć. Tu działa drabinka dekoderów: ponowne połączenie, potem FFmpeg.

Jest jeszcze trzeci przypadek, bez błędu: przekierowanie z https na http. Panele często przekierowują strumień na serwer bez szyfrowania. Aplikacja na to pozwala - standardowy odtwarzacz Androida odrzuca takie przekierowania, przez co kanał w innych aplikacjach „kręci się" w nieskończoność, choć w VLC działa.

3. Kolejność sprawdzania

  1. Czy inne kanały z tej listy działają? Jeśli żaden - problem jest z kontem u dostawcy (wygasło, limit jednoczesnych połączeń, blokada adresu IP) albo z Twoim łączem. Odśwież listę: menu listy kanałów → „Odśwież listę i EPG". Dostawcy zmieniają adresy serwerów, a stara kopia listy prowadzi donikąd.
  2. Czy ten kanał działa w VLC? Zainstaluj VLC na tym samym urządzeniu i otwórz w nim tę samą listę. Jeśli kanał nie działa również tam - to dostawca. Jeśli działa, czytaj dalej.
  3. Przeczytaj komunikat. „Nie udało się połączyć z serwerem kanału" to sieć - patrz punkt 4. Opis z kodekami albo „nie wykryto ścieżki" to strumień - patrz punkt 5.
  4. Limit połączeń. Większość kont IPTV ma limit jednego strumienia naraz. Kanał otwarty na telefonie blokuje telewizor, i odwrotnie. Zamknij odtwarzacz na drugim urządzeniu - także w tle.

4. Gdy komunikat mówi o połączeniu

  • Serwer odrzuca wszystkie trzy identyfikatory - dostawca dopuszcza tylko własną aplikację. Rzadkie, ale się zdarza. Nie ma obejścia, nie planujemy podszywania się pod konkretne aplikacje.
  • Kanał działa przez chwilę i pada - to zwykle limit czasu sesji albo przeciążony serwer. Zwiększ bufor w ustawieniach (domyślnie 2,5 s); przy słabym łączu pomaga 5-8 s (zakres 1-10 s) kosztem wolniejszego przełączania.

5. Gdy komunikat mówi o strumieniu

  • „wideo: nie wykryto ścieżki", jest audio - kanał radiowy albo strumień, w którym dostawca wyłączył obraz. Nic do zrobienia w aplikacji.
  • Jest opis wideo, np. „video/avc 1920x1080", a obraz nie ruszył - dekoder sprzętowy nie przyjął formatu. Ustaw dekoder programowy dla tego kanału: strzałka w dół → dekoder → „Zawsze programowy (FFmpeg)".
  • „video/hevc" na starszym urządzeniu - brak sprzętowego dekodera HEVC (H.265). FFmpeg poradzi sobie z 1080p, z 4K raczej nie.
  • Strumień z DRM - nieobsługiwany, komunikat będzie mówił o błędzie dekodowania na każdej próbie.

6. Gdy nie pomaga

Napisz na kontakt@ipapptv.com z treścią komunikatu (linijka z kodekami), modelem urządzenia, wersją Androida i informacją, czy kanał działa w VLC. Bez adresu strumienia i bez danych logowania - nie są potrzebne do diagnozy, a nie chcemy ich przechowywać.