[Announce] TVScrapper 0.0.1

  • Moin,


    EDIT: der TVScrapper ist outdated, bitte den TVScraper benutzen ;)


    der TVScrapper ist ein Plugin, das im Hintergrund das EPG durchforstet und Metadaten wie Poster, Banner, Fanart und Actor Thumbs herunterlädt. Des weiteren stellt der TVScrapper anderen Plugins, die EPG Informationen anzeigen, per Serviceinterface diese Daten zur Verfügung. Aber hier die wesentlichen Teile aus dem README, sonst schreibe ich alles doppelt ;)



    Ich habe das Plugin mal hier angehängt, sobald ich einen Bereich auf vdr-developer.org eingerichtet habe, gibt es auch ein GIT.


    Bugs bitte in einem eigenen Thread melden.


    Wie das ganze am Beispiel nOpacity dann benutzt werden kann, sieht man hier


    Initiale Konfiguration


    Ich schreibe hier doch noch mal die Schritte zusammen, um Bilder zu bekommen: Das Plugin wartet erst mal zwei Minuten nach dem VDR Start und führt dann seinen ersten Scrap durch. Wenn bis dahin keine Kanäle zum scrapen ausgewählt sind, dann muss man 24 Stunden warten, bis das Plugin von sich aus wieder loslegt...das könnte zu etwas ungeduld führen :D Deshalb bei der Erstinstallation die folgende Vorgehensweise wählen:


    • Plugin kompilieren, installieren und aktivieren (je nach Disti)
    • Im Plugin Setup "Debug Logging" aktivieren
    • Im Plugin Setup die Kanäle zum Scrapen auswählen
    • Im Plugin Setup "Manuelles EPG Scrapen starten" anklicken
    • Parallel im Log schauen, dort sollte nun ausgegeben werden, dass das Plugin aktiv ist
    • Warten bis das durch ist (kann schon eine halbe Stunde oder so dauern)
    • Im Plugin Setup "Manuelles scrapen des Videoverzeichnisses starten" anklicken
    • Warten bis das durch ist (kann schon eine halbe Stunde oder so dauern)


    Danach sollten unter <VDRCACHEDIR>/plugins/tvscrapper/ jede Menge Bilder in den entsprechenden Verzeichnissen "movies" und "series" (dort in Unterordnern) liegen...und es sollte in nOpacity auch was angezeigt werden :)



    Have fun...Ciao Louis

  • Coole Sache, muss ich bei Gelegenheit mal testen. Zwei Fragen:


    1. Was ist ein Scrapper? Müsste es nicht Scraper heissen? :)
    2. Planst Du das auch für vorhandene Aufnahmen, so dass die Meta-Daten direkt im Aufnahmeverzeichnis abgelegt werden?


    Grüsse
    TheChief

    - 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


  • 1. Was ist ein Scrapper? Müsste es nicht Scraper heissen? :)


    Ist das so? Peinlich...jetzt heisst das Ding so :D Aber noch ist es ja nicht im GIT, das kann ich dann noch anpassen.



    2. Planst Du das auch für vorhandene Aufnahmen, so dass die Meta-Daten direkt im Aufnahmeverzeichnis abgelegt werden?


    Das ist nicht notwendig, les doch mal das README ;) Der TVScraPPer funktioniert auch für Aufnahmen, und auch schon vorhandene Aufnahmen können über das Setup Menü vom Plugin gescrapt werden.


    Ciao Louis

  • :D Passiert.


    Wegen den Aufnahmen, alles klar. :)


    Wie könnte das denn in einer Client/Server-Umgebung aussehen. Will ja nicht alles zwei mal scraPen. (;)) Würd das gern auf dem Server erledigen lassen und der Client greift einfach nur darauf zu.

    - 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

  • Wollte es gerade übersetzen und bekomme einen Fehler bei worker.c Zeile 156.
    Kann es sein das du dort recInfo mit recEvent vertauscht hast?


    Sorry kann gerade kein patch machen :)


    Ich guck mir mal die Serviceschnittstelle an :)


    Grüße
    Martin

  • Wie könnte das denn in einer Client/Server-Umgebung aussehen. Will ja nicht alles zwei mal scraPen. (;)) Würd das gern auf dem Server erledigen lassen und der Client greift einfach nur darauf zu.


    Gerade ist Version 0.0.1 draußen und Du kommst gleich mit Server/Client unterstützung :) erstmal abwarten, finde die Entwicklung schon mal klasse.


    Grüße
    Martin


  • Da hast du recht...danke für den Hinweis. Ich habe das File oben mal ausgetauscht. Warum hat er das bei mir nicht angemeckert? Seltsam, dass das überhaupt funktioniert hat :ausheck


    Ciao Louis

  • WOW


    Auch von mir ein fettes Danke. Hab schon lange auf so was gewartet.


    Eine Frage dazu hab ich noch wie werden die Bilder abgelegt? (poster, fanart, banner, id)

  • WOW


    Auch von mir ein fettes Danke. Hab schon lange auf so was gewartet.


    Eine Frage dazu hab ich noch wie werden die Bilder abgelegt? (poster, fanart, banner, id)


    Wie meinst du das? Als jpg?! ;) Die interne Logik wird in einer Datenbank gehalten, dadurch erreiche ich die verschiedenen Zuordnungen...


    Ciao Louis

  • Noch eine Anmerkung: das initiale scrapen kann schon einige Zeit dauern, je nachdem, wieviele Sender ausgewählt sind und wieviel EPG für die Sender vorhanden ist. Am besten im Setup Menü das Debug Logging anschalten, dann sieht man im Log, was das Plugin so treibt.


    Ciao Louis


  • Gerade ist Version 0.0.1 draußen und Du kommst gleich mit Server/Client unterstützung :) erstmal abwarten, finde die Entwicklung schon mal klasse.


    Grüße
    Martin


    Wobei, wenn ichs mir so überlege, brauchs aufm Server ja eigentlich nicht - nur auf dem Client. Wenn aber jemand mehrere Clients hat, wäre natürlich eine Client/Server-Lösung noch gut. Ähnlich remotetimers oder so.

    - 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

  • Ich lasse es gerade über mein EPG und die Aufnahmen laufen (die Erkennungsrate des Scrapers ist wirklich gut) und hätte da mal zwei Fragen:

    Code
    scrapType cImageServer::GetScrapType(const cEvent *event) {
        scrapType type = scrapNone;
        int duration = event->Duration() / 60;
        if ((duration > 19) && (duration < 65)) {
            type = scrapSeries;
        } else if (duration > 80) {
            type = scrapMovie;
        }
        return type;
    }


    bzw.

    Code
    scrapType cTVScrapperWorker::GetScrapType(const cEvent *event) {
        scrapType type = scrapNone;
        int duration = event->Duration() / 60;
        if ((duration > 19) && (duration < 65)) {
            type = scrapSeries;
        } else if (duration > 80) {
            type = scrapMovie;
        }
        return type;
    }


    Das erscheint mir ungünstig für Doppelfolgen und dürfte wohl bei Serien wie Sherlock mit 90 Minuten Folgendauer Probleme machen. Kürzere Filme wie z.B. Disneys "Die Hexe und der Zauberer", 101 Dalmatiner (1963), Aristocats usw. (werden ja meist auch noch ohne Abspann gesendet) fallen damit auch durchs Raster.


    Und zum anderen binde ich übers Netzwerk nicht ständig verfügbare Aufnahmeverzeichnisse anderes VDRs ein - löscht er dann die Metadaten beim nächsten Durchlauf, wenn der andere VDR nicht an ist?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Schöne Sache das :). Wenn ich es richtig verstehe, kann man, wenn man kein Kanal fürs Scraping einstellt, auch NUR Aufnahmen Scrapen lassen ?


    Jo das siehst du genau richtig...endlich mal einer der mitdenkt ;)


    Ciao Louis

  • Ich lasse es gerade über mein EPG und die Aufnahmen laufen (die Erkennungsrate des Scrapers ist wirklich gut) und hätte da mal zwei Fragen:
    ...
    Das erscheint mir ungünstig für Doppelfolgen und dürfte wohl bei Serien wie Sherlock mit 90 Minuten Folgendauer Probleme machen. Kürzere Filme wie z.B. Disneys "Die Hexe und der Zauberer", 101 Dalmatiner (1963), Aristocats usw. (werden ja meist auch noch ohne Abspann gesendet) fallen damit auch durchs Raster.


    Da hast du recht...ich möchte aber irgendeine Unterscheidung, um die Webservices von thetvdb und themoviedb nicht noch mehr zuzublasen. Und so ist es halt schön disjunkt ;) Ich bin eh mal gespannt, ob mir jemand von den beiden Diensten auf die Füsse tritt, wenn das Plugin verstärkt eingesetzt wird, ich habe da kein Gefühl dafür, was die Jungs abkönnen...über die Developer Keys, die ich bei beiden Diensten beantragt habe, können die ja genau sehen, woher welcher Traffic kommt...wobei der Traffic von XBMC Usern wohl aufgrund der wesentlich größeren Anzahl deutlich mehr sein sollte. Mal abwarten, vielleicht werde ich die Kriterien noch ein bisschen aufweichen.



    Und zum anderen binde ich übers Netzwerk nicht ständig verfügbare Aufnahmeverzeichnisse anderes VDRs ein - löscht er dann die Metadaten beim nächsten Durchlauf, wenn der andere VDR nicht an ist?


    Nein, einmal in der Datenbank markierte Aufnahmen werden nur gelöscht, wenn man erneut die Aufnahmen manuell scrapt. So kann man auch nach Löschen von Aufnahmen das Filesystem und dei Datenbank wieder entrümpeln.


    Ciao Louis

  • Noch eine generelle Anmerkung: es handelt sich um Version 0.0.1. Ich möchte die Grundfunktionalitäten erst mal so weit stabil bekommen. Verteilte Aufnahmen, Client Server Konstellationen und sonstiges kompliziertes Zeug kommen später, wenn das Plugin erst mal rund läuft. Ich habe es bei mir zwar schon einige Zeit im Einsatz, bin mir aber sicher, ein bisschen feilen muss ich dazu noch.


    Ciao Louis

  • Da hast du recht...danke für den Hinweis. Ich habe das File oben mal ausgetauscht. Warum hat er das bei mir nicht angemeckert? Seltsam, dass das überhaupt funktioniert hat :ausheck


    Ciao Louis


    Hmmm...ich habe jetzt interessehalber nochmal geschaut...es gibt in cRecordingInfo die Funktion

    Code
    tEventID EventID(void) const { return event->EventID(); }


    Beim VDR 2.0.2 zumindest :) Also sind beide Varianten gelichwertig...ist das in irgendeiner VDR Version dazugekommen? Welche VDR Version benutzt du denn Martin?


    Ciao Louis

  • Ich hatte den Fehler beim Bauen gegen den VDR 2.02 aber auch und sehe es nicht im Quelltext - http://projects.vdr-developer.…git/tree/recording.c#n318


    Evtl. ein extra Patch in Gen2VDR?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Mit einem Hochkomma im Video-Verzeichnisnamen gibt es wohl noch ein Problem:

    Code
    vdr: [3541] tvscrapper: scrapping series "Grey's Anatomy - Die jungen Ärzte"
    vdr: [3541] tvscrapper: "Grey's Anatomy - Die jungen Ärzte" successfully scrapped, id 73762
    vdr: [3541] tvscrapper: query failed: select series_id from series where series_name='Grey's Anatomy - Die jungen Ärzte' , error: near "s": syntax error

    Ansonsten ein herzliches Dankeschön meinerseits an den edlen Spender :)
    iNOB

    2 Mal editiert, zuletzt von iNOB ()

Jetzt mitmachen!

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