"EPG yüklenmiyor", Android TV'de IPTV kuran insanların açık ara en yaygın şikayetidir ve hemen her neden kullanıcı tarafında aynı görünür: kanal listesi yerinde, video oynuyor, ama rehber bomboş. İyi haber, hata türlerinin dar olması. Yaklaşık altı tane var ve çoğunu birkaç dakikada eleyebilirsin.

Bu rehber her birini bakılması gereken sırayla anlatıyor. Başlamadan önce XMLTV URL'ni EPG doğrulayıcıya yapıştırabilirsen, 2.–4. adımları tamamen atlarsın.

Yan yana iki panel — biri tvg-id="bbc1" içeren bir M3U parçası, diğeri channel id'si "BBC1" ile "bbc1" arasında değişen bir XMLTV parçası. Aralarındaki bağlayıcı, kimlikler eşleştiğinde yeşil onay, eşleşmediğinde kırmızı çarpıya dönüşüyor.

Kanal kimlikleri bayt bayt eşleştirilir: tek bir büyük harf, bir kanalı boş rehberle bırakmaya yeter.

1. Gerçekten bir EPG URL'n olduğunu kontrol et

İlk doğrulanacak şey, yapılandırılmış bir rehber kaynağının olup olmadığıdır. Bazı IPTV sağlayıcıları kanal listesini (M3U) ve rehberi (XMLTV) iki ayrı URL olarak gönderir; epey kullanıcı birini kurar ve diğerinin de onunla birlikte geldiğini sanır.

Oynatıcının kaynak ayarlarını aç ve iki ayrı alan ara. M3U URL'si .m3u, .m3u8 ile biter ya da type=m3u_plus içerir. XMLTV URL'si genelde .xml, .xml.gz ile biter ya da xmltv.php içerir. Yalnızca bir alan doluysa, sorun budur. Çoğu Xtream tarzı sağlayıcı XMLTV'yi oynatma listesiyle aynı ana bilgisayarda sunar; yol tipik olarak aynı kimlik bilgileriyle /xmltv.php?username=…&password=… olur.

2. URL'nin gerçekten XMLTV döndürdüğünü doğrula

URL'yi bir tarayıcıya yapıştır. XML görmen gerekir — <?xml ya da <tv> ile başlayan, <channel> ve <programme> etiketleriyle dolu metin. Onun yerine bir HTML sayfası görüyorsan, sağlayıcın seni bir oturum açma sayfasına ya da bir captive portala yönlendirmiştir; oynatıcın da aynı yanıtı alıyordur. Düzeltme sağlayıcı tarafındadır: URL farklı kimlik bilgileri ya da yeni bir belirteç gerektirir.

XML görüyorsan ama çok küçükse — birkaç KB'tan az — sağlayıcı boş bir belge döndürmüştür. Bu da onların sorunu; birkaç bin kanal için XMLTV dosyaları genelde 5–50 MB'tır.

3. Dosyanın yapısını kontrol et

EPG doğrulayıcı tam burada para eder. URL'yi doğrulayıcıya yapıştır ve üstteki dört sayıya bak:

  • Kanal. M3U'ndaki kanal sayısıyla kabaca eşleşmelidir. Onun onda biriyse, dosya sağlayıcının tam rehberi değildir.
  • Program. Binlerce olmalı. Toplamda 100'den az program içeren bir rehber, faydalı hiçbir şey çizmez.
  • Önümüzdeki 24 saati kapsıyor. Açık ara en önemli sayı. Sıfırsa, rehberin bayatlamıştır — dosya ayrıştırılır, ama içindeki her giriş geçmişte kalmıştır. Oynatıcının gösterecek hiçbir şeyi yoktur.
  • Toplam saat. Sağlıklı bir EPG şu andan itibaren 24–168 saati kapsar. 24'ten az, rehberin bugün biteceği anlamına gelir.

4. Sorunlar paneline bak

Sayılar doğru görünüyor ama rehber yine boşsa, doğrulayıcının sorun listesi bakılacak bir sonraki yerdir. Gerçek sağlayıcı çıktısında üç sorun yaygındır:

Sahipsiz programlar. Programlar, aynı dosyada <channel> olarak bildirilmemiş kanal kimliklerine başvurur. Katı oynatıcılar (modern Android TV'lerin çoğu) bunları içe aktarmada düşürür — programın bağlanacağı bir kanal yoktur, bu yüzden kaybolur. Sağlayıcı birkaç yüz sahipsiz gönderiyorsa, normal ve zararsızdır. Onlarca bin gönderiyorsa, rehberinin büyük bölümlerinin boş olmasının nedeni budur.

Yinelenen kanallar. Aynı kanal kimliği <channel>'da birden fazla görünür. Çoğu ayrıştırıcı ilk bildirimi tutar ve gerisini sessizce atar. Atılanın farklı bir görünen adı varsa, kanal rehberde yanlış etiketle görünür.

Şu an oynayan kapsama yok. Doğrulayıcının başlık kontrolü: şu anda program gösteren kanal var mı? Yanıt sıfırsa, XMLTV dosyası teknik olarak geçerli olsa bile, iyi davranan herhangi bir oynatıcıda rehber tamamen boş çizilir. Bayat rehber. Sağlayıcının yenilemesi gerekir.

5. Kanal kimliği eşleşmesini doğrula

Bu, neredeyse herkesi takar. XMLTV'nin <channel id="…"> değerinin M3U'ndaki tvg-id="…" ile tam olarak eşleşmesi gerekir. Büyük/küçük harf duyarlıdır, esnek eşleştirme yoktur. M3U'n tvg-id="bbc1" diyor ve XMLTV'n <channel id="BBC1"> diyorsa, oynatıcının onları bağlamasının yolu yoktur ve kanal boş bir rehber hücresi gösterir.

Kontrol etmek için, M3U'nu bir metin düzenleyicide aç ve herhangi bir tvg-id değerine bak. Sonra aynı kanalı doğrulayıcının "Öne çıkan kanallar" tablosunda kontrol et. Kimlikler bayt bayt aynı olmalıdır. Değillerse üç seçeneğin var:

  1. Sağlayıcından bir tvg-id eşleme dosyası bul (bazıları yayınlıyor).
  2. M3U'nu EPG'deki kimliklerle eşleşecek şekilde elle düzenle.
  3. Görünen ada göre esnek eşleştirme yapan bir oynatıcıya geç. Klipa yapar — ama çoğu yapmaz.

6. Saat dilimini kontrol et

XMLTV spesifikasyonu YYYYMMDDHHMMSS +ZZZZ zaman damgalarını kullanır. Bazı sağlayıcılar kaydırmayı söker, geriye saat dilimi olmayan çıplak zaman damgaları kalır. Katı ayrıştırıcılar bunları UTC sayar; hoşgörülü ayrıştırıcılar sistem yereline göre tahmin eder; ikisi de bazen yanlıştır ve sonuçta saatlerce kaymış bir rehber çıkar — programlar yanlış zaman aralığında görünür ya da dün geceki programlar bugünkü gibi gözükür.

Rehber girdilerin doğru ama kaymış görünüyorsa, neden neredeyse kesinlikle budur. Düzeltmesi çirkin: her zaman damgasını N saat kaydıran bir araca ihtiyacın var. Bu site içinde EPG saat dilimi kaydırıcı aracı var; geçici çözüm olarak sağlayıcına çıktısında kaydırmayı içermesini isteyen bir hata bildirimi açabilirsin.

Hiçbir şey işe yaramazsa

Altı maddeyi de kontrol ettin ama rehber yine yüklenmiyorsa, hata oynatıcının kendisindedir. Çoğu modern IPTV oynatıcı EPG'yi agresif önbelleğe alır — bazen yenilemeden saatler sonra bile. EPG önbelleğini zorla temizle ya da temiz bir içe aktarmayı zorlamak için uygulamayı kaldır ve yeniden kur.

Klipa bayat EPG önbelleğe almaz: varsayılan olarak altı saatte bir yeniden çeker ve ayarlardan elle yenileyebilirsin. Bu altı hata türünün hepsini kutudan çıktığı gibi doğru ele alan bir oynatıcı istiyorsan, satışı budur.