Education·8 min

Από Shamir

Τι είναι το EPG; Ο οδηγός TV του IPTV εξηγείται (XMLTV, Τώρα/Μετά και πώς λειτουργούν όλα)

Όταν ανοίγετε ένα IPTV player και βλέπετε όχι μόνο μια λίστα ονομάτων καναλιών, αλλά ένα πλήρες πλέγμα — «BBC One: Ειδήσεις στις δέκα έως τις 22:30 και μετά Match of the Day» — βλέπετε το EPG: τον Ηλεκτρονικό Οδηγό Προγράμματος. Είναι η διαφορά ανάμεσα σε ένα player που μοιάζει με σωρό από URL και σε ένα που θυμίζει τηλεόραση.

Το EPG είναι επίσης ένα από τα πιο παρεξηγημένα μέρη του IPTV. Πολλοί υποθέτουν ότι προέρχεται από το ίδιο σημείο με τα κανάλια (δεν ισχύει), ότι είναι δουλειά του player να το δημιουργεί (επίσης δεν ισχύει) και ότι ένας κενός οδηγός σημαίνει πως η εφαρμογή έχει πρόβλημα (συνήθως δεν ισχύει). Αυτή η ανάρτηση είναι η απλή, κατανοητή εξήγηση — το εκπαιδευτικό συμπλήρωμα του οδηγού αντιμετώπισης προβλημάτων EPG και το αντίστοιχο άρθρο του τι είναι το Stalker Portal και M3U έναντι Xtream έναντι Stalker.

Στιγμιότυπο οθόνης: το πλέγμα EPG του Tuneline με τα μπλοκ προγραμμάτων Τώρα/Μετά

Το EPG με μία πρόταση

Το EPG είναι ένα ξεχωριστό αρχείο δεδομένων που καταγράφει τι προβάλλεται σε κάθε κανάλι και πότε, το οποίο το player τοποθετεί πάνω από τη λίστα καναλιών σας για να δημιουργήσει τον τηλεοπτικό οδηγό.

Αυτή είναι όλη η βασική ιδέα. Τα κανάλια είναι ένα πράγμα (η λίστα αναπαραγωγής M3U ή ο λογαριασμός Xtream). Το πρόγραμμα είναι κάτι διαφορετικό (ένα αρχείο EPG). Η δουλειά του player είναι να τα αντιστοιχίσει.

Από πού προέρχονται στην πραγματικότητα τα δεδομένα του EPG

Η τυπική μορφή για δεδομένα EPG είναι το XMLTV — ένα αρχείο XML (συχνά συμπιεσμένο με gzip και με κατάληξη .xml ή .xml.gz) που περιέχει δύο είδη καταχωρίσεων:

  1. Ορισμοί καναλιών — κάθε κανάλι που γνωρίζει ο οδηγός, με ένα μοναδικό αναγνωριστικό όπως bbc-one.uk ή ESPN.us.
  2. Καταχωρίσεις προγραμμάτων — για κάθε αναγνωριστικό καναλιού, μια λίστα προγραμμάτων με ώρα έναρξης, ώρα λήξης, τίτλο και συνήθως περιγραφή, κατηγορία και πληροφορίες επεισοδίου.

Μια μεμονωμένη καταχώριση προγράμματος μέσα στο 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>

Από πού προέρχεται αυτό το αρχείο; Από ένα από δύο σημεία, ανάλογα με τον τύπο του παρόχου σας:

  • Οι πάροχοι Xtream Codes δημοσιεύουν αυτόματα το δικό τους EPG. Ο λογαριασμός σας διαθέτει ενσωματωμένο endpoint EPG (το URL xmltv.php) και ένα καλό player το εντοπίζει και το λαμβάνει για εσάς, χωρίς να χρειαστεί να κάνετε τίποτα. Αυτή είναι η εύκολη περίπτωση.
  • Οι πάροχοι απλού M3U μπορεί να σας δώσουν ξεχωριστό URL XMLTV για επικόλληση ή να μη σας δώσουν κανένα. Αν σας δώσουν URL, το επικολλάτε μία φορά στο player. Αν όχι, μπορείτε να χρησιμοποιήσετε μια πηγή XMLTV τρίτου μέρους — όμως η αντιστοίχισή της με τα κανάλια σας είναι δυσκολότερη (περισσότερα παρακάτω).

Το βασικό που πρέπει να κρατήσετε είναι το εξής: το EPG δημοσιεύεται από τον πάροχό σας (ή από τρίτο μέρος) και δεν δημιουργείται από το player. Αν ο πάροχός σας δεν δημοσιεύει δεδομένα οδηγού, κανένα player στον κόσμο δεν μπορεί να τα επινοήσει.

Πώς αντιστοιχίζει το player τα κανάλια με τις καταχωρίσεις τους

Εδώ βρίσκεται το μεγαλύτερο μέρος της σύγχυσης γύρω από το EPG. Το player έχει δύο ξεχωριστά σύνολα δεδομένων — τη λίστα καναλιών σας και τον οδηγό XMLTV — και πρέπει να βρει σε ποιο κανάλι ανήκουν οι καταχωρίσεις προγραμμάτων. Αυτό το κάνει αντιστοιχίζοντας ένα αναγνωριστικό.

Στη λίστα αναπαραγωγής M3U, κάθε γραμμή καναλιού συνήθως περιλαμβάνει ένα χαρακτηριστικό tvg-id:

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

Το player εξετάζει το tvg-id="bbc-one.uk" και στη συνέχεια αναζητά στο αρχείο XMLTV ένα <channel id="bbc-one.uk"> και όλες τις καταχωρίσεις <programme channel="bbc-one.uk">. Όταν τα αναγνωριστικά ταιριάζουν, οι καταχωρίσεις προγράμματος εμφανίζονται στο κανάλι. Όταν δεν ταιριάζουν — ή όταν λείπει το tvg-id — το κανάλι εμφανίζεται χωρίς δεδομένα οδηγού, παρόλο που το αρχείο EPG έχει φορτωθεί κανονικά και άλλα κανάλια έχουν συμπληρωθεί.

Αυτή η ασυμφωνία είναι το συχνότερο παράπονο για το EPG και σχεδόν πάντα οφείλεται σε πρόβλημα δεδομένων στον πάροχο, όχι σε σφάλμα του player:

  • Το M3U έχει tvg-id="bbcone", αλλά το XMLTV χρησιμοποιεί bbc-one.uk → δεν υπάρχει αντιστοίχιση.
  • Το M3U δεν έχει καθόλου tvg-id → δεν υπάρχει στοιχείο για αντιστοίχιση.
  • Το M3U και το XMLTV του παρόχου συντηρούνται από διαφορετικά άτομα που δεν συμφώνησαν ποτέ στα αναγνωριστικά.

Διάγραμμα: πώς το tvg-id αντιστοιχίζει ένα κανάλι M3U με τις καταχωρίσεις XMLTV του οδηγού

«Τώρα / Μετά» έναντι πλήρους πλέγματος

Τα δεδομένα EPG τροφοδοτούν δύο προβολές που θα βρείτε σε κάθε καλό player:

  • Τώρα / Μετά — η συνοπτική μορφή. Όσο παρακολουθείτε ένα κανάλι, το player εμφανίζει το τρέχον πρόγραμμα και αυτό που ακολουθεί, συνήθως μαζί με μια γραμμή προόδου που δείχνει πόσο έχει προχωρήσει η τρέχουσα εκπομπή. Αυτή είναι η πιο συχνά χρησιμοποιούμενη λειτουργία EPG· σας ενημερώνει ότι «μπήκατε σε αυτόν τον αγώνα στο 60ό λεπτό».
  • Οδηγός / Πλέγμα — η πλήρης δισδιάστατη προβολή. Τα κανάλια βρίσκονται στον έναν άξονα και ο χρόνος στον άλλο, με κάθε κελί να αποτελεί ένα μπλοκ προγράμματος. Έτσι περιηγείστε στο «τι προβάλλεται απόψε» και οργανώνετε το βράδυ σας.

Και οι δύο προβολές δημιουργούνται από τα ίδια δεδομένα XMLTV. Το πλέγμα απλώς εμφανίζει περισσότερα από αυτά ταυτόχρονα.

Ζώνες ώρας: Γιατί ο οδηγός σας μπορεί να έχει απόκλιση μερικών ωρών

Ένα λεπτό αλλά συνηθισμένο ζήτημα: οι ώρες του XMLTV περιλαμβάνουν μετατόπιση UTC (το +0000 στο παραπάνω παράδειγμα). Το player τις μετατρέπει στην τοπική σας ώρα. Όταν ο οδηγός εμφανίζει τα προγράμματα σε λάθος ώρα — με όλα μετατοπισμένα κατά 1, 5 ή 8 ώρες — σχεδόν πάντα ισχύει ένα από τα εξής:

  • Ο πάροχος δημοσίευσε τις ώρες με λανθασμένη μετατόπιση (π.χ. σημείωσε τα πάντα ως +0000, ενώ το πρόγραμμα είναι στην πραγματικότητα σε τοπική ώρα Ηνωμένου Βασιλείου κατά τη θερινή ώρα Βρετανίας).
  • Η ζώνη ώρας της συσκευής σας έχει ρυθμιστεί λανθασμένα.
  • Το EPG του παρόχου αφορά διαφορετική περιοχή από αυτή των καναλιών που παρακολουθείτε.

Ένα καλό player σάς επιτρέπει να εφαρμόσετε χειροκίνητη μετατόπιση ώρας EPG ανά λίστα αναπαραγωγής, ώστε να διορθώσετε έναν οδηγό που έχει σταθερά την ίδια απόκλιση. Αν έχουν μετατοπιστεί μόνο ορισμένα κανάλια, αυτό σημαίνει ότι ο πάροχος αναμειγνύει ροές από διαφορετικές περιοχές και μια καθολική μετατόπιση δεν θα το διορθώσει σωστά.

Πώς το EPG υποστηρίζει υπενθυμίσεις και Catch-Up

Το EPG δεν χρησιμεύει μόνο για περιήγηση. Δύο λειτουργίες εξαρτώνται από αυτό:

  • Υπενθυμίσεις προγραμμάτων. Επειδή ο οδηγός γνωρίζει ότι ένα πρόγραμμα ξεκινά στις 19:00, το player μπορεί να σας ειδοποιήσει λίγο πριν αρχίσει. Ορίστε μια υπενθύμιση για ένα μελλοντικό πρόγραμμα στο πλέγμα και το player θα σας ειδοποιήσει όταν πλησιάζει η ώρα έναρξής του.
  • Catch-up / μετατόπιση χρόνου. Η λειτουργία catch-up στην πλευρά του παρόχου χρησιμοποιεί το EPG για να γνωρίζει τα όρια κάθε παλαιότερου προγράμματος, ώστε να λειτουργεί η επιλογή «επιστροφή στην αρχή των ειδήσεων των 18:00». Χωρίς ακριβές EPG, το catch-up δεν μπορεί να εντοπίσει τα όρια των προγραμμάτων. Δείτε την εξήγησή μας για το catch-up TV.

Επομένως, το ακριβές EPG είναι απαραίτητο για περισσότερα από ένα όμορφο πλέγμα — αποτελεί τη ραχοκοκαλιά των υπενθυμίσεων και της επιστροφής σε προηγούμενο σημείο.

Πώς το Tuneline διαχειρίζεται το EPG

Στο Tuneline, η διαδικασία έχει σχεδιαστεί ώστε να απαιτεί όσο το δυνατόν λιγότερη χειροκίνητη εργασία:

  • Λογαριασμοί Xtream Codes: Το EPG εντοπίζεται και λαμβάνεται αυτόματα κατά τον πρώτο συγχρονισμό. Δεν χρειάζεται να κάνετε τίποτα — ανοίξτε τον οδηγό και θα είναι εκεί (εφόσον τον δημοσιεύει ο πάροχος).
  • Λίστες αναπαραγωγής M3U: αν ο πάροχός σας σάς έδωσε URL XMLTV, επικολλήστε το κατά την προσθήκη της λίστας αναπαραγωγής. Το Tuneline το λαμβάνει και το αποθηκεύει προσωρινά, ανανεώνοντάς το ανά τακτά διαστήματα.
  • Αντιστοίχιση: Το Tuneline αντιστοιχίζει πρώτα με βάση το tvg-id και στη συνέχεια χρησιμοποιεί κατά προσέγγιση αντιστοίχιση ονομάτων για κανάλια όπου λείπει το tvg-id, αλλά το όνομα του καναλιού μοιάζει πολύ με το όνομα ενός καναλιού XMLTV. Έτσι ανακτώνται ορισμένα δεδομένα οδηγού που τα player που βασίζονται αποκλειστικά σε αυστηρή αντιστοίχιση αναγνωριστικών θα άφηναν κενά.
  • Μετατόπιση ώρας: Οι Ρυθμίσεις → EPG → Μετατόπιση ώρας σάς επιτρέπουν να επαναφέρετε έναν οδηγό με σταθερή απόκλιση στη σωστή ευθυγράμμιση, ανά λίστα αναπαραγωγής.
  • Ανανέωση: Ο οδηγός αποθηκεύεται προσωρινά τοπικά και ανανεώνεται βάσει προγράμματος, ώστε το άνοιγμα του πλέγματος να γίνεται άμεσα αντί να περιμένετε κάθε φορά τη λήψη μέσω δικτύου.

Αν ο οδηγός σας είναι κενός ή ελλιπής, ο οδηγός αντιμετώπισης προβλημάτων EPG περιγράφει τις διορθώσεις με τη σωστή σειρά.

Συχνές ερωτήσεις

Τι είναι το EPG στην τηλεόραση;

Το EPG σημαίνει Ηλεκτρονικός Οδηγός Προγράμματος — το πρόγραμμα στην οθόνη που δείχνει τι προβάλλεται τώρα και τι ακολουθεί. Η ιδέα είναι ίδια σε κάθε τηλεόραση· αλλάζει μόνο ο τρόπος μετάδοσης. Στην καλωδιακή, δορυφορική και επίγεια τηλεόραση, ο οδηγός μεταδίδεται μέσα στο ίδιο το σήμα εκπομπής, οπότε είναι απλώς πάντα διαθέσιμος. Στο IPTV δεν υπάρχει σήμα εκπομπής για να τον μεταφέρει, επομένως ο οδηγός είναι ένα ξεχωριστό αρχείο XMLTV που το player σας λαμβάνει και αντιστοιχίζει με τα κανάλια σας.

Αυτή η διαφορά εξηγεί το συχνότερο παράπονο στο IPTV: ένας οδηγός που είναι κενός, ενώ τα κανάλια προβάλλονται κανονικά. Σε έναν αποκωδικοποιητή καλωδιακής τηλεόρασης, αυτός ο συνδυασμός είναι αδύνατος. Στο IPTV σημαίνει απλώς ότι λείπει το αρχείο προγράμματος ή ότι τα αναγνωριστικά των καναλιών του δεν αντιστοιχούν.

Είναι το EPG ίδιο με τα κανάλια;

Όχι. Τα κανάλια προέρχονται από τη λίστα αναπαραγωγής M3U ή τον λογαριασμό σας στο Xtream. Το EPG (το πρόγραμμα) είναι ξεχωριστό αρχείο XMLTV. Το πρόγραμμα αναπαραγωγής τα αντιστοιχίζει μεταξύ τους. Ένας πάροχος μπορεί να σας παρέχει εξαιρετικά κανάλια χωρίς EPG ή το αντίστροφο.

Γιατί ορισμένα κανάλια μου έχουν οδηγό προγράμματος, ενώ άλλα είναι κενά;

Επειδή στα κενά κανάλια το tvg-id δεν αντιστοιχεί σε τίποτα μέσα στο αρχείο XMLTV (ή δεν υπάρχει καθόλου tvg-id). Το EPG φορτώνεται κανονικά — απλώς δεν υπάρχει κάτι για να αντιστοιχιστεί στα συγκεκριμένα κανάλια. Πρόκειται για πρόβλημα στα δεδομένα του παρόχου και όχι για σφάλμα του προγράμματος αναπαραγωγής.

Μπορώ να προσθέσω τη δική μου πηγή EPG αν ο πάροχός μου δεν διαθέτει κάποια;

Ναι — μπορείτε να επικολλήσετε ένα URL τρίτου παρόχου XMLTV. Το πρόβλημα είναι ότι μια γενική πηγή EPG χρησιμοποιεί τα δικά της αναγνωριστικά καναλιών, τα οποία δεν αντιστοιχούν στις τιμές tvg-id του παρόχου σας. Έτσι, τα περισσότερα κανάλια θα παραμείνουν κενά, εκτός αν τα αναγνωριστικά συμπέσουν. Λειτουργεί καλύτερα για γνωστά κανάλια με τυποποιημένα αναγνωριστικά.

Κάθε πότε ενημερώνεται το EPG;

Οι πάροχοι συνήθως δημοσιεύουν ένα κυλιόμενο χρονικό διάστημα — συχνά «τώρα και τις επόμενες 3–7 ημέρες». Τα προγράμματα αναπαραγωγής το αποθηκεύουν προσωρινά και το ανακτούν ξανά βάσει προγράμματος (το Tuneline ανανεώνεται περιοδικά και όταν κάνετε χειροκίνητα pull-to-refresh). Μετά το δημοσιευμένο χρονικό διάστημα, ο οδηγός απλώς δεν έχει ακόμη δεδομένα.

Ολόκληρος ο οδηγός μου έχει μετατοπιστεί κατά μερικές ώρες. Πώς το διορθώνω;

Εφαρμόστε μια EPG χρονική μετατόπιση (Ρυθμίσεις → EPG → Χρονική μετατόπιση στο Tuneline) για να τον επαναφέρετε. Πρώτα, επιβεβαιώστε ότι η ζώνη ώρας της συσκευής σας είναι σωστή. Αν μόνο ορισμένα κανάλια έχουν λάθος ώρα, ο πάροχος συνδυάζει ροές από διαφορετικές περιοχές και μια καθολική μετατόπιση δεν θα τα διορθώσει όλα.

Χρησιμοποιεί το EPG πολλά δεδομένα;

Όχι. Ένα αρχείο XMLTV για μερικές εκατοντάδες κανάλια με προγράμματα μίας εβδομάδας έχει συνήθως μέγεθος λίγων MB σε συμπιεσμένη μορφή — αμελητέο σε σύγκριση με ένα μόνο λεπτό βίντεο. Είναι μακράν το φθηνότερο μέρος του IPTV.

Γιατί ο οδηγός είναι κενός αμέσως μόλις προσθέσω μια νέα λίστα αναπαραγωγής;

Η πρώτη ανάκτηση του EPG γίνεται στο παρασκήνιο και μπορεί να διαρκέσει από λίγα δευτερόλεπτα έως ένα λεπτό για μεγάλους οδηγούς. Περιμένετε λίγο και, στη συνέχεια, κάντε pull-to-refresh. Αν παραμένει κενός μετά από ένα λεπτό, ανατρέξτε στον οδηγό αντιμετώπισης προβλημάτων.

Ποια είναι η διαφορά μεταξύ EPG και XMLTV;

Το EPG είναι η έννοια (ο οδηγός προγραμμάτων που εμφανίζεται στην οθόνη). Το XMLTV είναι η μορφή αρχείου που περιέχει τα δεδομένα. Οι όροι χρησιμοποιούνται συχνά χαλαρά — το «EPG μου» συνήθως σημαίνει «το αρχείο XMLTV μου». Υπάρχει επίσης ένα EPG που βασίζεται σε JSON και παρέχεται από ορισμένα πάνελ Xtream, αλλά το XMLTV είναι το καθολικό πρότυπο.


Συμπέρασμα

Το EPG μετατρέπει μια λίστα καναλιών σε τηλεόραση. Είναι ένα ξεχωριστό αρχείο XMLTV — δημοσιευμένο από τον πάροχό σας και όχι δημιουργημένο από το πρόγραμμα αναπαραγωγής — το οποίο το πρόγραμμα αντιστοιχίζει στα κανάλια σας χρησιμοποιώντας το πεδίο tvg-id και, στη συνέχεια, το εμφανίζει ως «Τώρα/Επόμενο» και σε πλήρη προβολή πλέγματος. Όταν λείπουν ή είναι λανθασμένα τα προγράμματα, η αιτία είναι σχεδόν πάντα τα δεδομένα του παρόχου (ασύμβατα αναγνωριστικά, αναγνωριστικά που λείπουν, λανθασμένη ζώνη ώρας) και όχι η εφαρμογή.

Το Tuneline εντοπίζει αυτόματα το EPG για λογαριασμούς Xtream, δέχεται URL XMLTV για λίστες αναπαραγωγής M3U, πραγματοποιεί αντιστοίχιση με βάση το tvg-id και χρησιμοποιεί το όνομα ως εναλλακτική, ενώ σας επιτρέπει να διορθώσετε έναν μετατοπισμένο οδηγό με χρονική μετατόπιση ανά λίστα αναπαραγωγής — ώστε ο οδηγός να είναι όσο πληρέστερος επιτρέπουν τα δεδομένα του παρόχου σας.

Στιγμιότυπο οθόνης: η επικάλυψη «Τώρα/Επόμενο» του Tuneline με γραμμή προόδου προγράμματος

Κοινοποίηση άρθρου

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.

Διαβάστε αυτό το άρθρο σε άλλη γλώσσα

Το Tuneline είναι μια εφαρμογή αναπαραγωγής πολυμέσων. Δεν παρέχει, δεν φιλοξενεί και δεν διανέμει κανένα περιεχόμενο. Τη δική σας λίστα αναπαραγωγής τη φέρνετε εσείς, ακριβώς όπως με το VLC.