Idee: xmltv2vdr-plugin

  • henfri


    Nö. EPG-Bilder haben keine "direkte Verbindung" zum VDR wie z.B. das EPG. Die kann ein Grabber dorthin legen wo es ein Skin braucht und demzufolge auch komplett selbst verwalten.


    MegaV0lt


    Bitte prüfe mal Deine libxml-Bibliotheken. Ich verwende libxml2.so.2.7.6 und libxslt.so.1.1.26 und dann funktioniert es bei mir.


    Ansonsten mal das xmltv-File durch tv_validate_file jagen (ist vom xmltv-Projekt)


    @All


    Im GIT liegt jetzt eine neuere Version, der Updater ist nun ein Thread für alle Sources (nicht wie vorher ein Thread pro Source).


    Gruß


    Joe_D


    Edit: Update GIT, Bibliotheksangaben

  • Quote

    Original von Joe_D
    Bitte prüfe mal Deine libxml-Bibliotheken. Ich verwende libxml2.so.2.7.6 und libxslt.so.1.1.26 und dann funktioniert es bei mir.


    Ansonsten mal das xmltv-File durch tv_validate_file jagen (ist vom xmltv-Projekt)


    TVM2XMLTV produziert das
    Validate bringt dases fehlt wohl die stop= Zeit:

    Code
    1. <programme start="20110123002500 +0000" stop=" +0000" channel="kabel1.de" showview="63-618-859">


    libxslt habe ich 1.1.26 und libxml2 2.7.2

    Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. [StGB §328 Abs.: 2 Nr.: 3]

    ___

    Gen2VDR V7; VDR 2.4.0; Gehäuse: Antec Fusion V2 Black & iMon LCD (15c2:ffdc); Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, Zotac GT630 Zone Edition, 4 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5 [VDR-User #1540]

  • hab libxml2 aktualisiert:

    leider immer noch kein XML-File mit gültigem Enddatum... den Grabber habe ich auch noch mal neu gemaked... Was stimmt da nicht?

    Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. [StGB §328 Abs.: 2 Nr.: 3]

    ___

    Gen2VDR V7; VDR 2.4.0; Gehäuse: Antec Fusion V2 Black & iMon LCD (15c2:ffdc); Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, Zotac GT630 Zone Edition, 4 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5 [VDR-User #1540]

  • Ich bräuchte dringend Hilfe von einem Experten.


    Welche Voraussetzungen brauche ich (Pakete und deren Versionen)
    Der Grabber produziert auf meinem System XML-Daten die nicht gültig sind (siehe 2 Beiträge zuvor). Die bin auf einem anderen System läuft aber!?


    Gibt es denn schon andere Grabber?

    Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. [StGB §328 Abs.: 2 Nr.: 3]

    ___

    Gen2VDR V7; VDR 2.4.0; Gehäuse: Antec Fusion V2 Black & iMon LCD (15c2:ffdc); Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, Zotac GT630 Zone Edition, 4 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5 [VDR-User #1540]

  • Quote

    Originally posted by MegaV0lt
    Gibt es denn schon andere Grabber?


    Wenn du noch Zeit hast und das Problem nicht gelöst bekommst...


    Ich habe einen in Plain Python in der Mache, dauert aber noch weil ich im Moment keine Zeit habe den fertig zu basteln.


    cu

  • Quote

    Original von Keine_Ahnung
    Ich habe einen in Plain Python in der Mache, dauert aber noch weil ich im Moment keine Zeit habe den fertig zu basteln.

    Danke für das Angebot. Warte Gerne und stelle mich auch als Tester zur Verfügung.

    Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. [StGB §328 Abs.: 2 Nr.: 3]

    ___

    Gen2VDR V7; VDR 2.4.0; Gehäuse: Antec Fusion V2 Black & iMon LCD (15c2:ffdc); Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, Zotac GT630 Zone Edition, 4 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5 [VDR-User #1540]

  • Hallo,


    Könnte jemand mir bitte sagen, ob das tvm2xmltv irgendwo zur Verfügung steht?


    Ich habe schnell gelesen und wenn ich es richtig verstanden habe, hat das xmltv2vdr eine eigene interne Senderliste. Gibt es eine Seite im Wiki, wo man die aktuelle Liste einsehen kann? Insbesondere, gibt es auch ausländische Sender in der Liste (zum Beispiel die Sender der französischen TNT)?


    Auf der folgenden Seite werden sie leider nicht aufgeführt.
    http://vdr-wiki.de/wiki/index.php/Xmltv2vdr-plugin


    Schließlich, warum liegt epgsources nicht unter /var/lib/vdr/plugins?


    MfG

  • ... und warum erkennt xmltv2vdr nicht das aktive Charset? Hier sollte man IMHO ein Codeset für das XML hart festschreiben (meinetwegen auch UTF8) und wenn der VDR nicht mit UTF8 läuft, sollte via iconv bereits im Plugin eine Konvertierung durchgeführt werden. Festschreiben eines Codesets wäre zwar technisch nicht nötig (gängige XML-Parser-Libs sind fähig das Codeset, dass definiert ist, auszulesen) aber es erleichtert Joe_D eventuell die Arbeit.

  • Sofern ich das richtig verstanden habe, eröffnet xmltv2vdr die Möglichkeit EPG-Daten welche die SAT-Schüssel liefert, mit beliebigen Internet-EPG-Quellen zu mischen. Mit stellen sich dabei folgende Fragen:


    1. Ersetzen die Grabber für externes EPG dann die bislang verfügbaren VDR-Plugins (hoerzu, tvm2vdr usw.), oder müssen diese nach wie vor installiert sein? Zumindest für EPG-Bilder müsste dann ja noch was laufen....?
    2. Welches Plugin iniziiert das Updaten der EPG-Daten?
    3. Wird das noepg-Plugin dann noch benötigt?
    4. Besteht die Möglichkeit SAT-EPG lediglich um externe Quellen zu erweitern, damit man falls diese wegfallen, nicht ganz ohne EPG da steht?

    Gruß
    iNOB

  • 3. Wird das noepg-Plugin dann noch benötigt?
    4. Besteht die Möglichkeit SAT-EPG lediglich um externe Quellen zu erweitern, damit man falls diese wegfallen, nicht ganz ohne EPG da steht?


    Nun, ich nutze das Plugin nicht, da ich mein EPG mittels eigener Scripts aus dem ClickFinder (incl. der EPG Bilder) extrahiere und in den VDR schreibe.


    zu 3.] Den kannst Du auch weiter verwenden, falls Du das Sender EPG komplett abschalten willst, dann hat sich aber "Punkt 4" erledigt, denn dann geht das nicht mehr.


    zu 4.] Ja, das geht. Das macht der Disabledoubleepgentrys-patch

  • 1. Ersetzen die Grabber für externes EPG dann die bislang verfügbaren VDR-Plugins (hoerzu, tvm2vdr usw.),


    Ja, die bissher verfügbaren Plugins machen beises, Daten holen und Daten einfügen. xmltv2vdr ist nur der Daten einfügen Teil, der Daten hol Teil ist in Grabber ausgelagert.


    Zumindest für EPG-Bilder müsste dann ja noch was laufen....?


    Die EPG Bilder sind Aufgabe der Grabber.



    2. Welches Plugin iniziiert das Updaten der EPG-Daten?


    Das xmltv2vdr Plugin.



    4. Besteht die Möglichkeit SAT-EPG lediglich um externe Quellen zu erweitern, damit man falls diese wegfallen, nicht ganz ohne EPG da steht?


    Theoretisch ja, aber irgendwas läuft da snoch schief, genau wie das Encoding bei VDRs die nicht auf utf-8 laufen.


    Mal sehen wann Joe_d mal wieder Zeit/Lust hat.


    cu

  • Danke euch beiden für die Infos.


    Zur Zeit läuft bei mir der noepg-Patch + noepg-Plugin in Verbindung mit dem tvm2vdr-Plugin. Problem ist halt wie gesagt, der Totalausfall des EPGs, wenn tvm2vdr Schrott liefert. Insofern wäre das prima, wenn ein Fallback auf das Sender-EPG machbar wäre...


    Gruß
    iNOB

  • Copperhead


    Quote

    Ich habe aber den sehr unschönen Effekt, dass alle Umlaute falsch dargestellt werden. Als was integriert xmltv2vdr denn die Daten. Ist das UTF8? Wie ändere ich das auf ISO-8859-9?


    Also die Daten liegen in der xmltv-Datei so vor wie im Header angegeben, z.B.

    XML
    1. <?xml version="1.0" encoding="ISO-8859-1"?>

    In der libxml wird das dann intern in UTF8 gewandelt und im Plugin in parse.cpp Zeile 1005ff mit cCharSetConv ins Format vom VDR.


    Wie sieht denn Deine xmltv-Datei aus?


    Gruß


    Joe_D

  • TVMovie hat für eine Sendung einen anderen Titel als der Sender selbst. Da wird es schwer zu mergen ;(


    Es kann ja auch vorkommen das zwei Quellen ein vollkommen unterschiedliches Programm haben.
    Kann man in so einem Fall nicht einer Quelle den Vorrang geben so das sie die Programminfos für diesen Zeitraum exklusiv stellt? D.h. bei Konflickten wird nur ein Quelle genommen und der Rest verworfen.


    cu

  • Habe eben mal aus den GIT aktualisiert. Leider gibt es nun Segfults...

    PS: wie ist das mit den Sendern, die kein EPG senden, da wird ja nichts importiert. Wie bekomme ich da ein EPG? (Beispiel go.tv)

    Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. [StGB §328 Abs.: 2 Nr.: 3]

    ___

    Gen2VDR V7; VDR 2.4.0; Gehäuse: Antec Fusion V2 Black & iMon LCD (15c2:ffdc); Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, Zotac GT630 Zone Edition, 4 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5 [VDR-User #1540]

  • PS: wie ist das mit den Sendern, die kein EPG senden, da wird ja nichts importiert. Wie bekomme ich da ein EPG? (Beispiel go.tv)


    Hast deine Datenquelle gotv? Bei mir klappt das, ich habe den Sender sicherhaltshalber per noEPG deaktiviert und xmltv2vdr importiert mir das EPG brav. Ich bin mit nur nicht sicher obs auch klappt wenn man Merge auswählt, ich habe in diesen Fall Appent gewählt.


    BTW @ Joe_D: Ich lasse per Sylogeinstellungen die xmltv2vdr Einträge in nen seperates Logfile umleiten und lasse die letzten 10 aufheben. Beim sichten gerde eben kam mir die Idee das es praktisch wäre für Fälle wie "cannot find existing event in epg.data for xmltv-event" die EPG Infos der Quelle mit ins Log zu schreiben. Dann könnte man gleich mal nachschauen obs evtl. nen Fehler im Plugin ist oder ob die EPG Infos ganz enfach nicht vereinbar sind. Was denkst du?


    BTW2: Könntes du auch irgendeine Möglichkeit bieten Abfragen zu können wann das Update, was man per svdrp angestossen hat fertig ist? Ich lasse ihn täglich einmal aufwachen und stosse ein epgupdate an, danach muss der epgsearch Suchtimer zweimal angestossen werden da der VDR Seriestimer da das EPG modifiziert (Staffel/Episode hinzufügen usw.), da wäre es schön nicht einfach nur pauschal X Minuten zu warten sondern den Zeitpunkt ermitteln zu können.


    BTW3: Falls das noch nicht jeder kennt, unter rsyslog gibts "/etc/rsyslogd" dort ne Datei anlegen (z.B. vdr.conf), dann dieser Eintrag
    --
    if $syslogfacility-text == 'local0' and $msg contains 'xmltv2vdr: ' then /var/log/vdr-xmltv2vdr.log
    if $syslogfacility-text == 'local0' and $msg contains 'xmltv2vdr: ' then ~
    --
    Dann landet der ganze xmltv2vdr Kram im extra Log.


    Und danach mit
    --
    local0.* /var/log/vdr.log
    local0.* ~
    --
    Lanet der vdr Rest im extra vdr log und müllt nicht das Syslog zu.


    Den vdr dann mit --log=3.0 starten, d.h. log Level 3 und Facility local0.


    cu