[ANNOUNCE] scraper2vdr Plugin 0.1.7

  • Hallo,
    wie Louis bereits angedeutet hat, wurde in letzter Zeit von mir das scraper2vdr Plugin mit einer neuen DB-Parser-Logik (wurde komplett umgearbeitet) versehen.
    Diese sollte das Laden der Daten vom SQL-Server deutlich ressourcenschonender und schneller erledigen.
    Da nun nur noch die Binärdaten der Bilder übertragen werden, wenn diese lokal fehlen oder zu alt sind, ist jetzt auch eine Anbindung an einen SQL-Server über ein langsames WLAN möglich.
    Zusätzlich wurde von horchi (Vielen dank dafür) die DB-API auf den Stand des http-Branches vom epgd-Server gebracht. Da diese API aber voll abwärtskompatibel ist, kann das scraper2vdr Plugin aber weiterhin mit dem master-Branch vom epgd-Server verwendet werden.


    ACHTUNG: das Plugin benötigt in der Datenbank bereits die scrsp-Spalte in der Recordings-Tabelle. Diese muss entweder von Hand angelegt werden, oder das alter-Script des aktuellen epgd-Servers ausgeführt werden (bessere Methode!)
    Weitere Infos dazu gibt es hier und hier


    Eine weitere Neuerung ist das nun die Größe der Thumbnails (z.B. für die kleinen Vorschaubilder in den Aufnahmen) im Plugin-Setup eingestellt werden kann. Diese wird mit 200px initialisiert, was einer ähnlichen Größe (aktuell zwischen 175-200) entspricht wie bisher.
    Der Sinn der einstellbaren Größe besteht darin, das man nun die Thumbnails gleicht so groß erzeugen lassen kann wie diese vom Skin benötigt werden. Theoretisch (war zumindest im alten skinnopacity so) sollte dies dazu führen das beim Zeichnen der Bilder das Skalieren auf die richtige Größe entfällt und so das Browsen in den Aufnahmen flüssiger geht. Schön wäre es wenn die jeweiligen Skinentwickler eventuell eine Debug-Logausgabe in die Skins einbauen welche die richtige Höhe der Thumbnails angibt.
    Nachdem die Größe im Setup geändert wurde, kann durch den Menüpunkt "Alle Daten (Serien, Filme und Bilder) neu laden" das scraper2vdr-Plugin dazu gebracht werden komplett alle Bilddaten vom SQL-Server neu zu laden (unabhängig davon ob sie schon lokal vorhanden sind oder nicht) und damit auch alle Thumbnails in der neuen Größe zu erzeugen.


    Sollte es wieder erwarten mit dem neuen Verhalten Probleme geben, kann im Setup auf den alten DB-Parser zurück gewechselt werden. ACHTUNG: die Spalte scrsp wird dennoch erwartet!
    Es wäre toll wenn ihr das neue scraper2vdr Plugin testen könntet und hier eine Rückmeldung geben würdet ob alles so funktioniert wie es soll.
    Wenn ihr Lust habt könnt ihr auch gern hier posten wie lang das erste Laden der Daten mit neuem und alten Verhalten bei euch dauert (dazu einfach im Setup umschalten, den VDR neu starten und im syslog schauen wie lang es gedauert hat bis das plugin fertig ist).


    Der aktuelle Entwickler-Zweig vom Plugin ist hier zu finden: https://github.com/horchi/scraper2vdr


    Noch abschließend eine Warnung: Es ist und bleibt eine Entwicklerversion welche unter Umständen nicht richtig funktioniert oder Folgefehler verursacht. Ob ihr diese auf einem Produktivsystem einsetzt ist euch überlassen!
    Wir haben aber natürlich nach bestem Wissen und Gewissen programmiert und so gut es ging getestet.


    Tschau, Uwe.

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

  • Vielen Dank!


    Bei der Installation kommt es allerdings zu einem Fehler, sofern man seinen VDR als root betreibt. Eventuell sollte man diesen Fall auch im Makefile berücksichtigen.


    iNOB

  • Trotzdem, Glückwunsch zur neuen Version und den Erweiterungen.


    Punktlandung zum neuen VDR! :tup

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Ich habe dazu jetzt nichts gelesen, trotzdem möchte ich nochmal expliziet nachfragen, Die API Schnittstelle hat sich nicht geändert oder?
    Wenn sich die Schnittstelle ändert wäre eine frühe Info Wünschenswert, um 1. meinen Skin anpassen zu können und 2. die API von TVScraper anzupassen.


    Grüße
    Martin

  • Hallo,
    nein an der API Schnittstelle hat sich nichts geändert. Die Änderungen sind alle nur intern (wann was wie vom Server geholt wird).


    Tschau, Uwe.

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

  • Interessant. Ist damit jetzt auch der Segfault bei vdr --help behoben? Warum ein extra git und wann wird das ganze ins offizielle git wandern?

    - 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

  • Hallo,
    ja den Bug habe ich auch gleich mit behoben.
    Ein extra git haben wir genutzt, da ich keinen Zugriff auf das offizielle git habe. Darum hat horchi ein extra git erzeugt und mir dort auch Rechte gegeben.
    Das wandert dann ins offizielle git wenn hier keiner meckert das was nicht geht :]
    In dem Zug wird dann aber das alte Verhalten komplett aus den Sourcen entfernt (ist ja jetzt per Menü noch umschaltbar), damit der Wartungsaufwand nicht zu groß wird.


    Tschau, Uwe.

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

  • Vielen Dank an Uwe für seine Bemühungen! Super Sache, dass der Start vom scraper2vdr jetzt viel schneller geht...davon wird jeder profitieren :D


    Ciao Louis

  • Was bedeutet denn das (zu Hauf im Log)? Muß ich reagieren?:


  • Hallo,
    das sind Bilder die vom scraper-plugin des epgd eigentlich hätten gefüllt werden müssen.
    Der Server erzeugt für alle Staffeln/Episoden (also auch die ohne ein Event oder Recording) erst mal Dummy-Einträge in seiner Bilder-Tabelle mit einem leeren Blob-Feld. Sobald dann eine Staffel bzw. Episode verwendet wird, lädt das Plugin dann das eigentliche Bild aus dem Internet und speichert es in das Blob-Feld.


    Das scraper2vdr Plugin versucht nun von allen Staffeln/Episoden welche ein Event oder ein Recording haben die Bilder zu laden. Wenn dabei aber festgestellt wird das ein Bild ein leeres Blob-Feld hat (obwohl es hätte gefüllt sein müssen), kommt genau die Meldung ins Log.
    Ursache ist also das Scraper-Plugin vom epgd-Server, welches die Daten nicht richtig füllt. Das müssen wir uns als nächstes anschauen.


    Da leider beim SQL sofort das ganze Blob-Feld gelesen/übertragen wird sobald man auf ein leeres Blob-Feld prüft, musste ich diese Prüfung aus Performancegründen weg lassen.


    Ich werde das Loglevel für diesen Log-Eintrag mal erhöhen, so dass das Log nicht zu voll wird.


    Tschau, Uwe.

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

  • Ich habe jetzt die Log-Level vom scraper2vdr angepasst (also bitte neu abrufen).
    Bei Log-Level 1 erscheinen die fehlenden Bilder nun nicht mehr. Details zu den Log-Levels stehen in der History-Datei.


    Tschau, Uwe.

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

  • Hab das Plugin unter vdr4arch mal installiert. Hier => http://pastebin.com/fGyBEhWQ die Zeiten des laden. Habe zuvor die beiden cache-dir komplett gelöscht und dann holen lassen. einmal per Kabel und WLAN.

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Unter Ubuntu läßt sich das Plugin nicht bauen:

    Code
    mkdir: cannot create directory `/var/lib/vdr': Permission denied
    chmod: cannot access `/var/lib/vdr/plugins/scraper2vdr': No such file or directory
    chown: invalid user: `vdr'
    make[2]: *** [install-config] Error 1
    make[2]: Leaving directory `/build/buildd/vdr-plugin-scraper2vdr-0.1.7.git20150219.1820'
    dh_auto_install: make -j1 install DESTDIR=/build/buildd/vdr-plugin-scraper2vdr-0.1.7.git20150219.1820/debian/vdr-plugin-scraper2vdr returned exit code 2
    make[1]: *** [override_dh_auto_install] Error 29
    make[1]: Leaving directory `/build/buildd/vdr-plugin-scraper2vdr-0.1.7.git20150219.1820'
    make: *** [binary-arch] Error 2
    dpkg-buildpackage: error: /usr/bin/fakeroot debian/rules binary-arch gave error exit status 2

    Gruß
    Frodo

  • merkwürdig, habs grad unter Precise gebaut und da Jörg das auch nutzt hätte mich das auch sehr gewundert...


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • ich hab aber ein anderes Problem:


    Code
    Feb 19 20:44:27 CKtwo vdr: scraper2vdr: Error, connecting to database at 'localhost' on port (3306) failed
    Feb 19 20:44:27 CKtwo vdr: scraper2vdr: Could not access database 'localhost:3306'
    Feb 19 20:44:27 CKtwo vdr: scraper2vdr: Could not access database 'localhost:3306' (tried to open vdrs)
    Feb 19 20:44:27 CKtwo vdr: scraper2vdr: Retry #1 failed, retrying in 30 seconds!


    obwohl localhost ja auch Blödsinn ist:

    Code
    scraper2vdr.mysqlDBName = epg2vdr
    scraper2vdr.mysqlDBPass = epg
    scraper2vdr.mysqlDBUser = epg2vdr
    scraper2vdr.mysqlHost = poweredge
    scraper2vdr.mysqlPort = 3306

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • danke, geht - wär ich jetzt nicht von ausgegangen...

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • danke, geht - wär ich jetzt nicht von ausgegangen...


    mir auch nur weil ich das log nach was anderem durchsucht habe, und mir dabei aufgefallen ist das diese Paras nicht mehr verwendet werden


    8)

    VDR 4: AMD Kabini 5310, Asrock AM1H-ITX, Gen2Vdr V6, Cine S2, Atric , Harmony 515 , Streacom ST-F7CB EVO

  • macht es auch einen besonderen Sinn diese Version jetzt schon auf dem headless Server einzusetzen oder bringt es da keine Vorteile (wie beim Client) ?


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Hallo,
    horchi hat die Parameternamen an den epgd-Server angepasst. Anstatt mysqlDBHost wird nun DbHost usw. verwendet. Hätten wir besser noch in die History schreiben sollen-


    Also noch mal als Hinweis:
    Bitte nach Update des Plugins den Datenbankserver im Setup überprüfen/eintragen. Die neuen Verbindungsdaten werden ohne Neustart des VDR übernommen.


    @Utility: Danke für die Logs, jedoch wären die Zeiten ohne das Löschen der Bilddaten (Cache) wesentlich interessanter. So mussten ja in beiden Fällen komplett alle Daten übertragen werden (was nicht wirklich schneller als vorher geht).
    Es wurde aber gerade dahingehend optimiert das so wenig wie möglich übertragen werden muss. Je weniger Daten sich geändert haben umso größer der Geschwindigkeitsvorteil gegenüber vorher.
    Bei mir dauert Beispielsweise der erste Start des scrapers ca. 200s, da die Änderungen des letzten Tages geladen werden müssen (ca. 200MB bei ca. 1MB/s). Wenn aber keine neuen Daten vorhanden sind (z.B. 2'ter Start des VDR am gleichen Tag), dauert der Start des scrapers nur 10s.


    Könntest du vielleicht noch mal 2 Logs unter den Bedingungen erzeugen:
    VDR starten und scraper2vdr alle Daten holen lassen (dürfte ja theoretisch der aktuelle Stand sein)
    Neuen DB Parser aktivieren
    VDR neu starten und Zeit messen
    Alten DB Parser aktivieren
    VDR neu starten und Zeit erneut messen


    Dabei sollten theoretisch beim alten Verhalten die Festplatte deutlich länger und stärker beansprucht werden (vor allem bei lokalem EPGD). Die CPU-Auslastung dürfte aber bei beiden ähnlich liegen, da ich bei beiden Parsern aller 35ms ein Sleep mache, wobei aber beim alten Parser deutlich mehr Datenmenge durch den Arbeitsspeicher gejagt werden.


    @Christian: Wenn Headless aktiviert ist, lädt der scraper aktuell nur die Events und synchronisiert die Aufnahmen mit dem epgd-Server. Bilder und Scraperinformationen werden aber gar keine geladen.


    Hier ist noch ein Unterschied zum alten Modus:
    Im alten Modus werden auch im headless-Modus von den Aufnahmen alle Bilder und Scraperinformationen vom epgd geladen. Das macht der neue Parser aber nicht mehr! Theoretisch muss ja auch nix geladen werden, da der VDR ja headless ist und keiner die Bilder oder Infos irgendwo anzeigen könnte.


    Tschau, Uwe.

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

Jetzt mitmachen!

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