EPG für OTT-Middleware

Der Sendeplan aus der EPG-Datenbank wird externen Systemen — Set-Top-Boxen, Anwendungen und OTT-Middleware — auf zwei Wegen bereitgestellt: als vollständiges XMLTV-Dokument über den dedizierten EPG-Server und als Tagesprogramm eines Kanals im JSON-Format über die HTTP-API des Knotens.

XMLTV-Auslieferung

XMLTV wird von einem separaten integrierten EPG-Server ausgeliefert. Er wird im Bildschirm „EPG-Server“ (EPG-Server) aktiviert: „EPG-Server aktivieren“, HTTP-Port (Standardwert 43973), bei Bedarf HTTPS mit Zertifikat (Standardport 43983) und „Hostname“.

Der Zugriff erfolgt über Benutzerkonten (Registerkarte „Benutzerkonten“ des Bildschirms „EPG-Einstellungen“, EPG-Einstellungen): Login und Passwort, „Kanalsatz“, „Ablaufdatum“ der Gültigkeit, „Zugelassene IP“ sowie das Kennzeichen „Angehalten“. Der Umfang der Auslieferung wird durch den Kanalsatz bestimmt:

  • Sätze werden auf der Registerkarte „Kanalsätze“ angelegt;

  • Kanäle werden in der EPG-Datenbank (EPG-Datenbank) in Sätze aufgenommen; ein Kanal kann mehreren Sätzen angehören;

  • einem Benutzerkonto wird genau ein Satz zugewiesen — ohne ihn bleibt die Auslieferung leer.

Das Dokument ist unter dem Pfad /xmltv verfügbar (sowie /xmltv.gz — die komprimierte Datei); die Autorisierung erfolgt per HTTP Digest oder über Anfrageparameter. Die Sendezeiten werden mit der Zeitzone des Kanals ausgegeben; in das Dokument gelangen nur laufende und künftige Ereignisse. Wurde derselbe Kanalbezeichner aus verschiedenen Quellen empfangen, wird der Kanal nur einmal ausgegeben; über die Auslassung informiert das Protokoll.

Tagesprogramm im JSON-Format

Für Middleware-Schnittstellen liefert der Knoten das Tagesprogramm eines Kanals mit einer einzigen Anfrage an die HTTP-API im JSON-Format (Autorisierung wie bei den übrigen API-Anfragen):

GET /data/epg/channel?src=<Quelle>&ch=<Kanal>&lang=<Sprache>&t=<Zeit>

Zurückgegeben wird die Liste der Ereignisse des Tages (nach UTC), in den der Zeitpunkt t fällt: Anfang, Ende, Titel und Beschreibung jeder Sendung in der angeforderten Sprache; fehlt eine Übersetzung, wird die Standardsprache verwendet, anschließend eine beliebige verfügbare. Ein leerer Tag ist eine gültige leere Liste. Die Antworten werden vom Server zwischengespeichert und beim Eintreffen neuer EPG-Daten automatisch aktualisiert.

Der integrierte Cache ist auf etwa tausend gleichzeitige Clients ausgelegt; bei größeren Installationen wird empfohlen, sowohl die XMLTV- als auch die JSON-Auslieferung hinter einem zwischenspeichernden Reverse-Proxy oder einem CDN zu betreiben.

Die Wiedergabe des DVR-Archivs anhand eines Sendeplan-Ereignisses (Parameter epg in der Wiedergabe-URL) ist in Archivwiedergabe (VOD) beschrieben.