Education·8 min

Door Shamir

Wat is EPG? De IPTV TV-gids uitgelegd (XMLTV, Nu/Volgende, en hoe het allemaal werkt)

Wanneer je een IPTV-speler opent en niet alleen een lijst met kanaalnames ziet, maar een volledig raster — "BBC One: News at Ten tot 22:30, daarna Match of the Day" — kijk je naar de EPG: de Electronic Program Guide. Het is het verschil tussen een speler die aanvoelt als een stapel URL's en een die aanvoelt als een televisie.

EPG is ook een van de meest misverstane onderdelen van IPTV. Mensen gaan ervan uit dat het van dezelfde plaats komt als de kanalen (dat doet het niet), dat het de taak van de speler is om het te genereren (dat is het niet), en dat een lege gids betekent dat de app kapot is (meestal is dat niet). Dit bericht is de begrijpelijke uitleg — de educatieve begeleiding voor onze EPG probleemoplossingsgids, en een zusterartikel van wat is Stalker Portal en M3U vs Xtream vs Stalker.

Schermafbeelding: Tuneline's EPG raster met nu/volgende programmakaarten

EPG in één zin

EPG is een afzonderlijk gegevensbestand dat opsomt wat er op elk kanaal wordt uitgezonden en wanneer, dat jouw speler over je kanaallijst heen legt om de tv-gids op te bouwen.

Dat is het hele concept. De kanalen zijn het ene (je M3U-afspeellijst of Xtream-account). Het schema is iets anders (een EPG-bestand). De taak van de speler is ze aan elkaar te koppelen.

Waar de EPG-gegevens werkelijk vandaan komen

Het standaardformaat voor EPG-gegevens is XMLTV — een XML-bestand (vaak met gzip gecomprimeerd, eindigend op .xml of .xml.gz) dat twee soorten vermeldingen bevat:

  1. Kanaaldefinities — elk kanaal dat de gids kent, met een unieke ID zoals bbc-one.uk of ESPN.us.
  2. Programmavermeldingen — voor elk kanaal-ID een lijst met programma's met een starttijd, eindtijd, titel, en meestal een beschrijving, categorie en afleveringsinformatie.

Een enkele programmavermelding ziet er ongeveer zo uit in de XML:

<programme start="20260611190000 +0000" stop="20260611210000 +0000" channel="bbc-one.uk">
  <title>FIFA World Cup 2026: Opening Match</title>
  <desc>Live coverage of the tournament opener.</desc>
  <category>Sport</category>
</programme>

Waar komt dit bestand vandaan? Uit één van twee plaatsen, afhankelijk van je providertype:

  • Xtream Codes-providers publiceren hun eigen EPG automatisch. Je account heeft een ingebouwde EPG-endpoint (de xmltv.php URL), en een goede speler ontdekt en haalt deze voor je op zonder dat jij iets hoeft te doen. Dit is het makkelijke geval.
  • Gewone M3U-providers geven je misschien een aparte XMLTV-URL om in te plakken, of helemaal geen. Als ze je een URL geven, plak je deze eenmaal in de speler. Zo niet, dan kun je een externe XMLTV-bron gebruiken — maar het afstemmen op je kanalen is moeilijker (meer daarover hieronder).

Het belangrijkste om te onthouden: de EPG wordt door je provider (of een derde partij) gepubliceerd, niet gegenereerd door de speler. Als je provider geen gidsgegevens publiceert, kan geen speler ter wereld het verzinnen.

Hoe de speler kanalen aan hun vermeldingen koppelt

Dit is waar het meeste EPG-verwarring leeft. De speler heeft twee afzonderlijke gegevensverzamelingen — je kanaallijst en de XMLTV-gids — en moet uitzoeken welke programmavermeldingen bij welk kanaal horen. Dit doet het door een identificator te vergelijken.

In je M3U-afspeellijst draagt elke kanaallijn meestal een tvg-id-attribuut:

#EXTINF:-1 tvg-id="bbc-one.uk" tvg-name="BBC One HD" group-title="UK",BBC One HD

De speler kijkt naar tvg-id="bbc-one.uk", doorzoekt vervolgens het XMLTV-bestand naar een <channel id="bbc-one.uk"> en alle <programme channel="bbc-one.uk">-vermeldingen. Wanneer de ID's overeenkomen, worden de vermeldingen aan het kanaal vastgemaakt. Wanneer ze niet overeenkomen — of wanneer tvg-id ontbreekt — verschijnt het kanaal met geen gidsgegevens, ook al is het EPG-bestand prima geladen en andere kanalen gevuld.

Deze misafstemming is de meest voorkomende EPG-klacht, en het is bijna altijd een gegevensprobleem bij de provider, geen bug in de speler:

  • De M3U heeft tvg-id="bbcone" maar de XMLTV gebruikt bbc-one.uk → geen match.
  • De M3U heeft helemaal geen tvg-id → niets om op af te stemmen.
  • De M3U en XMLTV van de provider worden onderhouden door verschillende mensen die nooit over ID's hebben onderhandeld.

Diagram: hoe tvg-id een M3U-kanaal aan zijn XMLTV-vermeldingen koppelt

"Nu / Volgende" versus het volledige raster

EPG-gegevens bepalen twee weergaven die je in elke goede speler ziet:

  • Nu / Volgende — de compacte vorm. Terwijl je een kanaal bekijkt, toont de speler het huidige programma en wat daarna komt, meestal met een voortgangsbalk die laat zien hoe ver je in de huidige show bent. Dit is de meestgebruikte EPG-functie; het vertelt je "je bent op minuut 60 ingestegen."
  • De Gids / Raster — de volledige tweedimensionale weergave. Kanalen op de ene as, tijd op de andere, elke cel een programmakaart. Zo blader je door "wat er vanavond te zien is" en plan je je avond.

Beide worden uit dezelfde XMLTV-gegevens opgebouwd. Het raster toont er alleen meer tegelijk van.

Tijdzones: waarom je gids een paar uur verschoven kan zijn

Een subtiel maar algemeen probleem: XMLTV-tijden bevatten een UTC-offset (de +0000 in het bovenstaande voorbeeld). Je speler zet die om naar je lokale tijd. Wanneer de gids programma's op het verkeerde moment toont — alles verschoven met 1, 5 of 8 uur — is het bijna altijd één van:

  • De provider publiceerde tijden met de verkeerde offset (bijv., alles getagd +0000 terwijl het schema eigenlijk Britse lokale tijd is tijdens de Britse zomertijd).
  • De tijdzone van je apparaat is verkeerd ingesteld.
  • De EPG van de provider is voor een ander gebied dan de kanalen die je bekijkt.

Een goede speler stelt je in staat een handmatige EPG-tijdverschuiving per afspeellijst toe te passen om een consistent verschoven gids te corrigeren. Zijn alleen enkele kanalen verschoven, dan mengt de provider regioffeeds, en een globale offset zal het niet schoon oplossen.

Hoe EPG herinneringen en inhaalvideo mogelijk maakt

EPG is niet alleen voor bladeren. Twee functies hangen ervan af:

  • Programmaherinneringen. Omdat de gids weet wanneer een programma begint (bijvoorbeeld om 19:00 uur), kan de speler je op tijd melden. Stel een herinnering in voor een toekomstig programma in het raster en de speler waarschuwt je wanneer het op het punt staat te beginnen.
  • Inhaalvideo / time-shift. Inhaalvideo aan de provider-kant gebruikt EPG om de grenzen van elk vorig programma te kennen, zodat "terugspoelen naar het begin van het 18:00 uur nieuws" werkt. Zonder nauwkeurige EPG kan inhaalvideo programmagrenzen niet vinden. Zie onze catch-up TV-uitleg.

Dus nauwkeurige EPG ondersteunt niet alleen het mooie raster — het is ook de ruggengraat van herinneringen en terugspoelen.

Hoe Tuneline EPG afhandelt

In Tuneline is de werkstroom ontworpen om zo min mogelijk handwerk nodig te hebben:

  • Xtream Codes-accounts: EPG wordt automatisch ontdekt en opgehaald bij de eerste synchronisatie. Je doet niets — open de gids en deze is er (aangenomen dat de provider deze publiceert).
  • M3U-afspeellijsten: als je provider je een XMLTV-URL gaf, plak deze in bij het toevoegen van de afspeellijst. Tuneline haalt het op en slaat het in cache op, met regelmatige vernieuwing.
  • Afstemming: Tuneline stemt eerst af op tvg-id, valt vervolgens terug op fuzzy naamovereenkomst voor kanalen waar de tvg-id ontbreekt maar de kanaalnaam nauw overeenkomt met een XMLTV-kanaalnaam. Dit herstelt enkele gidsgegevens die spelers met alleen strikte ID's blanco zouden laten.
  • Tijdverschuiving: Instellingen → EPG → Tijdverschuiving laat je een consistent verschoven gids per afspeellijst opnieuw uitlijnen.
  • Vernieuwen: de gids wordt lokaal in cache opgeslagen en ververst volgens een schema zodat het openen van het raster instant is in plaats van elke keer op een netwerk-ophaling te wachten.

Als je gids leeg of gedeeltelijk is, helpt de EPG probleemoplossingsgids je door de fixes heen.

Veelgestelde vragen

Wat is EPG op TV?

EPG staat voor Electronic Program Guide — het op het scherm zichtbare schema dat laat zien wat er nu en wat er daarna wordt uitgezonden. Het concept is identiek op elke televisie; alleen de aflevering verandert. Op kabel-, satelliet- en aardse TV wordt de gids in het uitzendingssignaal zelf uitgezonden, dus is deze eenvoudig altijd aanwezig. Op IPTV is er geen uitzendingssignaal om het in mee te voeren, dus is de gids een afzonderlijk XMLTV-bestand dat je speler ophaalt en op je kanalen afstemt.

Dit verschil verklaart de meest voorkomende IPTV-klacht: een gids die leeg is terwijl de kanalen perfect afspelen. Op een kabelbox is deze combinatie onmogelijk. Op IPTV betekent het gewoon dat het schema-bestand ontbreekt of dat de kanaal-ID's niet overeenkomen.

Is EPG hetzelfde als de kanalen?

Nee. Kanalen komen van uw M3U afspeellijst of Xtream-account. EPG (het schema) is een apart XMLTV bestand. Ze worden door de speler aan elkaar gekoppeld. Een provider kan u geweldige kanalen en geen EPG geven, of omgekeerd.

Waarom hebben sommige kanalen een gids en andere zijn leeg?

Omdat de lege kanalen een tvg-id hebben die niet overeenkomt met iets in het XMLTV bestand (of helemaal geen tvg-id). De EPG wordt prima geladen — het heeft alleen niets om aan die specifieke kanalen vast te hechten. Dit is een dataprobleem van de provider, geen spelerprobleem.

Kan ik mijn eigen EPG bron toevoegen als mijn provider er geen heeft?

Ja — u kunt een XMLTV URL van een derde partij plakken. Het probleem is dat een generieke EPG bron zijn eigen kanaal-ID's gebruikt, die niet overeenkomen met de tvg-id waarden van uw provider, dus de meeste kanalen blijven leeg tenzij de ID's toevallig overeenkomen. Het werkt het beste voor bekende kanalen met gestandaardiseerde ID's.

Hoe vaak wordt de EPG bijgewerkt?

Providers publiceren meestal een voortschrijvend venster — vaak "nu plus de volgende 3–7 dagen." Spelers cachen het en halen het opnieuw op volgens een schema (Tuneline wordt regelmatig ververst en bij handmatig verversen). Buiten het gepubliceerde venster heeft het raster eenvoudigweg nog geen gegevens.

Mijn hele gids is een paar uur verschoven. Hoe herstel ik dit?

Pas een EPG tijdverschuiving toe (Instellingen → EPG → Tijdverschuiving in Tuneline) om het terug te verschuiven. Bevestig eerst dat de tijdzone van uw apparaat correct is. Als alleen enkele kanalen onjuist zijn, mengt de provider regionale feeds en zal een globale verschuiving niet alles repareren.

Gebruikt EPG veel data?

Nee. Een XMLTV bestand voor enkele honderden kanalen met een week aan programmering is doorgaans slechts enkele MB gecomprimeerd — verwaarloosbaar vergeleken met één minuut video. Het is verreweg het goedkoopste onderdeel van IPTV.

Waarom is de gids leeg wanneer ik een nieuwe afspeellijst toevoeg?

De eerste EPG ophaling gebeurt op de achtergrond en kan enkele seconden tot een minuut duren voor grote gidsen. Geef het een moment, trek omlaag om te vernieuwen. Als het na een minuut nog steeds leeg is, raadpleeg de gids voor probleemoplossing.

Wat is het verschil tussen EPG en XMLTV?

EPG is het concept (de programmagids op het scherm). XMLTV is het bestandsformaat dat de gegevens draagt. Mensen gebruiken de termen losjes — "mijn EPG" betekent meestal "mijn XMLTV bestand." Er is ook een op JSON gebaseerde EPG die sommige Xtream-panelen bieden, maar XMLTV is de universele standaard.


Het belangrijkste

EPG verandert een lijst van kanalen in een televisie. Het is een apart XMLTV bestand — gepubliceerd door uw provider, niet gegenereerd door de speler — dat de speler aan uw kanalen aansluit met behulp van het tvg-id veld, en vervolgens weergeeft als Nu/Volgende en een volledig raster. Wanneer programmering ontbreekt of onjuist is, is de oorzaak bijna altijd de gegevens van de provider (niet-overeenkomende ID's, ontbrekende ID's, verkeerde tijdzone), niet de app.

Tuneline detecteert automatisch EPG voor Xtream-accounts, accepteert een XMLTV URL voor M3U afspeellijsten, vergelijkt op tvg-id met een terugvaloptie op basis van naam, en laat u een verschoven gids corrigeren met een tijdverschuiving per afspeellijst — dus de gids is zo volledig als uw providergegevens toestaan.

Schermafbeelding: Nu/Volgende overlay van Tuneline met voortgangsbalk

Deel dit artikel

The fast fix

Get Tuneline free

A clean, no-account media player for macOS, Windows, Linux, Android, TV, and iOS. Bring your own playlist.

Download free

The cross-platform media player behind these answers — new platforms, sync updates, the honest build story. No spam, unsubscribe anytime.

Lees dit artikel in een andere taal

Tuneline is een mediaspeler-applicatie. Het levert, host of verspreidt geen enkele content. Je neemt je eigen afspeellijst mee, precies zoals bij VLC.