[ANNOUNCE] VDR developer version 1.7.25

  • Moin!


    Wenn ich Klaus richtig verstanden habe, dann wird leider immer nach der Startzeit gesucht und nicht nach der Event-ID. Genau das Problem wollte ich in diesem Zusammenhang ja aufzeigen.


    Ein schneller Blick in eit.c und epg.c scheint es zu bestätigen, dass immer nach Startzeit gematcht wird. Das wusste ich nicht.
    Hm... Was hat das wohl für einen Grund?


    Das Einlesen per PUTE übergibt aber Startzeit und EventID an GetEvent, wenn also da die Startzeit "0" benutzt wird, wird anhand der EventID herausgesucht.
    Allerdings würde dann cEvent::SetStartTime auch die Null in das Event setzen, was nicht schön wäre. Da müsste also noch eine Abbruchbedingung rein:


    Aber ich hab noch nicht viel Überblick über das EPG-Handling, bin noch am Lesen und Lernen...


    Lars.

  • Moin!


    Zu den "linked channels" weiß ich noch gar nichts, deshalb schreibe ich mal nichts dazu, aber gut, dass du es erwähnst.


    Dazu fällt mir noch etwas weiteres auf. Derzeit nutze ich den noEPG-Patch im Whitelist-Modus, da ich mehrere Sateliten ansteuere, wo aber auch viele unnütze Kanäle bei sind die kein EPG zeigen sollen. Das EPG gebe ich derzeit nur manuell über die Whitelist für die Kanäle frei, die ich nicht extern befülle und die mich trotzdem Interessieren.
    Dadurch verhindere ich ein unnötiges Aufblähen der epg.data
    Gibt es mit der neuen Version eine Möglichkeit auch sowetwas zu realisieren?


    Du kannst natürlich Events für solche Kanäle mit einer Table-ID 1 regelmäßig anlegen, die "sehr lange" dauern (damit es nicht zu viele sind).


    Was mir aber in diesem Fall "in den Kopf springt" wäre, die DeviceHooks aufzubohren um eine weitere Methode. Denn vor ein paar Versionen wurde cDevice um ProvidesEIT erweitert, so dass Geräte dem vdr melden können, dass er mit diesen gar nicht erst versuchen muss, einen EPG-Scan zu starten. Das müsste man "nur" um den aktuell zu scannenden Kanal erweitern und dann könnte sich ein Plugin darum kümmern, welche Kanäle gescannt werden und welche nicht. Ist jetzt aber nur ganz schnell hingeschrieben und nicht weiter überprüft...


    Lars.

  • Ein schneller Blick in eit.c und epg.c scheint es zu bestätigen, dass immer nach Startzeit gematcht wird. Das wusste ich nicht.
    Hm... Was hat das wohl für einen Grund?


    Evtl. irgendein Workaround für einige Sender? Ich meine mich dunkel zu erinnern (Doppeltes EPG Problem bei den Pro7Sat.1 Sendern) das es da auch Sender gab die die EventID bei EPG Updates gerne mal lustig geändert haben.


    cu

  • Moin!


    Evtl. irgendein Workaround für einige Sender? Ich meine mich dunkel zu erinnern das es da auch Sender gab die die EventID bei EPG Updates gerne mal lustig geändert haben.


    Sowas schreibt Klaus dann meistens als Kommentar in den Code.
    Aber den Sendern traue ich sowas durchaus zu... :)


    Lars.


  • Du kannst natürlich Events für solche Kanäle mit einer Table-ID 1 regelmäßig anlegen, die "sehr lange" dauern (damit es nicht zu viele sind).


    Als vorläufiger Workaround finde ich die Idee nicht schlecht, allerdings schafft das u.U. Probleme mit anderen Plugins die in EPG-Übersichten nur die Sender anzeigen zu denen auch EPG vorhanden ist.



    Was mir aber in diesem Fall "in den Kopf springt" wäre, die DeviceHooks aufzubohren um eine weitere Methode. Denn vor ein paar Versionen wurde cDevice um ProvidesEIT erweitert, so dass Geräte dem vdr melden können, dass er mit diesen gar nicht erst versuchen muss, einen EPG-Scan zu starten. Das müsste man "nur" um den aktuell zu scannenden Kanal erweitern und dann könnte sich ein Plugin darum kümmern, welche Kanäle gescannt werden und welche nicht. Ist jetzt aber nur ganz schnell hingeschrieben und nicht weiter überprüft...


    Ohne da jetzt schon tiefergehend geforscht zu haben hört sich das sehr gut an. Damit müsste sich dann ja eine Art noEPG-Plugin realisieren lassen.

  • "channel 3" steht in diesem Fall für RTL HD


    Es gibt noch eine andere Änderung, die Klaus ohne Probleme übernehmen kann. Programme, die nur Digitalton aussenden, führen zu einer falschen ChangedPids-Meldung. Die Änderung wäre:

    vdr-2.6.4

    softhddevice, dbus2vdr, dvd, epgsearch, femon, graphtftng, hbbtv, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.15 ,AsRock J4105, CIne CT-V7 DVB-C

  • Mit welchem EPG Import-Modul kann man denn Bilder in den EPG einbinden?


    EPG Bilder werden (von dem Programm was sie aus dem Internet läd) nach einem Namensschema (wurde weiter vorne gepostet) in irgendein Verzeichnis kopiert. Den Programmen die sie nutzen sollen sagst du dann einfach in welchen Verzeichnis sie zu finden sind. Der VDR hat damit nix zu tun. Und es gibt auch keine Importmodule oder irgendwas spezielles.


    cu

  • Zitat

    EPG Bilder werden (von dem Programm was sie aus dem Internet läd)


    Ich wollte den Namen des Programms wissen was Bilder importieren kann. Das es verschiedene Skripte und Plugins gibt ist mir bekannt, nur kenne ich die im Detail nicht.




    cu gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

  • Ich wollte den Namen des Programms wissen was Bilder importieren kann. Das es verschiedene Skripte und Plugins gibt ist mir bekannt, nur kenne ich die im Detail nicht.


    [ Rein technisch gibt es kein Importieren von EPG Bildern. ]


    Z.B. das tvm2vdr Plugin kann beim EPG dowanload auch gleich die Bilder runterladen und ins gewünschte Verzeichnis kopieren.


    cu

  • Oh man, es muss einem ja nicht gefallen - dann antwortet man nicht ...


    gromit: tvm2vdr , epgdata2vdr (kostenpflichtiges Abo) , tvmovie2vdr konnte es wohl auch ist aber wohl des längeren obsolet. Alles andere sind wohl eher handgestrickte Lösungen.


    Anzeigen lassen kann man das in vdr-plugin-live, in text2skin Skins (zB anthra, NarrowHD, aber auch skinenigma plugin und pearlHD plugin)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Oh man, es muss einem ja nicht gefallen - dann antwortet man nicht ...


    Hier hat doch niemand was degegen. Ist IMHO nur wichtig das man klarstellt wie es funktioniert (Es gibt halt kein "EPG Import Modul"). Sonst hat der Fragensteller nix davon.


    cu

  • Das hier finde ich auch schön:

    Meine Traumvorstellung wäre das man das EPG in einer externen Instanz (wie auch immer die aussieht) liegen hat und der VDR das sowohl abfragen als auch füttern kann. In einem für mich normalen Setup gibt es immer 2-3 Programme die das EPG des VDR synchronisieren (z.B. xbmc) , ausserdem gefiele mir daran, das man extern zum VDR die Einträge konkret ändern könnte. (Also z.B. ein update auf bestimmte Einträge machen könnte) Wenn man mehrere VDRs hätte könnte man 1 EPG pflegen und es wäre in allen Instanzen im Haushalt sauber. XBMC könnte sofort die Informationen abfragen. Für den Otto-Normal-VDR-User kann ja gerne die jetzige Funktionsweise erhalten bleiben, aber wenn man das über ein Plugin ersetzen könnte wäre es Klasse.

    hat das nach so vielen Posts noch eine Relevanz?
    Ich formulier hier mal weiter "in die Tüte":
    Die EPG-EInträge in dieser externen Instanz erhalten zum einen u.U zusätzliche Felder wie z.B Bildnamen/Bilderchen
    Die VDR's bekommen ein Plugin "ExtEPG" welches diese externe Instanz nach konfigurierbaren Regeln füttern/updaten kann.
    Ebenso müsste es ein externes Progrämmelchen geben, welches DIE zentrale Schnittstelle zu dieser Instanz für a
    Das Plugin "ExtEPG" würde per Trigger (SVDRP?) auch den/die internen im VDR abgelegten EPG updaten können, bzw mittels des Plugins könnte der VDR erkennen, dass er "alte Daten" hat wenn in der externen Instanz entsprechend ein Change-Date geführt würde.
    Es müsste dann konfigurierbare Regeln geben, welche Datenfelder durch welche Priorität geändert werden dürften


    Als externe Instanz kann ich mir ein xml oder aber mysql vorstellen - bei ersterem müsste man sich mehr Gedanken um das Locking machen

  • Als externe Instanz kann ich mir ein xml oder aber mysql vorstellen - bei ersterem müsste man sich mehr Gedanken um das Locking machen


    Wäre das nicht eher was für CouchDB? XML ist keine Datenbank und gegen MySQL habe Vorurteile. Im Zweifelsfall würde ich PostgreSQL vorziehen.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Wäre das nicht eher was für CouchDB? XML ist keine Datenbank und gegen MySQL habe Vorurteile. Im Zweifelsfall würde ich PostgreSQL vorziehen.


    DAS ist eine Geschmacksfrage oder - schlimmer - könnte zu einer Glaubensfrage werden...


  • Ich vermute, daß da noch ein Problem ist, wenn es nur gebondete Devices gibt und ein EPG-Scan einsetzt oder auf Timer-Transponder geschaltet werden soll.
    Werd's mir anschauen.


    Zur Info: Das gleiche Problem in ähnlicher Form hatte ich hier gestern auch! Wenn ich den EPG-Scan deaktiviere, habe ich diese Probleme nicht mehr.
    Ich nutze eine FF HD 6400 gebondet über 1 SAT Kabel (LNB-Sharing), sowie eine Twin S2 DVB Karte, wo jeder Tuner ein eigenes SAT Kabel hat.


    Viele Grüße, Uwe

  • Das Plugin "ExtEPG" würde per Trigger (SVDRP?) auch den/die internen im VDR abgelegten EPG updaten können, bzw mittels des Plugins könnte der VDR erkennen, dass er "alte Daten" hat wenn in der externen Instanz entsprechend ein Change-Date geführt würde.
    Es müsste dann konfigurierbare Regeln geben, welche Datenfelder durch welche Priorität geändert werden dürften


    Warum so umständlich? Der VDR hätte in meiner Traumvorstellung gar keine internen EPG Daten mehr sondern würde bei Bedarf direckt den EPG Daemon über UDP Abfragen. Ferner schiebt er einfach das DVB EPG was er empfängt per UDP zum EPG Daemon.


    Und der EPG Daemon liefert DAS fertige EPG. Wie das EPG zustandekommt (Mischung aus verschiedenen Quellen oder das mit der höchsten Priorität) hat den VDR nicht zu interesseieren.


    Das wäre meine Wunschvorstellung.


    Als externe Instanz kann ich mir ein xml oder aber mysql vorstellen - bei ersterem müsste man sich mehr Gedanken um das Locking machen


    XML als Datenbank ist Wahnsinn, sowas macht man nicht.


    cu

  • Warum so umständlich? Der VDR hätte in meiner Traumvorstellung gar keine internen EPG Daten mehr sondern würde bei Bedarf direckt den EPG Daemon über UDP Abfragen. Ferner schiebt er einfach das DVB EPG was er empfängt per UDP zum EPG Daemon.


    Hmm, das fände ich aber nun kompliziert. Wäre es nicht einfacher, wenn der DVB EPG in einer passenden Form gespeichert würde, sagen wir z.B. per embedded sqlite und man dort die Einträge direkt mit SQL Befehlen aufhübschen könnte? Und nicht noch ein Daemon, noch ein Daemon, noch ein Daemon ...


    Regards
    fnu

    HowTo: APT pinning


  • Hmm, das fände ich aber nun kompliziert. Wäre es nicht einfacher, wenn der DVB EPG in einer passenden Form gespeichert würde, sagen wir z.B. per embedded sqlite und man dort die Einträge direkt mit SQL Befehlen aufhübschen könnte?


    Und dann? Kommt das externe TV Movie EPG in ner zweiten Tabelle dazu und schon braucht der VDR wieder Programmcode um seine Tabelle und die TV Movie Tabelle bei der Abfrage sinnvoll zu verknüpfen. Dann kommt epgdata.con dazu und der VDR braucht wieder nen Patch... Ich dachte davon wollen wir alle weg?


    man dort die Einträge direkt mit SQL Befehlen aufhübschen könnte?


    An Einträgen rummurksen hat deutliche Schwächen. Die verschiedenen EPG Datenquellen müssen RAW gespeichert werden und erst bei der Abfrage aufgehübscht werden. Sonst verliert man ja wieder die Historie. Oder wie merkst du ob sich das DVB EPG eines Senders geändert hast wenn du dram rumgemacht hast?


    Bei der Daemon Lösung könnte der Daemon z.B. recht einfach Programmänderungen des DVB EPG Erkennen *) und für diesen Fall dem Sender EPG (für diesen Sender und diesen Zeitbereich) Priorität über alle externen geben.


    Mit ner richtigen Datenbank (egal welche) und nem Daemon wären auf einmal viele Sachen ganz einfach die jetzt unmöglich sind.
    Und der Daemon könnte auch auf nem NAS laufen und alle VDRs im Haus bedienen. Und externes EPG könnte einfach per Cron Daily in den Daemon gepumpt werden ohne das überhaupt irgendein VDR laufen muss.
    Postprocessing könnte unabhängig davon per Daemon eigenen EPG-Mod-Plugins geschehen. Z.B. wenn EPGsearch einen Serientreffer hat wird er als "Serientreffer für VDR Nr.1 geflaggt" und das postprocessing Plugin könnte das EPG (welches dieser VDR bekommt) modifizieren (Staffel-Episode ins EPG eintragen). Die anderen VDRs bekommen weiterhin ihr unmodifiziertes EPG.


    Im Grundsetup können EPG Daemon und VDR auf dem selben Rechner laufen um im langweiligen "alles funktioniert wie bissher auch" Modus laufen. D.h. wer kein Interesse daran hat merkt den Unterschied zum Jetzt nicht (ob da ein Daemon mehr oder weniger läuft ist doch egal).


    cu


    *) Wenn über den VDR reinkommendes DVB EPG plötzlich nicht mehr mit dem bereits gespeicherten Übereinstimmt gabs ne Programmänderung und der Daemon weiss für das mischen mit dem externen (on the Fly bei der Abfrage) das externe bei Unterschieden zu verwerfen ist.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!