Posts by FireFly

    also bei mir kompiliert es wenn ich folgendes ändere

    Danke, damit compiliert es bei mir auch noch. Vermutlich haben sie in neueren libxml2-Versionen etwas an dem typedef von xmlErrorPtr geändert.

    Im Git ist ein update, bitte probiert es damit nochmal.

    Sorry, nicht böse sein, aber langsam verliere ich etwas den Überblick.

    Was ist denn nun der Unterschied zwischen tvscraper, scraper2vdr und jetzt xmltv4vdr

    Da bin ich Dir gar nicht böse, das ist eine gute Frage, die ich aber auch nicht vollständig beantworten kann.

    • xmltv4vdr bekommt die Daten von externen EPG-Anbietern und kann die EPG-Einträge selektiv (Filme/Serien/alle) anreichern
    • "TVScraper uses the thetvdb.com API for collecting series metadata and
      themoviedb.org API for movies." (von https://github.com/MarkusEh/vdr-plugin-tvscraper)
    • scraper2vdr setzt meines Wissens auf EPGD, das zwischen mehreren VDRs geshared werden kann und bietet zusätzlich noch einen Webserver (was für meine Zwecke aber zu monströs wäre) (RE: scraper2vdr howto ?)

    Bitte ergänzen bzw. berichtigen!


    Zabrimus: Schaue ich mir an. Welchen Compiler nutzt Du? Mein gcc 7.5.0 meldet nämlich nichts....

    Nachdem ich Ende 2018 xmltv2vdr ausprobiert hatte und das bei mir nicht stabil lief, hatte ich angefangen darin einiges zu verbessern. Da das aber nach und nach so viele Änderungen am Code und auch am Konzept waren, habe ich mich irgendwann entschlossen ein neues Plugin daraus zu machen und es xmltv4VDR zu nennen.


    Das Plugin xmltv4VDR dient dazu, die vorhandenen EPG-Informationen der Sender mit Bildern und zusätzlichen Informationen im xmltv-Format aus externen Quellen anzureichern.

    Das bedeutet auch, dass keine Events hinzugefügt werden sondern nur vorhandene ergänzt werden.


    Die Schnittstelle zum Einlesen der externen xmltv-Infos ist gegenüber xmltv2vdr unverändert geblieben, so dass vorhandene Skripte und Verfahren weiter benutzt werden können. Für tvsp2xmltv sind einige Patches dabei, um es auf die aktuellen Gegebenheiten anzupassen.


    Zusätzlich können Episoden-Infos von http://www.eplists.de den Events hinzugefügt werden. Die Episodenfiles werden in einem Verzeichnis erwartet (müssen also via Skript geholt werden) und werden vor jedem externen EPG-Update in die Episoden-DB eingelesen.

    Weitere Details im README.


    Features:

    • epgsources Schnittstelle ist gegenüber xmltv2vdr unverändert, d.h. vorhandene Plugins zum Holen der EPG-Infos können weiter verwendet werden
    • alle externen Infos (EPG und Episode Files) werden im UTF8-Format verarbeitet
    • Serien-Infos von http://www.eplists.de werden optional hinzugefügt
    • Serien-Infos werden zusätzlich im XML-Format ins AUX-Feld des EPG Events geschrieben zum einfachen Auslesen durch andere Plugins oder mit Tools (z.B. svdrpsend LSTE)
    • selektive Änderung des EPG: es kann für jede EPG-Komponente ausgewählt werden, für welche Sendungsart die externe Info übernommen werden soll:
      • keine
      • nur Filme
      • nur Serien
      • nur Filme & Serien
      • alle


    Sowohl die Zuordnung der externen Events als auch der Serieninfos aus eplists zu den VDR-Events ist abhängig von der Qualität der Daten, d.h. wenn Title und Shorttext einer Sendung (Event) zu sehr abweichen, dann ist keine Zuordnung mehr möglich und somit keine 100-prozentige Trefferquote erreichbar.


    Downloadseite: https://github.com/FireFlyVDR/vdr-plugin-xmltv4vdr

    aktuelle Version: 0.4.3-Beta


    FireFly

    Ich bin mir an der Stelle nicht sicher, wie epgsearch arbeitet.

    Wenn man %variable% verwendet, müsste er doch die Variable im Verzeichnisnamen ersetzen, sobald die Info da ist, oder? Irgendwo habe ich das mal gelesen, meine ich.

    Aus epgsearch MANUAL:

    Habe ich aber noch nie benutzt

    Im Aux-Feld kann ein Plugin Dinge speichern, die es für seine Arbeit braucht

    ... oder für andere Plugins wie epgsearch interessant sind wie Staffel und Episode um daraus z.B. einen Namen für die Aufnahme zusammen zu bauen. Zusätzlich schreibe ich die Infos in die Description zum Anzeigen im Skin, aber dass andere Plugins das Parsen müssen ist keine gute Idee. Dafür bietet sich doch aus Aux-Feld mit definierten XML Keywords an.

    kls : Ich sehe gerade, dass das Aux-Feld eines Events in der epg.data gar nicht in die Recording-Info übernommen wird, sondern (nur) das Aux-Feld des Timers :(

    Code
    cRecording::cRecording(cTimer *Timer, const cEvent *Event)
    { ...
      info = new cRecordingInfo(Timer->Channel(), Event);
      info->SetAux(Timer->Aux());
      info->priority = priority;
      info->lifetime = lifetime;

    Damit gehen alle Infos, die ein EPG-Plugin mühsam ermittelt und ins Aux-Feld geschrieben hat wie z.B. Staffel und Episode bei der Aufnahme wieder verloren 8| Ist das so gewollt? Muss ein EPG-Plugin diese Infos in das Timer-Aux schreiben? Aber IMHO gibts dafür keine Schnittstelle.

    Ich wollte das Aux-Feld eines Events für zusätzliche Infos nutzen (siehe oben in #30), damit die Prosa-Description nicht geparsed werden muss.

    Wobei ein standardisiertes Format wie xml oder json schon Vorteile hätte.

    Ja, selbstverständlich. Ich meinte aber der eine nutzt z.B. <Serientitel> und der andere <series_title>.

    Da ja schon epgsearch (und EPGD?) XML nutzen müsste das zumindest in XML gekapselt sein. Bespielsweise könnte JSON in XML gekapselt in der epg.data dann so aussehen:

    Code
    T M*A*S*H
    S Lieber Sigmund
    D Staffel: 5, Folge: 8, Folge insgesamt: 105|Als Psychiater kümmert sich Colonel Freedman um das seelische Wohl der Soldaten. Doch all die Grausamkeiten, mit denen er konfrontiert wird, stürzen ihn selber in eine tiefe Depression. Seine letzte Hoffnung ist das M*A*S*H-Camp.|Regie: Alan Alda|Darsteller: Alan Alda (Captain „Hawkeye“ Benjamin Franklin Pierce), Henry (Harry) Morgan (Colonel Sherman T. Potter), Loretta Swit (Major Margaret „Hot Lips“ Houlihan), Larry Linville (Major Frank Burns), Gary Burghoff (Corporal „Radar“ O’Reilly), Jamie Farr (Corporal Maxwell Q. Klinger), Mike Farrell (Capt. B. J. Hunnicutt), William Christopher (Capt. Father John Francis Patrick Mulcahy), Charles Frank (Capt. Hathaway), Bart Breveman (Soldat Habib), Sal Viscuso (Patient John), Jennifer Davis (Krankenschwester)|Land: USA, Jahr: 1976|Originaltitel: M*A*S*H|Kategorie: Comedyserie, series
    G 14
    @ <xmltv4vdr>{"type":["series"],"credits":[{"director":"Alan Alda"},{"actor":"Alan Alda","role":"Captain „Hawkeye“ Benjamin Franklin Pierce"},{"actor":"Henry (Harry) Morgan","role":"Colonel Sherman T. Potter"},{"actor":"Loretta Swit","role":"Major Margaret „Hot Lips“ Houlihan"},{"actor":"Larry Linville","role":"Major Frank Burns"},{"actor":"Gary Burghoff","role":"Corporal „Radar“ O’Reilly"},{"actor":"Jamie Farr","role":"Corporal Maxwell Q. Klinger"},{"actor":"Mike Farrell","role":"Capt. B. J. Hunnicutt"},{"actor":"William Christopher","role":"Capt. Father John Francis Patrick Mulcahy"},{"actor":"Charles Frank","role":"Capt. Hathaway"},{"actor":"Bart Breveman","role":"Soldat Habib"},{"actor":"Sal Viscuso","role":"Patient John"},{"actor":"Jennifer Davis","role":"Krankenschwester"}],"country":"USA","year":1976,"original-title":"M*A*S*H","categories":["Comedyserie","series"],"season":5,"episode":8,"episodeoverall":105,"picture-path":"/var/lib/epgsources/tvspielfilm2xmltv-img/","pictures":["576abe59f033af19da421fca.jpg"],"xmltvsource":"tvspielfilm2xmltv"}</xmltv4vdr>

    Dann können auch Skin-Plugins die Infos aus dem AUX-Feld so darstellen wie sie wollen und müssen nicht die Description parasen.

    tvscraper ändert die Summary der Einträge in epg.data, und fügt dort am Ende Zeilen hinzu

    Am sinnvollsten wäre es doch, in der epg.data das AUX-Feld dafür zu benutzen. Sonst muss die Summary (Description) doch wieder geparsed werden mit allen Problemen. Und das AUX-Feld steht allen Plugins zur Verfügung.

    Soviel ich weiß hängt EPGD ja schon Werte an und man müsste sich nur auf ein gemeinsames Format einigen. Derzeit wird wohl von allen XML verwendet, was ich aber nicht so ideal finde zum parsen wenn man nicht die ganze libxml2 einbinden will.

    Was soll ich denn für eine ausführbare Binärdatei in /usr/bin erstellen?

    Steht doch eigentlich alles in Deiner zitierten Beschreibung. Das Skript dient zum Holen der externen EPG-Daten (wobei Binärdatei etwas mißverständlich ist, "ausführbar" wäre besser). Wenn der Returncode ungleich 0 ist wird das Holen als nicht erfolgreich angesehen und mehrmals wiederholt.

    Im einfachsten Fall enthält das Skript nur exit 0 wenn die xmltv-Datei schon vorhanden ist, aber Fehler (z.B. unvollständige xmltv-Datei oder keine Verbindung zum Server) können dann vom Plugin natürlich nicht abgefangen werden und führen später zu Problem bei der Verabeitung.

    bisher konnte ich die Treiberinstalltion für meine TT S2-6400 bis einschließlich OpenSuse_Leap 15.5 immer noch mit dem von Firefly zur Verfügung gestellten Sourcen-rpm "v4l-dvb-saa716x-20210830-1.src.rpm" von FireFly durchführen

    Ich hatte das SRPM vor einiger Zeit schon mal für 15.6 erstellt und erfolgreich kompiliert, aber habe noch kein openSuse 15.6 auf dem VDR installiert.

    Da das SRPM zu groß für das Forum ist musste ich es splitten. Zum Entpacken bei z01.txt und z02.txt das ".txt" enfernen und unzip mit dem zip-File aufrufen. Dann das erhaltene src.rpm wie gewohnt installieren und compilieren.

    Mit 0-0 wird er fast unbedienbar, da z.B. OK gleich zweimal ausgeführt wird wenn nicht ganz kurz drückt.

    Bin jetzt bei WH=125, Intervall=0, damit geht s schneller, aber die Anfangsverzögerung gibts nicht.


    evtest gibt auch nur 0 und 1 aus, keine 2 für repeat - ist das ok?