EPG zu DB Plugin - Brainstorming

  • ja - ich hatte das tableid-plugin genommen. dann hab ich es aber ja "richtig" gemacht - die tableid schreibe ich so, wie sie bei "mir" ankommt

  • Kann mir noch jemand den Sinn hinter TableID erklären?


    Gib mal bei Google "ETSI EN 300" ein, da findest du die PDF die das alles erklären.


    Ist alles IMHO ein wenig überkompleziert, und der VDR macht da auch spezielle Sachen mit. Z.B. überschreiben die Now&Next EPG Infos (AFAIK nen anderer Datenstrom) im VDR die normalen EPG Infos mit ner speziellen Table ID.
    Das ist auch insofern relevant das bei einigen Sendern bestimmte Informationnen nur in den Now&Next Infos stecken aber nicht in den normalen EPG Daten.


    cu

  • Kurzer Zwischenstand:


    Pluginname : "epg2db", derzeit Mysql only, Argumentliste:



    Die obigen Argumente dürften bis auf origin und priority selbsterklärend sein. Priority dient dazu konfigurieren zu können wer "gewinnt" - Nur Eintrage mit einer gleichen oder niedrigeren (höherer Wert) Prio werden duch diesen Client überschrieben. Beim Insert wird diese prio mit eingefügt.


    Origin - damit man pro Event auch sehen kann woher kams denn - welcher Client hat den Event zuletzt angefasst. - Mit geeigneten anderen Anwendungen kann man ja "frei" auf der DB rumwerkeln - sollte halt sauber seine Spuren hinterlassen. Default für origin ist rechnername/epg2db.



    Tabelle event:



    Da fehlen noch kleinigkeiten wie Components im Modell etc. auch die datentypen (varchar, text) mögen sich nochmal leicht ändern - für den Proof of Concept tuts das derweil


    Ich bin mir schon ziemlich sicher, wo ich ansetze um den EPG zyklisch einzufügen -,ist die n. Aktion
    Und damit das ganze auch von aussen zu triggern ist, wird es noch eine SVDRP-Schnittstelle zum antriggern des "EPG-Einfügen" geben. damit können dann externe Anwendungen zunächst die Datenbank befüttern und dann die angedockten vdr's der Reihe nach anstoßen sich den EPG neu zu ziehen.



    Ach so - dies noch: Sollte die verbindung zur DB zwischendrin abrauchen, so versucht das plugin den connect vor einer DB-Aktion wieder herzustellen - selbstheilend quasi.



    Hab ich was übersehen?

  • schaue doch einfach wie die es bei reel machen da läuft das soweit ich mich erinnere auch über ne datenbank warum das rad immer neu erfinden wenn es das schon fertig gibt ;)

  • schaue doch einfach wie die es bei reel machen da läuft das soweit ich mich erinnere auch über ne datenbank warum das rad immer neu erfinden wenn es das schon fertig gibt ;)


    Weil es Spaß macht etwas selber zu machen, könnte ich mir vorstellen.


    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

  • nach einer Nacht sieht die db so aus (gefüttert von vdr#2 und vdr#3) - den Büchsen mit jeweils nur einer Karte. Beide liefen mit der gleichen Priorität:


  • Moin!


    Ich bin mir schon ziemlich sicher, wo ich ansetze um den EPG zyklisch einzufügen -,ist die n. Aktion
    Und damit das ganze auch von aussen zu triggern ist, wird es noch eine SVDRP-Schnittstelle zum antriggern des "EPG-Einfügen" geben. damit können dann externe Anwendungen zunächst die Datenbank befüttern und dann die angedockten vdr's der Reihe nach anstoßen sich den EPG neu zu ziehen.


    Da solltest du dir echt mal xmltv2vdr ansehen. Auch wenn es Spaß bringt, sowas zu entwickeln, es nützt ja nichts, wenn man ein dutzend Plugins hat, die alle EPG importieren, aber inkompatibel zueinander sind. Insbesondere, wenn man für verschiedene Kanäle unterschiedliche Quellen benutzen möchte.


    Sinnvoll wäre hier, einen xmltv2vdr-Grabber zu schreiben, der aus der Datenbank entsprechende XML-Dateien generiert, die xmltv2vdr verarbeiten kann. Dann brauchst du dich nicht darum zu kümmern, was die Nutzer mit dem EPG anfangen wollen. Ob sie das DVB-EPG komplett ersetzen oder nur Teile davon mischen oder oder oder... Ist alles schon in xmltv2vdr gelöst.


    Lars.

  • Verstehe ich noch nicht:


    wenn xmltv2vdr (EPG-)Daten in Form von in xmltv-Format vorliegendem Schema IN EINEN VDR importiert löst das mein Thema nicht (denke ich).


    Ich will den EPG (zunächst mal ohne xmltv-gepimpte) Zusätze meiner VDR's synchron halten - und das mit wenig bis gar keinem Zutun.


    Entweder die Dokus zu xmltv2vdr erzählen nur die Hälfte oder xmltv2vdr kann das extrahieren und mischen nicht.


    Das Plugin schaue ich mir im Quellcode dennoch an.

  • Moin!


    xmltv2vdr importiert EPG aus XML-Dateien. Vorher diese XML-Dateien kommen, wird durch Grabber geregelt. Diese kann xmltv2vdr regelmäßig aufrufen und dafür auch z.B. den vdr aufwecken.
    Es gibt Grabber für epgdata.com und auch für andere Quellen.
    xmltv2vdr kann nun entweder das vorhandene DVB-EPG mit Infos aus den externen Quellen aufbessern (z.B. Episodentitel) oder das DVB-EPG komplett ersetzen.


    Dein Plugin schreibt also einfach das DVB-EPG in die Datenbank, ein xmltv2vdr-Grabber erzeugt aus der Datenbank eine xmltv-Datei, die xmltv2vdr dann wieder importieren kann. In welcher Form, bleibt dem Nutzer überlassen (mischen, ersetzen usw.). Du würdest dann den Modus "ersetzen" nehmen.


    Aber es kann schon sein, dass für deinen speziellen Fall (EPG synchronisieren) xmltv2vdr nicht das Passende ist.


    Lars.


  • Na da tuts aber auch epgsync. Bei mir importiert mein Server EPG von extern und die Clients holen sich die Daten per epgsync.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • wie ich eingangs schon erwähnte - wenn epgsync nur per OSD getriggert wird oder beim Start - dann ist mir das zu wenig.

Jetzt mitmachen!

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