EPG für IPTV-Kanäle in Tvheadend einrichten und automatisch aktualisieren

Der Leitfaden zeigt, wie man die EPG-Bereitstellung für Tvheadend-IPTV-Sender vollständig automatisiert – durch externe XMLTV-Quellen, automatisches Kanal-Mapping und ein robustes Skript mit Fallback-Mechanismen. Das Ergebnis ist eine zuverlässige, wartungsarme Lösung. Statt auf unzureichende interne EPG-Grabber zu setzen, werden externe XMLTV-Datenquellen genutzt. Diese werden über einen Unix-Socket in Tvheadend importiert, nachdem die IPTV-Kanäle den XMLTV-Kanalbezeichnern zugeordnet wurden. Ein täglicher Cron-Job aktualisiert automatisch, während redundante Quellen und Fehlerbehandlung für maximale Zuverlässigkeit sorgen.

  • Externe XMLTV-Quellen: Bis zu 14 Tage Programmvorlauf durch öffentlich aktualisierte Quellen; Unterstützung für komprimierte und unkomprimierte XML-Formate.
  • Kanal-Mapping: Einmalige manuelle Zuordnung im Tvheadend-Webinterface; dauerhafte Verknüpfung über standardisierte XMLTV-Channel-IDs.
  • Robustes Skript: Primärquelle (epgshare01) mit Fallback (open-epg); umfangreiche Fehlerbehandlung und Logging.
  • Automatische Updates: Täglicher Import (z. B. 04:30 Uhr) im Hintergrund; Integration in Systemd-Journal für zentrale Überwachung.

Voraussetzungen

– Tvheadend läuft nativ auf Debian (kein Docker)
– Externer XMLTV-Grabber ist aktiviert (External: XMLTV mit Socket /var/lib/tvheadend/epggrab/xmltv.sock)
– Der Benutzer „hts“ existiert und Tvheadend läuft unter diesem Benutzer
– socat ist installiert (sudo apt install socat)
– IPTV-Kanäle sind bereits in Tvheadend angelegt


Schritt 1 – EPG-Grabber einmalig konfigurieren

1. Tvheadend-Webinterface öffnen
→ Configuration → General → Base
→ User interface level = Expert → Save

2. EPG-Grabber aktivieren
Configuration → Channel/EPG → EPG Grabber Modules
→ External: XMLTV doppelt anklicken
→ Aktiviert = Ja
→ Priorität = 1
→ Pfad = /var/lib/tvheadend/epggrab/xmltv.sock (meist schon vorausgefüllt)
→ Save

3. Retention-Einstellungen setzen
Configuration → Channel/EPG → EPG Grabber
→ Speichere EPG periodisch auf Festplatte (Stunden) = 336 oder 720
→ Save EPG to disk after xmltv import = Ja (Häkchen)
→ Save

Schritt 2 – EPG-Quelle auswählen und testen

Empfohlene Quellen (Stand 2026):

Quelle URL / Befehl Größe Tage ca. Kommentar
open-epg (schnell) wget https://www.open-epg.com/files/germany1.xml -O /tmp/epg.xml ~1–5 MB 1–3 Tage Sehr aktuell, klein & schnell

Test-Import (nach Download):

Log prüfen (live):

Wichtige Zeilen:
xmltv: broadcasts tot= ... new= ... → Zahl > 0 = Erfolg
epgdb: broadcasts ... → zeigt Gesamtzahl

Schritt 3 – IPTV-Kanäle mit EPG verknüpfen

1. Configuration → Channel/EPG → Channels
2. Jeden IPTV-Kanal (z. B. 3sat) bearbeiten
3. Feld EPG Source oder XMLTV channel ID anklicken
4. Aus Dropdown den passenden Eintrag wählen (häufig: 3sat.de, 3sat, C3SAT, 3sat HD)
5. Speichern

Nach Mapping → EPG in Web-Interface oder Kodi nach kurzer Zeit sichtbar.

Schritt 4 – Automatisches tägliches Update (Cron-Script)

Script erstellen (ggf. germany1.xml und germany2.xml zusammenführen)

Script einrichten

Testlauf

Cron einrichten (täglich 04:30 Uhr)

Eintrag hinzufügen:


– EPG wird jetzt täglich automatisch aktualisiert
– Bei Problemen: /var/log/epg_update.log und journalctl -u tvheadend prüfen
– Für noch mehr Tage: im Script weitere wget-Befehle für germany2.xml etc. ergänzen und Dateien zusammenführen (cat file1 file2 > combined.xml)


CC_BY_NC_SAby Speefak

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Back To Top