Cos’è una playlist M3U (e M3U8)
Un file M3U è una playlist in testo semplice: un elenco di flussi, uno per riga, che il player legge dall’alto verso il basso. Nato per le liste di brani MP3, oggi è il modo più diffuso di passare a un’app l’elenco dei canali IPTV. Nella versione «estesa» la prima riga è sempre #EXTM3U; ogni canale occupa poi due righe: una riga #EXTINF con la durata (per uno stream live si scrive -1 o 0), alcuni attributi facoltativi e, dopo la virgola, il nome del canale; subito sotto, l’URL del flusso.
#EXTM3U x-tvg-url="http://esempio.tv/guida.xml"
#EXTINF:-1 tvg-id="canale-x" tvg-name="Canale X" tvg-logo="http://esempio.tv/loghi/canale-x.png" group-title="Generalisti;HD",Canale X HD
http://server.esempio.tv:8080/live/UTENTE/PASSWORD/101.ts
#EXTINF:-1 tvg-id="canale-y" group-title="Sport" catchup="default" catchup-days="3",Canale Y
http://server.esempio.tv:8080/live/UTENTE/PASSWORD/102.m3u8Gli attributi che contano, secondo la documentazione di PVR IPTV Simple Client di Kodi:
- tvg-id: identificativo univoco del canale, utilizzato per abbinarlo ai programmi del file EPG in formato XMLTV. Se non coincide con l’id del file guida, il canale resta senza programmazione.
- tvg-name e tvg-logo: il nome del canale nei dati EPG e l’URL del logo.
- group-title: uno o più gruppi separati da punto e virgola (per esempio «Sport;HD»), da cui l’app ricava le categorie.
- tvg-chno: il numero di canale da assegnare.
- x-tvg-url (nella riga #EXTM3U): l’indirizzo del file XMLTV, letto solo se nelle impostazioni dell’app non hai già indicato un URL EPG.
- catchup, catchup-source, catchup-days: dichiarano che il canale ha il replay e per quanti giorni indietro.
Il minimo indispensabile è una riga #EXTINF con il nome e la riga con l’URL: tutto il resto è opzionale. La variante M3U8 è lo stesso formato con codifica UTF-8 obbligatoria; la stessa estensione compare anche negli indirizzi dei singoli canali, perché Apple ha costruito il protocollo HLS (RFC 8216) sul formato M3U esteso.
Cosa significa «login con Xtream Codes API»
Xtream Codes era un pannello di gestione per provider IPTV. La documentazione della sua «Player API v2» fu pubblicata sul forum ufficiale, oggi chiuso, ma il protocollo è sopravvissuto: TiviMate lo elenca tra i formati di playlist più comuni insieme a M3U e Stalker Portal. Con questo metodo non carichi nessun file. Inserisci nell’app tre dati — Server URL (di solito con la porta, per esempio http://server:25461), username e password — e il resto lo fa l’app da sola.
Dietro le quinte l’app chiama player_api.php con username e password per autenticarsi, poi passa il parametro action per chiedere ogni cosa al server:
http://server.esempio.tv:25461/player_api.php?username=UTENTE&password=PASSWORD
http://server.esempio.tv:25461/player_api.php?username=UTENTE&password=PASSWORD&action=get_live_streams
http://server.esempio.tv:25461/player_api.php?username=UTENTE&password=PASSWORD&action=get_series
http://server.esempio.tv:25461/xmltv.php?username=UTENTE&password=PASSWORD- Canali live: get_live_categories e get_live_streams restituiscono categorie e canali.
- Film e serie: get_vod_streams, get_series e get_series_info danno cataloghi separati con stagioni ed episodi; get_vod_info aggiunge trama, durata e codec.
- EPG: get_short_epg mostra i prossimi programmi di un canale, get_simple_data_table l’intera programmazione, e xmltv.php esporta la guida completa in XMLTV.
- Catch-up: i replay passano da un endpoint timeshift del tipo /timeshift/utente/password/durata/inizio/id.
I flussi veri e propri sono URL del tipo /live/utente/password/id.ts (o .m3u8), /movie/… per i film e /series/… per le serie. Sullo stesso server c’è anche get.php, il generatore di playlist: è da lì che nasce la M3U che il provider ti manda quando la tua app non ha il login Xtream. In altre parole, Xtream Codes e M3U sono due porte d’ingresso sullo stesso account, non due abbonamenti diversi. Il quadro generale è nella nostra guida completa all’IPTV.
Xtream Codes vs M3U: tabella di confronto
| Criterio | Xtream Codes API | Playlist M3U |
|---|---|---|
| Cosa serve per configurarla | Server URL, username e password, digitati in tre campi. | Un link (o un file) M3U; per la guida TV anche un URL XMLTV separato. |
| EPG | Inclusa: l’app la chiede al server con get_short_epg o xmltv.php. | Separata: serve l’URL XMLTV (o l’attributo x-tvg-url) e i tvg-id devono coincidere con il file guida. |
| VOD e serie | Cataloghi separati con categorie, schede, stagioni ed episodi. | Solo come righe aggiuntive della stessa lista; nessuna struttura stagioni/episodi. |
| Catch-up | Endpoint timeshift dedicato, gestito dall’app. | Solo se ogni canale porta gli attributi catchup, catchup-source e catchup-days. |
| Aggiornamento canali | L’elenco arriva dal server a ogni richiesta: niente file da riscaricare. | I canali nuovi compaiono solo quando l’app riscarica il file (in Kodi c’è l’opzione «Auto refresh mode»). |
| App che la supportano (documentazione ufficiale verificata) | TiviMate. | TiviMate, Kodi con PVR IPTV Simple Client, Smarters Player Lite. |
Nella riga delle app compaiono solo quelle di cui abbiamo letto la documentazione ufficiale. Per IPTV Smarters Pro leggi la nostra recensione di IPTV Smarters Pro.
Pro e contro di Xtream Codes e di M3U
Xtream Codes API — pro:
- Configurazione in tre campi, senza copiare URL lunghissimi col telecomando.
- Canali, film, serie, guida TV e catch-up arrivano con un solo login.
- Nessun file da aggiornare: vedi la lista che il server ha in quel momento.
Xtream Codes API — contro:
- Funziona solo nelle app che implementano l’API: PVR IPTV Simple Client di Kodi, per esempio, si configura con URL M3U e URL XMLTV.
- La porta nel Server URL (per esempio :25461) confonde chi è alle prime armi: va copiata esattamente come te la manda il provider.
Playlist M3U — pro:
- Universale: funziona ovunque si possa incollare un link, da Kodi alle app per Smart TV.
- È testo leggibile: puoi rinominare gruppi o cambiare l’ordine con un editor, e scegliere tu la fonte EPG.
Playlist M3U — contro:
- La guida TV è un secondo file, e se i tvg-id non coincidono resta vuota (vedi cosa fare quando l’EPG IPTV non funziona).
- Film e serie sono solo altre righe della lista; il catch-up c’è solo se il provider ha inserito gli attributi giusti.
- I canali nuovi compaiono solo dopo il ricaricamento del file, e il link contiene username e password in chiaro.
Quale usare, dispositivo per dispositivo
- Fire TV Stick, Android TV e Google TV: scegli Xtream Codes. TiviMate è progettato per Android TV, supporta M3U, Xtream Codes e Stalker Portal e aggiunge guida TV, catch-up, registrazione e playlist multiple. I passaggi sono nella guida IPTV per Firestick, nella guida per Android TV e Google TV e nella recensione di TiviMate.
- Kodi: serve la M3U. PVR IPTV Simple Client legge una playlist M3U (da URL o da file) e un file XMLTV per la guida; dal Kodi 20 accetta più coppie M3U/XML. Segui la guida IPTV per Kodi.
- iPhone, iPad e Apple TV: su iPhone e iPad Smarters Player Lite, l’app di WHMCS Smarters sull’App Store, legge playlist M3U e JSON e integra l’EPG. Su Apple TV la via sicura è AirPlay da iPhone o iPad; una versione per tvOS non l’abbiamo potuta confermare, quindi verificala nell’App Store della tua Apple TV. Le istruzioni sono nelle guide per Apple TV e per iPhone e iPad.
- Samsung e LG Smart TV: dipende dall’app che installi dallo store del televisore. Se ti chiede un link, inserisci l’URL M3U e aggiungi l’URL EPG; i dettagli sono nella guida IPTV per Samsung Smart TV e nella guida per LG TV.
- Decoder MAG: nessuno dei due, ma un terzo metodo, lo Stalker Portal, spiegato nella guida per MAG box.
- PC Windows: vedi la guida IPTV per PC Windows.
L’elenco completo di TV, box e app, con il metodo consigliato per ciascuno, è nella pagina dei dispositivi compatibili con l’IPTV. Con l’abbonamento Apollo Group TV ricevi le credenziali Xtream (Server URL, username e password) e, se ti servono, l’URL M3U e l’URL EPG: chiedili su WhatsApp indicando il tuo dispositivo. I piani sono nella pagina dei prezzi degli abbonamenti IPTV.
Sicurezza: la playlist contiene le tue credenziali
Guarda di nuovo l’esempio più in alto: ogni riga di flusso ha la forma /live/utente/password/id.ts. Una playlist M3U è quindi un file in cui username e password compaiono in chiaro decine di volte, e il link che la genera li contiene a sua volta. Chi ha quel file o quel link ha il tuo abbonamento.
- Non incollare mai l’URL M3U o le credenziali Xtream in gruppi, forum o chat pubbliche, nemmeno per chiedere aiuto: oscura username e password negli screenshot.
- Evita le «liste gratuite» trovate in rete: contengono le credenziali di qualcun altro; su cosa è lecito leggi la pagina su se l’IPTV è legale in Italia.
- Se sospetti che il tuo link sia finito in giro, avvisa subito il supporto su WhatsApp.
Posso passare da M3U a Xtream Codes senza cambiare abbonamento?
Sì. La M3U viene generata da get.php sullo stesso server e con le stesse credenziali del login API: username e password sono già quelli giusti, ti manca solo il Server URL con la porta. Se il provider ti ha mandato soltanto il link della playlist, chiedigli i tre dati per il login Xtream: non è un abbonamento diverso.
Con la M3U l’EPG resta vuota: perché?
Perché la playlist non contiene i programmi: li contiene il file XMLTV, che va indicato a parte (nelle impostazioni dell’app o con l’attributo x-tvg-url nella riga #EXTM3U). L’app abbina poi ogni canale al file guida tramite il tvg-id; se l’id nella playlist è diverso da quello nel file, quel canale resta senza programmazione. Trovi la spiegazione completa nella pagina su come funziona l’EPG XMLTV per l’IPTV.
Che differenza c’è tra M3U e M3U8?
Il contenuto è identico: M3U8 indica che il file è codificato in UTF-8, quindi i nomi con accenti si leggono correttamente ovunque. Un link che finisce in .m3u8 può però essere anche il flusso HLS di un singolo canale, perché HLS adotta lo stesso formato: incollato come playlist, non darà nessuna lista.
Cos’è lo Stalker Portal e quando serve?
È il terzo metodo di accesso, basato su un portal URL invece che su una playlist o su un login API: lo adottano i decoder MAG e lo supporta anche TiviMate. Il portal URL è diverso dalle credenziali Xtream e dal link M3U: se hai un MAG chiedilo all’attivazione. Per il replay dei programmi, leggi la pagina sul catch-up TV con l’IPTV.
Fonti
- PVR IPTV Simple Client — README ufficiale (elementi M3U e XMLTV supportati, catch-up, auto refresh) — Kodi / kodi-pvr su GitHub (letta il 30 agosto 2026)
- M3U — formato del file, #EXTM3U, #EXTINF, M3U8 e HLS — Wikipedia (letta il 30 agosto 2026)
- Xtream Codes Player API v2 — copia della documentazione pubblicata sul forum ufficiale (player_api.php, azioni, xmltv.php) (letta il 30 agosto 2026)
- Xtream Codes API Documentation — endpoint get.php, formato degli URL /live, /movie, /series e timeshift — World of IPTV su GitHub (letta il 30 agosto 2026)
- TiviMate IPTV Player — scheda ufficiale su Google Play (formati M3U, Xtream Codes, Stalker Portal; EPG, catch-up, registrazione) (letta il 30 agosto 2026)
- Smarters Player Lite — scheda ufficiale di WHMCS Smarters sull’App Store (playlist M3U e JSON, EPG integrata, iPhone e iPad) (letta il 30 agosto 2026)
Ricevi le credenziali nel formato giusto
Dicci quale dispositivo usi e ti mandiamo login Xtream Codes o URL M3U ed EPG.