The short answer
If your provider gives you an Xtream login, use it. The player gets the program guide, catch-up, films and series from the provider without a second URL, and can show when the subscription runs out. Use M3U when it is the only thing you were sent, or when the playlist is one you built or exported yourself.
What an M3U playlist is
An M3U playlist is a text file. Each channel is two lines: one starting with #EXTINF that carries its name, logo, group and guide ID, and one with the stream address. The provider builds the whole file and the player downloads it every time it refreshes.
The program guide is a separate XMLTV file. Some playlists name it in their first line, as url-tvg or x-tvg-url, but players differ on whether they read it, so most ask for the guide URL in a field of its own.
What an Xtream Codes login is
Xtream Codes began as panel software for running an IPTV service. The original service went offline in 2019, but its API lives on in the panels most providers use, and the login format kept the name. It is three things: a server address, often with a port such as :8080, a username and a password.
Instead of one big file, the player asks the panel for what it needs: the live categories, the channels in each, the guide from xmltv.php, the films and series, and the account’s own details.
Often the same account
The M3U link most providers send is generated by the same panel. It usually looks like this:
http://example.tv:8080/get.php?username=alex&password=s3cret&type=m3u_plus
That is an Xtream login written as one URL: the server is everything before /get.php, and the username and password are right there in the query. When you paste a link like this as an M3U playlist, Spectati reads the account out of it and talks to the panel directly, so the guide, catch-up and on-demand catalogue work just as they would with the login typed in.
What changes in practice
The program guide
An Xtream panel serves its own guide, and Spectati fills in the address while you type the login. A plain M3U playlist needs its XMLTV address pasted into EPG URL. The XMLTV guide setup covers channels that still show no programmes.
Catch-up
Xtream marks a channel with an archive as tv_archive. An M3U playlist marks it with catchup, catchup-source, catchup-days or timeshift attributes, and only when the provider writes them. Catch-up comes with a Spectati subscription either way.
Films and series
An Xtream panel lists films and series as their own catalogue, with plots, cast and episodes by season. An M3U playlist mixes them in with the channels. Spectati sorts out the entries the provider marks as films and series and groups episodes into shows, with less information to go on.
Your account
An Xtream panel reports when the subscription expires and how many streams it allows. Spectati shows both on the provider’s page, and when every allowed stream is already playing on another device it says so.
When M3U is the right choice
- The provider sends only an M3U link, or a link that does not contain a username and password.
- The playlist comes from a tool you run yourself, such as a TV tuner or a playlist editor, rather than from a provider panel.
- You trimmed or merged a playlist by hand and want the player to use exactly that file.
- A channel needs its own headers, such as a user agent or a referrer. Spectati honours #EXTVLCOPT and #KODIPROP lines written into the playlist.
Both carry your password
A get.php link has the username and password in plain sight, so anyone who has the link has the account. Treat it like a password: keep it out of screenshots, forum posts and shared notes. If it leaks, ask the provider to reset the password, which changes the link too.