Låt mig börja med att avliva en missuppfattning som kostar folk kvällar: EPG är inte en funktion i din app. Det är en fil. Nästan alltid XMLTV. Din player hämtar den, parsar den och ritar upp den som ett grid – och när tablån är tom, fel eller misstänkt kort sitter felet så gott som alltid i filen eller i kopplingen till den. Inte i playern. Aldrig nästan i playern. Det här är sajtens hemmaplan, så vi tar hela kedjan från början.
TL;DR: EPG är data, inte en appfunktion. Kanalernas scheman paketeras av en källa som XMLTV, playern hämtar filen, gridet ritas. Kopplingen mellan playlist och tablå heter tvg-id, och det är där det brukar gå sönder. Kvaliteten? Den sitter i källan – intervall, täckning och ärlighet om 48-timmarsgränsen.
EPG är data, inte en funktion
"EPG-stöd" i en appbeskrivning betyder två saker, och ingen av dem är tablådata: en parser och en ritfunktion. Datan kommer utifrån, från en källa du pekar ut. Så när guiden är tom saknar appen ingenting. Den har bara inget att visa – vilket är en helt annan diagnos, med en helt annan åtgärd. Playlisten är kanallistan. EPG:n är tablån. De levereras var för sig och strular var för sig.
Ny på hela grejen? Börja med vad IPTV är och kom tillbaka. Härifrån utgår jag från att du redan har en playlist som spelar.
Kedjan: från källa till grid
Fyra steg, varje gång tablån dyker upp på din skärm:
- Kanalerna publicerar sina scheman. Löpande, med ändringar in i det sista.
- En EPG-källa samlar ihop dem och paketerar allt som en XMLTV-fil: kanaler, program, start- och sluttider i XML.
- Din player hämtar filen från en URL, enligt sitt eget uppdateringsschema.
- Parsningen matchar program mot kanaler och ritar gridet du skummar.
Hur källan kommer in i playern beror på inloggningen. Kör du Xtream-inloggning följer EPG-URL:en ofta med automatiskt. Kör du en ren M3U-playlist pekar du ut XMLTV-adressen själv. Båda vägarna slutar i samma parsning.
tvg-id kopplar playlisten till tablån
Playlistens kanaler bär ett attribut: tvg-id. XMLTV-filens kanaler bär ett annat: channel-id. Matchar de – tablå. Matchar de inte – tom rad. Eller det värre utfallet: fel kanals program under rätt kanalnamn, vilket är värre just för att det ser rätt ut, ända tills du satt dig i soffan och programmet som börjar inte är det som stod där.
Det här är det vanligaste EPG-felet som finns, och det är ett rent mappningsfel – ingenting är trasigt, två strängar är bara olika. Rättningen står steg för steg i kopplingsguiden, och fler guider av samma sort ligger i guidesektionen.
Kvaliteten sitter i källan
Två EPG-källor. Samma kanaler. Helt olika grid – det händer hela tiden, och skillnaden sitter alltid i någon av tre saker:
- Uppdateringsintervallet. De flesta källor bygger om sina filer var 6–12 timme. En källa som uppdaterar sällan hinner inte med tablåändringar – då står gårdagens sanning kvar i gridet.
- Täckningen. Stora kanaler har alla. Nischkanaler ger glapp: tomma fält mitt i tablån där källan helt enkelt saknar data.
- Tidszonerna. En källa som anger tider i fel zon förskjuter hela dygnet. Allt ser ut att sända en timme fel – och i filen gör det ju det.
Någon genväg runt det här finns inte, hur gärna man än vill. En bra guide i playern börjar med en bra fil. Filen väljer du genom att välja källa. Det är hela hemligheten, och den är tråkig.
48 timmar är vad feedet vet
Källflöden har sällan säkra data längre fram än 48 timmar. Allt bortom det är gissningar eller förra veckans schema i repris. Jag jämförde 12 tablåsajter mot vad kanalerna sedan sände, i tre veckor – ingen höll bortom dag två. Hela testet, med siffror, står i artikeln om 48-timmarsgränsen.
Kortversionen: en EPG som slutar efter två dygn är inte trasig. Den är ärlig.
När du kan strunta i allt det här
Är din players inbyggda guide snabb och korrekt – behåll den och sluta läsa här. Menar jag det? Ja. Då behöver du varken tvg-id eller XMLTV-URL:er, och den här artikeln är administration du sluppit. Min guide var varken snabb eller korrekt: 7 sekunder för en tablå, mätta under en halvtidsvila, och det är ungefär därför hela sajten finns. Sitter du med en sådan guide vet du redan varför du läser vidare.
Ordningen när något ser fel ut, en gång till: källa, fil, tvg-id, player. Sist i kedjan ligger felet nästan aldrig. Där börjar alla leta ändå.
Vanliga frågor
Vad är EPG i IPTV?
Tablådatan din player visar – program, start- och sluttider per kanal. Den levereras som en fil från en källa, oftast XMLTV. Inbyggd i appen är den aldrig.
Vad är XMLTV?
Formatet de flesta EPG-flöden kommer i: kanaler, program och tider som XML. Filen din player hämtar och parsar när gridet byggs.
Vad är tvg-id?
Playlistens sätt att säga vilken kanal i XMLTV-filen tablån ska hämtas från. Matchar det inte filens channel-id: tom rad, eller fel kanals program. Två strängar som ska vara identiska – det är allt.
Hur ofta uppdateras EPG-data?
Källorna bygger om sina filer ungefär var 6–12 timme, och playern hämtar sen enligt sitt eget schema. Två klockor, så en tablåändring kan dröja innan den når ditt grid.
Varför är min EPG tom fast kanalerna spelar?
För att playlist och EPG är två separata leveranser. Antingen saknas EPG-källan helt, eller så matchar tvg-id:na inte. Kanalerna kan spela perfekt utan att tablån vet om att de finns.
Varför visar EPG:n bara två dygn framåt?
För att källflödena sällan vet mer. En guide som slutar efter 48 timmar visar det feedet kan stå för – de som visar mer fyller på med gissningar eller förra veckans schema.