[ANNOUNCE] xmltv2vdr 0.1.1

  • Hallo,


    hier nun das neueste Release von xmltv2vdr. Das xmltv2vdr Plugin importiert EPG-Daten im xmltv-Format in den VDR. Die EPG-Daten müssen von externen Programmen im xmltv-Format bereitgestellt werden.


    Die externen Programme sind nicht Bestandteil des Plugins, ich selbst habe aus dem Plugin epgdata2vdr eine Quelle epgdata2xmltv geschrieben - die im dist-Verzeichnis enthalten ist.


    Warum xmltv2vdr?


    Da rumwursteln mit EPG-Quellen beim VDR scheinbar zum Standard gehört und jeder, der eine neue Quelle verwenden will gleich ein nur exakt für diese Quelle zugeschnittenes Plugin benötigt (siehe auch http://vdr-wiki.de/wiki/index.…s_f.C3.BCr_den_EPG_import) habe ich mir überlegt wie man diesen Wildwuchs beenden könnte und heraus gekommen ist xmltv2vdr. Suboptimal finde ich auch diese abstrusen Listen wie bei tvmovie2vdr die man erstmal ausserhalb des OSD einstellen muss (siehe http://vdr-wiki.de/wiki/index.…annels.7B.2C_wanted.7D.pl) in der die Zuweisung der Quellen-Kanal-ID zur VDR Kanal ID drin steht.


    Bei xmltv2vdr gibt es nur noch einheitliche Kanalnamen (http://vdr-wiki.de/wiki/index.…ltv2vdr-plugin#Kanalliste). Die Liste kann jederzeit erweitert werden. Egal von welcher Quelle der Kanal sat1.de kommt, er wird immer Daten für Sat1 enthalten (sofern der Quellenauthor sich daran hält)


    Vorteile von xmltv2vdr:

    • einheitliche Kanalliste, für alle Sourcen gleich, kein externes Zuweisungsgebastel
    • Zuweisung der xmltv2vdr Kanäle zu den eigenen VDR-Kanälen komplett innerhalb des OSD
    • ein Sourcenkanal kann zu mehreren VDR-Kanälen gemappt werden (z.B. auf Sat1 und Sat1HD)
    • mischen des Sender EPGs mit dem aus der Source möglich ,seit EpgHandler nun statt nur 1 Tag beliebig viele Tage
    • feingranulierte Auswahlmöglichkeit welche Daten aus der Source ins EPG sollen (Untertitel, Beschreibung, Ort, Jahr, Mitwirkende, Freigabe, Kritik, Video,Audio,StarRating-Tags)
    • liest jede standardkonforme xmltv-Datei
    • Ausführungszeit für jede Quelle einzeln einstellbar (zu gewisser Zeit mit und ohne Aufwachen oder über svdrp)
    • Unterstützung von eplists, damit werden die Einträge Staffel und Episode hinzugefügt, falls Kurztext und Liste vorhanden. Mit epgsearch lassen sich dann bestimmte Staffeln aufnehmen (siehe auch diesen Beitrag) NEU: Titel und Kurztext können nun aus der epliste übernommen werden
    • Quellen können sortiert und ein- und ausgeschaltet werden (mit 0 auf der jeweiligen Quelle)
    • Unterstützung von EpgHandler ab vdr1.7.26 oder mit beiliegendem Patch auch für vdr1.6.0-3


    offene TODOs:

    • Mapping von Kategorien auf Contentdescriptoren (vdr >1.7)
    • EPGImages (erfordert eine Änderung an der Sourcen-Schnittstelle - intern aber schon vorbereitet)


    Wie funktionierts?


    xmltv2vdr liest in /var/lib/epgsources Steuerdateien der einzelnen Sourcen und ruft je nach Konfiguration die Source auf oder erwartet in /var/lib/epgsources eine xmltv-Datei die verarbeitet wird.


    Weitere Infos im Wiki: http://vdr-wiki.de/wiki/index.php/Xmltv2vdr-plugin


    aktuelle Version: http://projects.vdr-developer.…jects/plg-xmltv2vdr/files


    Git: http://projects.vdr-developer.…n-xmltv2vdr.git;a=summary


    Bugreports: http://projects.vdr-developer.…ects/plg-xmltv2vdr/issues


    Achtung: xmltv2vdr benötigt ab 0.1.0 sqlite und libpcre - Dies wurde nötig wegen des EpgHandlers, der asynchron zu jeder Zeit Daten abfragen kann. Diese Daten müssen aber irgendwo zwischengespeichert werden - deshalb sqlite. Vor allem, da es schon sehr zeitintensiv war den Ablauf von "Quelle aufrufen -> Events mischen" zu ändern in "Quelle aufrufen -> in Zwischenspeicher ablegen -> aus Zwischenspeicher lesen -> Events mischen". Grundsätzlich hat dies (aber nur mit EpgHandler) den Vorteil das ein Kanal-EPG komplett gelöscht werden kann und wenn es wieder vom VDR gefüllt wird ist es automatisch wieder gemischt. Zudem kann Teil 2, also "aus Zwischenspeicher lesen -> Events mischen" so oft ausgeführt werden wie man will ohne dabei die Quelle ständig zu "belästigen" ;)


    Gruß


    Joe_D

  • Hallo,


    vielen Dank für das klasse Plugin. Gestern habe ich auf die aktuelle GIT-Version upgedatet und nun macht der VDR öfters Restarts. Im Log kommt immer folgendes:

    Code
    1. May 11 07:36:17 [vdr] [27155] xmltv2vdr housekeeping thread started (pid=23177, tid=27155)
    2. May 11 07:36:17 [kernel] xmltv2vdr house[27155]: segfault at 0 ip b73974d5 sp aa7fc13c error 4 in libc-2.13.so[b72fc000+167000]

    Scheint was mit dem neuen Housekeeping zu tun zu haben? Brauch ich evtl. auch ein Update meiner epgsource (tvm2xmltv)?

    „Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten“ [Albert Einstein]

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

  • Brauch ich evtl. auch ein Update meiner epgsource (tvm2xmltv)?

    Nein, noch nicht. Sieht einfach nach Programmierfehler aus ;(


    Änder mal die Zeile 551 in xmltv2vdr.cpp von

    Code
    1. if (global->ImgDelAfter())


    in

    Code
    1. if (global->ImgDelAfter() && global->ImgDir())


    Dann sollten die Abstürze nicht mehr passieren...


    Gruß


    Joe_D

  • OK, danke sehr. Ich werde es beobachten...

    „Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten“ [Albert Einstein]

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

  • Sieht gut aus:

    Code
    1. May 11 13:00:10 [vdr] [11174] xmltv2vdr housekeeping thread started (pid=4349, tid=11174)
    2. May 11 13:00:11 [vdr] [11174] xmltv2vdr: removed 16 old entries from db
    3. May 11 13:00:11 [vdr] [11174] xmltv2vdr housekeeping thread ended (pid=4349, tid=11174)

    „Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten“ [Albert Einstein]

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

  • Hi Joe_D,


    vielen Dank für das schöne Plugin und die aktive Entwicklung :)
    Ich hab gerade auf die neueste Git-Version aktualisiert und hab ein paar Fragen/Anmerkungen.


    Ich benutze epgdata2xmltv. Im Moment wird da 'nur' die Genre-Nummer exportiert - ich denke mal das ist WIP und wird irgendwann noch in lesbare Texte konvertiert? Und wäre es auch drin, ebenfalls die Kategorie (d10: Spielfilm etc.) mit auszugeben? Finde ich persönlich irgendwie fast wichtiger als das Genre...


    Ich lasse im Moment mit 7 Tagen im Voraus importieren. Alle Kanäle stehen auf 'create'. Dennoch haben einige Kanäle (SWR, Tele5) nur ein paar Einträge. Ich vermute mal, das hängt mit den Fehlermeldungen zusammen, die ich beim Lauf bekomme:


    (epd.data/epg.db hab ich vorher gelöscht)


    Und da die Liste der von einer Import-Quelle angebotenen Sender doch recht umfangreich sein kann: Da ist's dann etwas mühselig im Konfigurationsmenü mit up/down zu navigieren - da wäre ein Mapping der grün/gelb Tasten auf Seite vor/zurück ganz praktisch.


    Cheers,


    Pit

    ASRock Ion 3D 152B, Sundtek SkyTV Ultimate openSUSE Leap 42.2, VDR 2.2.0,
    softhddevice, nopacity, DFAtmo, xmltv2vdr, muggle, tvscraper, VDRAdmin-AM (alles git)

  • Hi Joe_D,


    erst mal vielen Dank für die Plugin-Entwicklung - 'sinnvolle' EPG-Daten sind leider seid jeher ein Problem, da via DVB-S nicht gerade die besten Daten kommen...


    Daher habe ich mir das Plugin mit epgdata.com als Quelle angesehen. Nach einem kleinen UTF-8 Problem mit dem Grabber von xmltv.org (ist das Projekt überhaupt noch aktiv?!) erhalte ich xmltv konformes xml.


    Leider scheint das Plugin jedoch ein Problem mit dem schreiben der DB zu haben:


    Code
    1. May 25 19:37:12 [12418] xmltv2vdr: 'epgdata' epgdata 2 '' ard.de kabel1.de prosieben.de rtl.de rtl2.de sat1.de superrtl.de vox.de zdf.de
    2. May 25 19:37:12 [12418] xmltv2vdr: 'epgdata' executing epgsource
    3. May 25 19:37:12 [12418] xmltv2vdr: 'epgdata' parsing output
    4. May 25 19:37:13 [12418] xmltv2vdr: 'epgdata' processed 402 xmltv events
    5. May 25 19:37:13 [12418] xmltv2vdr: 'epgdata' importing from db
    6. May 25 19:37:13 [12418] xmltv2vdr: adding 'neuneinhalb'@May 26 09:50-May 26 10:00
    7. May 25 19:37:13 [12418] xmltv2vdr: 'epgdata' processed 1 vdr events


    Code
    1. sqlite> select count(*) from epg;
    2. 1



    D.h. obwohl 402 Events in der Eingabedatei sind, kommt davon in der DB nur einer an...


    Kann man irgendwo noch mehr Logging aktivieren oder sonst ne Idee? Input XML kann ich bei Bedarf liefern...


    Danke!
    Skobi :)

    VDR1:Core2; 1xFF V1.6, 1xTT-1600 DVB2 + AVBoard System: Kubuntu 12.4 HD-Client: Zotac ION mit xineliboutput und XMBC auf Kubuntu 11.10

  • ...hmm, es liegt wohl z.T. daran dass alle Events die 'eventsid' 0 haben. Auch wenn ich dann erwarten würde, dass es pro Kanal (hier im Test 9) einen Eintrag geben müsste...

    VDR1:Core2; 1xFF V1.6, 1xTT-1600 DVB2 + AVBoard System: Kubuntu 12.4 HD-Client: Zotac ION mit xineliboutput und XMBC auf Kubuntu 11.10

  • Ah, wenn man mal die Anleitung liest... Da werde ich den grabber wohl noch um die neue 'category' erweitern und dann mal weitersehen :)

    VDR1:Core2; 1xFF V1.6, 1xTT-1600 DVB2 + AVBoard System: Kubuntu 12.4 HD-Client: Zotac ION mit xineliboutput und XMBC auf Kubuntu 11.10

  • Jap, mit der neuen 'category' funktioniert es. Super, endlich wieder besserer EPG (wenn auch 'n paar Eur pro Jahr...)

    VDR1:Core2; 1xFF V1.6, 1xTT-1600 DVB2 + AVBoard System: Kubuntu 12.4 HD-Client: Zotac ION mit xineliboutput und XMBC auf Kubuntu 11.10

  • ROFL. Manchmal ist man einfach blind... :wand


    Danke!


    Man kann sich das Leben halt doch schwerer machen als nötig, den Grabber im dist Ordner hatte ich einfach übersehen...


    Joe_D : Bitte in epgdata2xmltv.h das #include 'curl/types.h' entfernen - das gibt's nicht mehr und ist schon lange (seit 2004) deprecated...
    https://github.com/bagder/curl…43afefa721e5497119fb2cee0


    Gruss
    Skobi :)

    VDR1:Core2; 1xFF V1.6, 1xTT-1600 DVB2 + AVBoard System: Kubuntu 12.4 HD-Client: Zotac ION mit xineliboutput und XMBC auf Kubuntu 11.10

  • ...und dann noch gleich ein Feature-Request an den Grabber: Soweit ich das sehe steht die Folgennummer (leider nicht die Staffel?!) im XML von epgdata (d26 'sequence') Falls man sonst keine Info zur Serie bekommt könnte man die ja vielleicht wenigstens nutzen, oder?

    VDR1:Core2; 1xFF V1.6, 1xTT-1600 DVB2 + AVBoard System: Kubuntu 12.4 HD-Client: Zotac ION mit xineliboutput und XMBC auf Kubuntu 11.10

  • Man kann sich das Leben halt doch schwerer machen als nötig, den Grabber im dist Ordner hatte ich einfach übersehen...


    :D


    Zitat

    Joe_D : Bitte in epgdata2xmltv.h das #include 'curl/types.h' entfernen


    Du willst die aktuelle Git-Version ;D


    Code
    1. git clone git://projects.vdr-developer.org/vdr-plugin-xmltv2vdr.git


    Pit

    ASRock Ion 3D 152B, Sundtek SkyTV Ultimate openSUSE Leap 42.2, VDR 2.2.0,
    softhddevice, nopacity, DFAtmo, xmltv2vdr, muggle, tvscraper, VDRAdmin-AM (alles git)

  • Wäre es denn möglich, dem Plugin eine xml-Datei oder stylesheet mit auf den Weg zu geben, mit Hilfe deren man den EPG-Eintrag frei gestalten könnte; ich hätte gerne z.B das rating und die Kurzkritik weiter oben im EPG-Eintrag, Andere vermutlich eine Zeile mit "Spielfilm, Deutschland, 1999", oder "S01E01 - Die Simpsons stellen sich vor"

    VDR1: P5b-DE, E8400, 5TB Seagate Platten, squeezevdr/xbmc Frodo 2*Cinergy-1200, TT S2-3200,G210 MultiSeat für LG-32LD420+Desktop
    VDR2: AMD 5050e, Asus m3n78-pro, 2.5'' HDD, YAVDR-0.4, PT-AX100E+26'' BilligGlotze
    Server: Seagate Dockstar mit 2.5'' HDDs für Web/Mail/File/Print/Lirc/Musik 24/7

  • Läuft perfekt, vielen Dank!
    Wenn man noch einen "spacer" für einen Absatz im EPG einfügen könnte, dann wäre ich noch glücklicher, aber das ist nun wirklich nur Kosmetik.
    Grüße
    Miguel

    VDR1: P5b-DE, E8400, 5TB Seagate Platten, squeezevdr/xbmc Frodo 2*Cinergy-1200, TT S2-3200,G210 MultiSeat für LG-32LD420+Desktop
    VDR2: AMD 5050e, Asus m3n78-pro, 2.5'' HDD, YAVDR-0.4, PT-AX100E+26'' BilligGlotze
    Server: Seagate Dockstar mit 2.5'' HDDs für Web/Mail/File/Print/Lirc/Musik 24/7

  • Habe gestern auf die neue GIT upgedated. Nun habe ich im EPG fehlende Episodentiltel (Pro7...) und im Log:

    die epg.db hatte ich gestern schon mal gelöscht. Scheint aber trotzdem nicht zu gehen.

    „Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten“ [Albert Einstein]

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