Jump to content

Datenbank für EPG anlegen


MichaelB63

Recommended Posts

Hallo,

ich würde gerne den EPG archivieren.

Programmieren grundsätzlich kann ich.

Könnte mir bitte einer der Profis die grobe Marschrichtung weisen.

Existiert schon etwas in dieser Richtung, was mir helfen könnte?

Vielen Dank

Michael

 

Link to comment

Der DVBViewer/RS Speichert das EPG in der Konfigurationsverzeichnis/(config/)epg.dat das ist ein Binärformat, wahrscheinlich nicht unbedingt der beste Ansatz Punkt. Wenn doch findest du die Dokumentation dafür im Mitgliederbereich > epg.dat/channels.dat structure (for add-on developers).

Sowohl der DVBViewer als Recording Service sortieren da aber regelmäßig alle Einträge aus die in der Vergangenheit liegen. Damit die Daten die auch komplett im RAM landen nicht so groß werden. Und es ist auch nicht zu erwarten dass das in Richtung dauerhafter speicher abgewandelt wird.

 

Wahrscheinlich ist die Web API vom RS der beste Ansatz Punkt.

http://en.DVBViewer.tv/wiki/Recording_Service_web_API#EPG

127.0.0.1:8089/api/epg.html?lvl=2

Wobei du gucken musst wie oft und in was für Zeitabschnitten du das da abrufst. Je nach Sender stehen ja vier Wochen (ARD) oder nur die aktuelle und nächste Sendung an Daten zur Verfügung. Und das immer nur wenn der Transponder man kurz eingestellt wurde.

 

Je nach dem was du mit den Daten machen möchtest stellt sich auch noch die Frage nach dem geeigneten Speicherformat. Der einzige "Standard" für das verteilen von EPG als Datei ist eigentlich XMLTV.

http://wiki.xmltv.org/index.php/XMLTVFormat

 

Das was der RS liefert geht zwar in die Richtung ist aber nicht ganz XMLTV kompatibel. Bei XMLTV wird da noch die Senderliste mit eingearbeitet.

 

Delphi der Entwickler von Xepg dem XMLTV Import Tool für den DVBViewer/RS wollte sich dem Thema glaube ich mal annehmen. Aber bisher gibt es glaube ich noch keinen Grabber der aus den EPG Daten vom RS XMLTV macht.

http://www.DVBViewer.tv/forum/topic/20539-xepg/

http://www.a123.dk/

 

Zum Thema EPG einsammeln gibt es auch noch EPG Collector

https://sourceforge.net/projects/epgcollector/

damit habe ich mich noch nicht wirklich auseinander gesetzt aber eventuell ist das auch ein Ansatzpunkt.

Link to comment

Vielen Dank Board Inventar.

Das Web API erscheint wir vielversprechend. Ich werde versuchen, mich damit vertraut zu machen.

Ich beoachte jeden Tag etwa 30 Sender, und deren EPG würde ich gerne abspeichern.

Link to comment
  • 2 weeks later...

Ok, ich habe für Prosieben mit Web API für einen halben Tag EPG-Daten abgerufen: 112 MB!

Die EPG-Daten für Prosieben sind wohl auch dabei, aber noch viele andere. Welche sind das?

 

Und wie komme ich an die EPG-Daten nur für ProSieben? Der Rest interessiert mich nicht.

Kann man es schaffen, schon gleich kleinere Datensätze zu erhalten?

Woher stammen die Daten, die ich mit dem Web API abrufe?

Gibt es eine Möglichkeit, an schon aufbereitete Daten zu kommen (kleinere Datenmengen)? EPG.dat?

Link to comment

Bei 112 MB stimmt sicher bei deinem API Aufruf was nicht (irgendwelche Parameter sind falsch). Vergleich das mal mit /api/epg.html ohne weitere Parameter.

 

Hol dir die epgchannelID mal über /api/getchannelsxml.html

Mit /api/epg.html?lvl=2&channel=880797263331392 bekomme ich her (DVB-T) nur die Daten von Das Erste.

 

Mit der Zeit Eingrenzung solltest du dich erst beschäftigen wenn das mit dem Sender passt.

 

Kann man es schaffen, schon gleich kleinere Datensätze zu erhalten?

Indem du deinen API Aufruf anpasst/Korrigierst ;)

 

Woher stammen die Daten, die ich mit dem Web API abrufe?

Das sind die vom RS gesammelten Daten. Also aus der epg.dat (schon früher vom RS eingesammelt) und das was seit den RS Start zusätzlich auf Frequenzen die du eingestellt hattest eingesammelt wurde.

 

Gibt es eine Möglichkeit, an schon aufbereitete Daten zu kommen (kleinere Datenmengen)? EPG.dat?

Die Daten die du über die API bekommst sind doch schon als XML aufbereitet. Für die epg.dat müsstest du dir erst mal einen Parser für Binärdaten selber schreiben ;) Und die enthält immer alles.

Aber die braucht natürlich weniger Platz als das gleiche als XML aufbereitet :innocent:

Link to comment

Hallo,

 

verstehe ich Dich in der Weise richtig, daß Du den Inhalt des EPG speichern und später darin suchen bzw. nachschauen können willst?

 

Dazu könnntes Du den EPG z.B. täglich nach dem Auffrischen der Daten exportieren und der Datei das Datum als Namen geben. Das Ergebnis ist eine HTML-Datei, die man mit dem Browser lesen kann. Das Verzeichnis mit den EPG-Dateien kann man mit einem Indexer z.B. Copernic Destop Search oder A-Z Finder indexieren. Beide gibt es für den Privatgebrauch umsonst (siehe u.a. bei heise.de). Dann kann man mit dem Desktop Search Programm gezielt nach Sendungen suchen und sich die Detailinformationen anzeigen lassen. Man kann also feststellen, wann und bei welchem Sender ein Spielfilm gelaufen ist oder was der Inhalt einer bestimmten Serienfolge war oder welchen Schauspieler in welcher Sendung mitgewirkt haben. Es gibt auch Indexer, die gepackte Dateien (meist Zip) indexieren können.

 

Das Laden der EPG-Daten erfolgt dadurch, daß nacheinander die zu ladenden Transponder oder DVB-T Kanäle getunt werden. Es genügt, wenn einer der Sender eingestellt wird. Damit wird der EPG des ganzen Transportstreams gelanden. Dazu gab und gibt es wohl immer noch ein oder mehrere Plugins. Du müßtest dazu mal den Mitgliederbreich oder das Forum per Suchfunktion durchsuchen. Außerdem kann man dies auch z.B. mit AutoHotKey, einer Scriptsprache automatisieren. Diese beinhaltet auch einen Macrorecorder, mit dem man auch Mausaktionen aufzeichnen kann.

 

 

Viele Grüße

 

Webturtle

Link to comment

Hallo Webturtle,

danke für Dein Interesse.

Ich nehme ziemlich viele Sendungen jeden Tag auf. Manchmal passiert es mir, daß ich am Anfang oder Ende der Aufnahme etwas Interessantes finde. Dann möchte ich gerne wissen, wie diese vorhergehende oder nachfolgende Sendung heißt. Ohne EPG-Historie kann ich das normalerweise nicht herausfinden. Soweit ich weiß existiert im Netz so etwas nicht.

Des weiteren könnte ich herausfinden, wie oft gewissen Sendungen wiederholt werden. Falls mich dies einmal brennend interessieren sollte.

Ich habe das, was Du geschrieben hast, nicht ganz verstanden.

Ich würde also pro Tag nur eine Datei schreiben? Wie erzeuge ich die Gesamt-EPG-Datei?

Ich nehme an, diese ist dann eine Monster-XML-Datei.

Könnte ich dann mit den Tools, die Du genannt hast (Copernic Desktop Search, A-Z Finder) auf diese täglichen EPG-Dateien zugreifen?

Der Index würde dann wohl schnell riesig groß werden. Ist das noch beherrschbar? EPG-dat hat hier heute 57 MB. Ist ein Gesamtindex für ein Jahr noch verwaltbar?

Meine Idee war, für jeden beobachteten Sender und jeden Tag eine Datei zu erzeugen (mit 2-3 Tagen EPG-Inhalt).

Dann habe ich erst einmal die Daten gesichert. Auf einen einzelnen Tag kann ich dann gut zugreifen. Und wenn ich einmal größe Zeitperioden zusammenfassen möchte, kann ich das mit Excel oder Access machen.

Grüße

Michael

Edited by MichaelB63
Link to comment

Hallo,

 

also nachdem die EPG-Daten empfangen worden sind, klickt man unten auf den Button "Exportieren". Dann wird eine HTML-Datei mit einen Ordner erzeugt. Standmäßg EPG genannt. Die verschiebt man am besten in ein Extra-Verzeichnis z.B. EPGs in ein Untervezeichnist mit dem Namen des Datums z.B. 120117. Die Datei enthält den kompletten Inhalt des EPG für alle Sender (sofern keinen Daten empfangen würden bleibt der betreffende Sender halt leer. Wenn man sich die Datei im Browser ansieht ist links ein Frame mit einer Liste aller Sender. Rechts ist die Übersicht aller Sendugen dieses Senders mit Detailinformationen. Es ist praktisch alles enthalten, was auch im EPG-Fenster des DVBViewers angezeigt wird. Probier es einfach mal aus.

 

Die Archivierung und Indexierung kann man auch sehr gut für die Aufnahmen verwenden. Wenn sie auf eine exteren HD ausgelagert werden, kopiert man die EPG-Info-Textdateien und die Log-Dateien einfach in ein Verzeichnis mit dem Namen der HD. Dort kann man dann später einfach feststellen, was man schon aufgenommen hat und ob bei der Aufnahmen des Lieblingsfilmes Empfangsfehler aufgetreten sind und man die Wiederholung daher besser noch einmal aufnehmen sollte.

 

 

Viele Grüße

 

Webturtle

Link to comment

Danke Webturtle.

Ich verstehe leider immer noch nicht, wie man an die EPG-Daten kommt.

Wie und wo erzeugte ich die EPG-Gesamtdatei: Über das Webinterface? Über DVBViewer?

Ich weiß auch nicht, wo man den Button "Exportieren" findet.

Ich bitte um Nachsicht, ich kenne mich noch nicht mit der Sache aus.

Grüße

Michael

Link to comment

Wenn ich http://localhost:8089/api/epg.html?lvl=2 aufrufe (Ich nehme an, das sollte alle Epg-Daten liefern) erhalte ich folgende Fehlermeldung:

This page contains the following errors:
error on line 181882 at column 457: PCDATA invalid Char value 21 error on line 181882 at column 458: Encoding error
Below is a rendering of the page up to the first error.

Wenn ich diese Datenmenge abspeichere (ist dann aber nicht xml), sind dies 140 MB. EPG.dat hat nur 57 MB.

Gibt es eine Möglichkeit, eine xml-Datei mit allen EPG-Daten zu erzeugen?

Dann bräuchte ich ja nur eine Datei pro Tag zu speichern. Das wäre genial.

Link to comment

 

Manchmal passiert es mir, daß ich am Anfang oder Ende der Aufnahme etwas Interessantes finde. Dann möchte ich gerne wissen, wie diese vorhergehende oder nachfolgende Sendung heißt. Ohne EPG-Historie kann ich das normalerweise nicht herausfinden. Soweit ich weiß existiert im Netz so etwas nicht.

 

Ein "zurückliegendes" EPG/TV-Programm gibt es auf der Seite https://www.onlinetvrecorder.com.

In der kostenlosen Version reicht das EPG 14 Tage zurück, in der Bezahloption länger.

 

Diese Seite bietet auch das (zurückliegende) EPG als Download via XML an:

 

https://www.onlinetvrecorder.com/epg/xml/

Edited by Rayman
Link to comment

Danke für den Hinweis DVBViewer Junkie.

Jetzt, daß ich weiß, daß man von DVBViewer xlm-Dateien des EPG bekommen kann, will ich es selbst in die Hand nehmen.

Ich weiß nicht, ob DVDViewer Junkie alle Sender listet, die ich gerne hätte.

Link to comment

Habe auf den neuesten Recording Service upgedatet.

Die Fehlermeldung beim Aufruf von http://localhost:808.../epg.html?lvl=2 lautet:

This page contains the following errors:
error on line 142837 at column 457: PCDATA invalid Char value 21 error on line 142837 at column 458: Encoding error
Below is a rendering of the page up to the first error.

support.zip habe ich erzeugt, aber ich weiß nicht, wie ich dies hier uploaden kann.

Link to comment

Die Meldung tritt im Browser auf, wenn da ein Zeichen nicht codiert ist. Du kannst ja mal gucken, welches Zeichen in Zeile 142836 dafür verantwortlich ist.

Link to comment

Nicht nötig, ich hab das hier reproduzieren können. In der Programmdeskription von DW Arabia scheint ein UTF8-Eintrag fehlerhaft. Zumindest schaut das so im Editor aus.

 

<programme start="20170113191500" stop="20170113200000" channel="562954315764051"><eventid>15133</eventid><pdc>429199</pdc><charset>255</charset><titles><title>الكاريكاتير - فن واستفزاز!</title></titles><descriptions><description>للكاريكاتير والسخرية تاريخ طويل في فرنسا وقد تأسست صحيفة "Le Canard enchaîné" الأسبوعية الساخرة في عام 1915. أما صحيفة "Le Monde" اليومية فتطبع كاريكظظع

 

 

Danach streikt zumindest Notepad++ :)

 

/api/epg.html?lvl=2&channel=562954315764051

 

Das ganze sieht man auch im DVBViewer EPG von heute um 19:15 auf besagtem Sender.

Link to comment

Klar, du kannst den Sender ja auch löschen in der Kanalliste. Das Problem wird aber eventuell immer wieder mal passieren, bei bestimmten Sendern.

Link to comment

Hallo,

 

"DVBViewer Junkie" ist eine Bezeichnung im Forum so wie Newbie. Der Name ist "Rayman"!

 

Die EPG-Datei erzeugt man, indem man den EPG im DVBViewer über Menü oder Symbol aufruft und am unteren Rand des EPG-Fensters auf den Button "Exportieren" klickt. Alles andere ist windowsüblich.

 

Näheres zum EPG findet man auch im Wiki. Unter "Alle Seiten" nach ...EPG... suchen oder die Suchfunktion verwenden.

 

 

Viele Grüße

 

Webturtle

Link to comment

Hallo,

 

Du kannst im Senderlisteneditor bei einzelnen Sender über ein Auswahlkästchen bestimmen, daß für diesen Sender kein EPG eingelesen werden soll.

 

 

Viele Grüße

 

Webturtle

Link to comment

@hackbart: Danke. Ich habe jetzt mehr verstanden. Ich habe im Senderlisteneditor alles mit Arabia herausgelöscht.

Wenn ich http://localhost:8089/api/getchannelsxml.html aufrufe, gibt es 562954315764051 nicht (mehr).

Aber der Aufruf von http://localhost:8089/api/epg.html?lvl=2 bricht immer noch bei 562954315764051. Verschwindet der Eintrag erst beim nächsten EPG-Update-Lauf?

Edited by MichaelB63
Link to comment

@Webturtle: Danke. Jetzt habe ich das begriffen. Toll das EPG-Export-Feature. Leider funktioniert auch hier wie zu erwarten bei mir der xml-Export nicht. Am liebsten hätte ich alles in xml.

Ich werde deinen Tipp anwenden und bei vielen Sendern das EPG deaktivieren.

@Rayman: Entschuldigung für den falschen Namen. Danke für den Internet-Tipp!

Link to comment

@hackbart: Ich habe mit dem Senderlisten-Editor das EPG bei etwa 90% aller gelisteten Kanäle herausgenommen. Damit sollten insbesondere keine skurilen arabischen Kandidaten mehr auftauchen.

Recording Service danach neu gestartet. Beim Aufruf von http://localhost:8089/api/epg.html?lvl=2 habe ich immer noch das gleiche Problem.

This page contains the following errors:
error on line 143222 at column 457: PCDATA invalid Char value 21 error on line 143222 at column 458: Encoding error
Below is a rendering of the page up to the first error.

Die Größe der Datei hat sich kaum verändert, ist nach wie vor sehr groß (112 MB).

Habe ich etwas falsch gemacht? Muß ich erst einen neuen Update des EPG machen?

Link to comment

Hallo,

 

die eigentlichen EPG-Infos sind in kleineren Dateien im Unterverzeichnis unterhalb der kleinen EPG.html-Datei für jeden Sender separat gespeichert. Sie sollten sich eigentlich bei Bedarf leicht in XML mit einem geeigneten Tool konvertieren lassen.

 

Was an der angezeigten Fehler-Stellen steht, könnte man im Editor (Zeilenumbruch aus, Zeilennummerierung ein) nachsehen.

 

Ein EPG-Update-Script findet man über das Wiki auf "Alle Seiten" unter WEPG-Unpdate-Script.

 

 

Viele Grüße

 

Webturtle

Link to comment

Hallo,

Das Speichern des EPG aus dem EPG-Fenster ist schon eine tolle Sache, die ich ab sofort täglich mache.

Schön wäre aber auch noch das xml-Format.

Ich habe gerade noch einmal einen Versuch gestartet.

1. Die Kanal-Liste abgerufen http://localhost:8089/api/getchannelsxml.html

2. EPG-XML abgerufen http://localhost:8089/api/epg.html?lvl=2

Wieder tritt ein Fehler in einer gewissen Zeile auf (arabische Zeichen):

Ich öffne die Datei mit notepad++ und finde channel="562954315764051". Was ich nicht verstehe, denn dieser Channel existiert in der Kanal-Liste überhaupt nicht.

Gibt es dafür eine Erklärung?

Grüße

Michael

Edited by MichaelB63
Link to comment

Hallo Michael,

passt schon.

Ich weis eben nicht, wann der RS die EPG-Daten final verwirft.
Bis dahin wirst du immer genau dieses Problem haben.

vg

Link to comment

Hallo,

 

tritt die Fehlermeldung nur beim XML-Export durch den RS auf oder auch bei den vom EPG-Fenster exportierten HTML-Dateien?

 

Wenn ja, könnte man leicht den Fehler finden, denn wenn man die EPG.htlm Datei mit dem Browser öffnet, wir zunächst nur die Struktur der Seite und der Inhalt des EPG für den ersten Sender (i.d.R. Das Erste) angezeigt. Dabei dürfte es keinen Fehler geben. Es sei denn er liegt im Namen eines der Sender im linken Frame. Die Inhalte des EPG werden nämlich erst dann geladen, wenn der betreffende Sender ausgewählt wird. Wenn man dann einfach die Sender der Reihe nach durchgeht, müßte der Fehler beim Laden der EPG-Inhalte angezeigt werden. Dann weiß, man welcher Sender verantwortlich ist und kann eventuell dessen HMTL-Datei in einen Editor ansehen. Diese befindet sich um Unterverzeichnis htmlEPG im selben Verzeichnis wie die EPG.html. Der Name lautet z.B. 3sat..._1234.html. Ich hatte beim EPG noch nie eine derartige Fehlermeldung. Ich habe eine normale Astra-Senderliste´, die ich auch noch nie wie beschrieben bearbeiten mußte.

 

Das Unterverzeichnis heißt immer htmlEPG, unabhängig davon, welchen Namen man beim Export wählt! Daher muß man zu Archivierungszwecken jeden Tag in einem separaten Verzeichnis speichern, sonst werden die EPG-Inhalte beim nächsten Export übeschrieben!

 

 

Viele Grüße

 

Webturtle

Link to comment

Hallo WebTurtle,
ich habe den Fehler "nur" bei direkten API-Aufruf.
Wohingegen der Export aus DVBViewer funktioniert.
Auch die daraus erzeugten Dateien zeigen keinen Fehler

und sind aufrufbar.

vg

 

[Nachtrag]
In Pic3 sieht man das Problem

post-89984-0-66526200-1484747867_thumb.png

post-89984-0-51309600-1484747881_thumb.png

post-89984-0-87457400-1484749078_thumb.png

Edited by sir drake
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...