EPG et XMLTV pour l'IPTV : Le guide complet
Une TV sans guide, c'est juste une liste de fréquences. Le Guide Électronique des Programmes (EPG) transforme « chaîne 482 » en « Le 20 Heures — 20:00 ». En IPTV, l'EPG est livré via un standard nommé XMLTV, et la façon dont vous le branchez fait la différence entre un salon moderne et un tableur d'URLs frustrant. Voici tout ce qu'il faut savoir.
Le XMLTV, c'est quoi exactement ?
Le XMLTV est un format XML ouvert, hérité du début des années 2000, qui décrit ce qui passe, où, et quand. Une entrée typique :
<programme start="20260425200000 +0200" stop="20260425210000 +0200" channel="france2.fr"> <title lang="fr">Le 20 Heures</title> <desc>Journal télévisé présenté par Anne-Sophie Lapix.</desc> <category>Information</category> </programme>
Chaque <programme> relie un créneau horaire à un channel id. La balise <channel> en tête de fichier mappe cet id à un nom d'affichage. Si le nom de chaîne dans la playlist ne correspond pas au tvg-id XMLTV, le guide est vide — c'est la cause n°1 du « EPG ne marche pas ».
D'où vient l'EPG
| Source | Ce que vous obtenez | Coût |
|---|---|---|
| API Xtream Codes | EPG livré avec les chaînes, mappage automatique | Inclus |
| URL XMLTV du fournisseur | Un seul fichier avec des milliers de chaînes | Souvent gratuit |
| Sources communautaires (epg.best, iptv-org) | Guides ouverts par pays | Gratuit |
| Schedules Direct | Programmes premium US/UK/CA, très fiables | Abonnement |
| XMLTV scrappé maison | Curaté à la main depuis les sites des chaînes | Que du temps |
Configurer l'EPG dans StreamVision
Voie A — Xtream Codes (zéro config)
Si vous êtes connecté en Xtream, l'EPG est déjà actif. L'app appelle get_short_epg par chaîne à la demande et un get_full_epg une fois par jour. Rien d'autre à faire.
Voie B — M3U + XMLTV externe
.xml ou .xml.gz).Fuseaux horaires : le tueur silencieux
La moitié des « EPG faux » se résume à un calcul de fuseau. Les heures XMLTV sont absolues (20260425200000 +0200), mais certains fichiers sont produits avec le mauvais offset, ou pire, sans offset du tout. StreamVision applique, dans cet ordre :
- L'offset présent dans l'entrée XMLTV, s'il est valide.
- Un override par source que vous pouvez forcer dans l'app (utile pour les flux mal exportés).
- Le fuseau actuel du téléphone, en dernier recours.
Si votre guide est décalé de deux heures, ne blâmez pas le lecteur — ouvrez le fichier XML et vérifiez l'offset de quelques balises <programme> d'abord.
Mapping chaîne ↔ EPG (l'astuce tvg-id)
Dans un M3U, chaque ligne devrait déclarer un tvg-id qui correspond à un id de chaîne dans votre XMLTV :
#EXTINF:-1 tvg-id="france2.fr" tvg-name="France 2" group-title="FR TNT",France 2 http://serveur.com/live/USER/PASS/123.ts
Si la playlist utilise tvg-id="FR2" alors que l'id XMLTV est france2.fr, le guide reste vide. StreamVision permet de remapper manuellement par chaîne — pratique quand un fournisseur change ses conventions.
XMLTV compressé (.xml.gz, .xz)
Une semaine complète d'EPG pour 2 000 chaînes pèse facilement 80 Mo en clair. La plupart des sources publiques servent une version gzip (.xml.gz), souvent 10× plus légère. StreamVision détecte l'extension et décompresse à la volée — pas d'étape supplémentaire.
Checklist de dépannage
- Guide vide partout. Mismatch de tvg-id — ouvrez les infos d'une chaîne et vérifiez l'id assigné.
- Guide qui charge puis disparaît. L'URL renvoie un HTTP 200 avec du HTML (page de login) au lieu du XML.
- « En cours » OK mais pas la suite. Le fichier ne contient qu'aujourd'hui ; passez à une source 7 jours.
- Caractères spéciaux cassés. XML déclaré
iso-8859-1alors que le fichier est UTF-8 — réexportez la source. - L'EPG vide la batterie. Réduisez la fréquence à toutes les 24 h ; un guide hebdo ne demande pas plus.
Pourquoi s'embêter avec l'EPG ?
Au-delà de la jolie grille, un vrai EPG débloque : minuteurs d'enregistrement (catch-up Xtream), recherche vocale « ce qui passe maintenant » sur Android TV, contrôle parental par âge, notifications intelligentes au coup d'envoi de votre équipe, et le plus simple — savoir ce qui passe sans scroller 8 000 chaînes. C'est ce qui fait que l'IPTV ressemble enfin à de la vraie TV.
Un vrai guide TV
Branchez votre URL XMLTV ou utilisez Xtream — StreamVision s'occupe du reste.