"EPG ez da kargatzen" (EPG not loading) da Android TVn IPTV konfiguratzen duten erabiltzaileen artean kexarik ohikoena, eta ia arrazoi guztiek itxura bera dute erabiltzailearen aldetik: kanalen zerrenda ondo dago, bideoa ikusten da, baina gida hutsik dago. Albiste ona da akats motak gutxi direla. Sei inguru daude, eta minutu gutxitan bazter ditzakezu gehienak.

Gida honek banan-banan aztertzen ditu egiaztatzea merezi duten ordenan. Zure XMLTV URLa EPG baliozkotzailean (EPG validator) itsasten baduzu hasi aurretik, 2-4 urratsak erabat saihestuko dituzu.

Two side-by-side panels — an M3U fragment with tvg-id="bbc1" and an XMLTV fragment whose channel id flips between "BBC1" and "bbc1". A connector between them switches from a red cross to a green check as the IDs match or mismatch.

Kanalen IDak bytez byte bat etorri behar dira: letra larri bakar bat nahikoa da kanal bat gida hutsik uzteko.

1. Egiaztatu benetan EPG URL bat duzula

Egiaztatu beharreko lehenengo gauza gidaren iturri bat konfiguratuta ote duzun da. IPTV hornitzaile batzuek kanalen zerrenda (M3U) eta gida (XMLTV) bi URL bereizitan bidaltzen dituzte, eta erabiltzaile askok bat konfiguratu eta bestea berekin datorrela pentsatzen dute.

Ireki zure player-aren iturrien ezarpenak eta bilatu bi eremu desberdin. M3U URLak .m3u edo .m3u8-rekin amaitzen dira, edo type=m3u_plus daukate. XMLTV URLak normalean .xml edo .xml.gz-rekin amaitzen dira, edo xmltv.php daukate. Eremu bakarra beteta badago, hori da zure arazoa. Xtream estiloko hornitzaile gehienek XMLTV-a playlist-aren ostalari (hostname) berean eskaintzen dute; bidea normalean /xmltv.php?username=…&password=… izaten da, kredentzial berberekin.

2. Egiaztatu URLak benetan XMLTV itzultzen duela

Itsatsi URLa nabigatzaile batean. XML-a ikusi beharko zenuke — <?xml edo <tv>-rekin hasten den testua, <channel> eta <programme> etiketaz betea. Horren ordez HTML orri bat ikusten baduzu, hornitzaileak saio-hasiera batera edo atari gatibu (captive portal) batera birbideratu zaitu, eta zure player-ak erantzun bera jasotzen du. Konponbidea hornitzailearen aldetik dago: URLak kredentzial desberdinak edo token berri bat behar ditu.

XML-a ikusten baduzu baina oso txikia bada — KB gutxi batzuk —, hornitzaileak dokumentu huts bat itzuli dizu. Hori ere haien arazoa da; milaka kanal batzuetarako XMLTV fitxategi gehienek 5–50 MB izaten dituzte.

3. Egiaztatu fitxategiaren egitura

Hemen du balioa EPG baliozkotzaileak. Itsatsi URLa baliozkotzailean eta begiratu goiko lau zenbakiak:

  • Channels (Kanalak). Zure M3U-ko kanal kopuruarekin bat etorri beharko luke gutxi gorabehera. Haren hamarren bat bada, fitxategia ez da hornitzailearen gida osoa.
  • Programmes (Programak). Milaka asko izan beharko lirateke. Guztira 100 programa baino gutxiago dituen gida batek ez du ezer erabilgarririk erakutsiko.
  • Covering next 24h (Hurrengo 24 orduak estaltzen). Zenbakirik garrantzitsuena. Zero bada, zure gida zaharkitua dago — fitxategia prozesatzen da, baina bertako sarrera guztiak iraganekoak dira. Player-ak ez dauka ezer bistaratzeko.
  • Hours total (Orduak guztira). EPG osasuntsu batek gaurtik aurrera 24–168 ordu estaltzen ditu. 24 baino gutxiagok esan nahi du gida gaur amaituko dela.

4. Begiratu arazoen panela

Zenbakiak ondo badaude baina gidak hutsik jarraitzen badu, baliozkotzailearen arazoen zerrendara begiratu behar da hurrengo. Hiru arazo oso ohikoak dira hornitzaile errealen irteeretan:

Programa umezurtzak (Orphan programmes). Programek fitxategi berean <channel> gisa deklaratu ez diren kanal ID-ak aipatzen dituzte. Player zorrotzek (Android TV moderno gehienek) baztertu egiten dituzte inportatzerakoan — programak ez dauka nora lotu, beraz, desagertu egiten da. Hornitzaileak ehunka umezurtz bidaltzen baditu, normala da eta ez du kalterik egiten. Milaka bidaltzen baditu, hori da zure gidaren zati handiak hutsik egotearen arrazoia.

Kanal bikoiztuak (Duplicate channels). Kanal ID bera <channel> batean behin baino gehiagotan agertzen da. Analizatzaile (parser) gehienek lehen deklarazioa mantentzen dute eta gainerakoak ezkutuan baztertzen dituzte. Baztertutakoak beste bistaratze-izen bat bazuen, kanala gidan agertuko da baina etiketa okerrarekin.

Uneko emisioaren estaldurarik ez (No now-playing coverage). Baliozkotzailearen egiaztapen nagusia: ba al dago kanalik une honetan programa bat erakusten ari dena? Erantzuna zero bada, gida erabat hutsik bistaratuko da ondo dabilen edozein player-etan, nahiz eta XMLTV fitxategia teknikoki baliozkoa izan. Gida zaharkitua. Hornitzaileak freskatu egin behar du.

5. Egiaztatu kanalaren IDak bat datozela

Honek ia mundu guztia nahasten du. XMLTV-ren <channel id="…"> balioak bat etorri behar du zehazki zure M3U-ko tvg-id="…" balioarekin. Letra larriak eta xeheak bereizten ditu (case-sensitive), eta ez dago kointzidentzia zehaztugaberik (fuzzy matching). Zure M3U-ak tvg-id="bbc1" esaten badu eta zure XMLTV-ak <channel id="BBC1"> badio, player-ak ez du haiek lotzeko modurik, eta kanalak gidaren gelaxka hutsik erakutsiko du.

Hori egiaztatzeko, ireki zure M3U-a testu-editore batean eta begiratu edozein tvg-id balio. Gero egiaztatu kanal bera baliozkotzailearen "Top channels" taulan. IDak bytez byte berdinak izan beharko lirateke. Hala ez badira, hiru aukera dituzu:

  1. Hornitzailearen tvg-id mapatze-fitxategi bat aurkitu (batzuek argitaratzen dituzte).
  2. Zure M3U-a eskuz editatu EPG-ko IDekin bat etor dadin.
  3. Bistaratze-izenaren araberako kointzidentzia zehaztugabea (fuzzy matching) egiten duen player batera aldatu. Klipak egiten du — baina gehienek ez.

6. Egiaztatu ordu-eremua (timezone)

XMLTV espezifikazioak YYYYMMDDHHMMSS +ZZZZ ordu-markak (timestamps) erabiltzen ditu. Hornitzaile batzuek desplazamendua kentzen dute, ordu-eremurik gabeko ordu-marka hutsak utziz. Player zorrotzek UTC gisa hartzen dituzte; onberagoek sistemaren lokalizazioaren arabera asmatzen dute; biak batzuetan oker daude, eta emaitza hainbat ordutako aldea duen gida bat da — programak ordu-tarte okerrean agertzen dira, edo bart gaueko programak gaurko gisa agertzen dira.

Zure gidaren sarrerak ondo agertzen badira baina orduz mugituta, hori da ziurrenik arrazoia. Konponbidea itsusia da: ordu-marka bakoitza N orduz mugituko duen tresna bat behar duzu. EPG ordu-eremuaren aldatzailea tresna gisa argitaratu arte, aukera bakarra hornitzaileari kexa (bug) bat bidaltzea da, bere irteeran desplazamendua sar dezala eskatzeko.

Gainerako guztiak huts egiten duenean

Seiak egiaztatu badituzu eta gidak oraindik kargatzen ez badu, arazoa player-ean bertan dago. IPTV player moderno gehienek EPG-a gogor gordetzen dute cachean — batzuetan ordu batzuetarako freskatu ondoren. Garbitu behartuta EPG-aren cachea, edo desinstalatu eta berriro instalatu aplikazioa inportazio garbi bat behartzeko.

Klipak ez du EPG zaharkiturik cachean gordetzen: sei orduz behin berriro deskargatzen du lehenespenez, eta eskuz freskatu dezakezu ezarpenetatik. Sei akats mota hauek zuzenean ondo kudeatzen dituen player bat nahi baduzu, horixe da eskaintza.