In short
- XMLTV answers 'what is on this channel at this time'. A metadata API answers 'what is this movie, who is in it, what does the poster look like'. They are not interchangeable.
- Live channels need a schedule, which only the provider or an XMLTV feed can give. Movies and series need a catalog, which a public database provides for any title in the world.
- That is why a player can show posters, cast and synopses on every movie while the live guide depends entirely on what your provider publishes.
On this page
Open a good IPTV player and two things sit side by side: a live guide that says what is on each channel, and a movie tab full of posters, synopses and ratings. They look like parts of the same system. They are not. They come from two kinds of data that know different things, and understanding the split explains one of the most common surprises in IPTV: a movie library that looks like Netflix next to a live guide with holes in it.
Two questions, two kinds of data
"What is on this channel right now?" is a question about a broadcast: a time, a channel, a program. The answer changes every hour and differs by country and by provider. It lives in a schedule feed, the XMLTV file or the provider's equivalent, described in our guide on how the EPG works.
"What is this movie?" is a question about a work: a title, a year, a director, a cast, a poster, a synopsis, a rating. The answer does not change and is the same for everyone. It lives in a catalog, and the best catalogs are public databases with an API, TMDB being the one most players use.
A schedule feed knows that "Film: Dune 2" airs at 21:00 on channel 12. It does not know who directed it. A catalog knows everything about Dune: Part Two. It does not know that channel 12 airs it tonight. A player that wants both has to use both.
What XMLTV knows, and what it does not
A schedule feed is a list of programs per channel with times, titles and, at best, a short description and a category. Its strengths are the ones that matter for live TV: it is time-bound, channel-bound, and updated daily. Its weaknesses are just as structural:
- Coverage is the provider's choice. A feed covers the channels someone bothered to include. Big national channels always; small ones as they see fit. A missing channel is a hole in the guide, and no other data source can fill it.
- Descriptions are thin. A title and two lines, sometimes nothing. No poster, no cast.
- Matching is fragile. The feed's channel identifiers must match the playlist's, or the programs attach to the wrong channel, as the empty guide guide explains.
Everything a live guide can show comes from that feed. A player can make it load faster, cache it, and retry, but it cannot add what the feed does not contain.
What a metadata API knows, and what it does not
A catalog API answers questions about works on request: search a title, get an identifier, then get everything attached to it. TMDB, the one IPTV Guard uses, holds around a million movies and hundreds of thousands of series, with posters, backdrops, synopses in dozens of languages, cast, ratings, episode lists per season.
Its strengths are the ones that make a movie tab pleasant: complete, multilingual, visual, and the same for every provider. Its weaknesses are the mirror of XMLTV's:
- It knows nothing about broadcasts. No channel, no time, no "tonight".
- It needs a clean title to match. A playlist entry like
FR - Dune.Part.Two.2024.1080p.MULTIhas to be turned into "Dune: Part Two, 2024" before the catalog can find it. That cleanup is the player's job, and providers make it hard with tags, years missing, and titles in the wrong language. - It is rate-limited and shared. A public API serves everyone; a player has to cache aggressively and match once, not on every screen.
How a player combines them
Live channels: the player asks the provider for the schedule of each channel (Xtream Codes serves it per channel), matches it, caches it, shows "Live" where there is nothing. Movies and series: the player takes each title from the playlist, cleans the name, searches the catalog, keeps the match, and draws the page from the catalog's data: poster, synopsis, rating, cast, seasons and episodes for series, with the playlist supplying only the stream.
Two more things fall out of this design. First, sports: a match page with teams, competition and kick-off time is neither a schedule nor a movie; IPTV Guard builds it from a sports data source and then looks in your playlist for the channels that carry the game, which is how "which channel shows the match" gets answered. Second, resume points and "next episode" only work when the catalog identifies the episode, which is why an M3U with loosely named files sometimes resumes on the wrong one.
Why it matters when you choose a playlist format
With Xtream Codes, the provider hands the player a structured catalog: categories, movies with a year, series with seasons. Matching to TMDB is reliable and the live schedule comes from the same server. With an M3U, movies and series are flat lines whose names the player must parse, and the live guide has no source at all in IPTV Guard. The M3U versus Xtream Codes guide draws the practical conclusion: when you can choose, choose Xtream.
What to remember
Two questions, two data sources. The live guide is only ever as good as the schedule your provider publishes; the movie and series pages are as good as the public catalog, which is very good. A player's job is to fetch both, match them well, cache them, and be honest when one of them has nothing to say.
In IPTV Guard
IPTV Guard takes the live schedule from your provider's Xtream Codes server, and fills in movies and series from TMDB: posters, synopses, ratings, cast, next episode. The two never mix: the guide is only as good as the provider's feed, the movie pages are as good as the world's largest open movie database. Attribution to TMDB is in the app and on this site, as their terms require.
Frequently asked questions
Why are my movies beautifully presented while my live channels have no guide?
Because the two come from different places. Movie pages are built from a public catalog that knows every film ever released. The live guide needs your provider's schedule, and if the provider publishes nothing for a channel, no catalog in the world can invent what is on it right now.
Can a metadata API replace the EPG?
No. It knows works, not broadcasts. It can tell you everything about a match's teams or a movie, not that channel 12 airs it at 21:00 tonight. Only a schedule feed knows that.
Where do the posters come from?
From TMDB, The Movie Database, a community-maintained catalog with an open API. IPTV Guard matches each title from your playlist to it, which is why a movie named 'Dune.Part.Two.2024.1080p' in the playlist shows up as Dune: Part Two with its real poster.
What happens when a title is not found?
The player shows the name from the playlist, without poster or synopsis. It usually means the provider's naming is unusual: a misspelled title, a year missing, a foreign title. The channel still plays.
Is XMLTV obsolete?
It is old, and it is still the format every provider and every player agrees on for schedules. Nothing has replaced it, because nothing needed to: it does one thing, and it does it fine.
