Moin Moin,
nach einiger Entwicklungszeit freue ich mich, ein neues Release vom EPGD mit Scraper Funktionalität und ein neues Plugin namens "Scraper2VDR" vorstellen zu dürfen.
Generell war das Ziel, das schon bekannte "tvscraper" Plugin Client-Server fähig zu machen und zusätzlich die Informationen der externen EPG Quellen, die vom EPGD angezapft werden, insbesondere die Informationen bezüglich Filmen und Serien, beim scrapen sinnvoll nutzen zu können. Herausgekommen ist ein dreigeteiltes Ergebnis: der EPGD wurde um die scrap Funktionalitäten erweitert, das Scraper2VDR Plugin läuft auf den Clients (analog zu epg2vdr) und lädt die gescrapten Informationen aus der MySQL Datenbank auf die lokale Maschine, und schließlich stellt ein Skin (genauer gesagt nOpacity) über eine Serviceschnittstelle vom scraper2vdr Plugin diese gescrapten Inhalte in den verschiedenen EPG Ansichten und im Aufnahmemenü dar.
Die Integration der Scraper Funktionalität im EPGD bietet im Vergleich zum tvscraper einiges an Mehrwert. Da über den EPGD bekannt ist, welche Events Filme und welche Events Serien sind, kann wesentlich gezielter gescrapt werden. Es ist deshalb auch nicht mehr notwendig, die Sender zu definieren, für die gescrapt werden soll, es werden einfach alle Filme und Serien gescrapt, die sich in der Datenbank befinden. Bei Serien habe ich über den Abgleich der Episodennamen mit Constable auch noch den großen Vorteil, dass bei vielen Serien die genaue Episode und Staffel bekannt sind. Dadurch ergibt sich die Möglichkeit, neben den bekannten Postern, Bannern und Fanarts auch Episodenbilder, Staffelposter und die Episodenbeschreibungen von thetvdb herunterzuladen. Als besonderes Schmankerl haben CKOne und ich auch noch eine Tatort unterstützung eingebaut...falls alles korrekt gepflegt, werden das korrekte Ermittlerteam inklusive passender Schauspielerbilder angezeigt. Das macht schon was her
Wer das ganze ausprobieren will, der geht am besten wie Folgt vor:
1. EPGD updaten: Zuerst müsst ihr den aktualisierten EPGD (Version 0.2.0) neu installieren oder aus dem Git pullen (oder wie auch immer ihr euer Update macht). WICHTIG: wer epgd schon installiert hat, muss die folgenden drei Zeilen in seine /etc/epgd/epgd.conf hinzufügen:
ScrapEpg = 1
ScrapRecordings = 1
TheTvDBView = thetvdbview.sql
In der in den Sourcen unter config/epgd.conf hinterlegten Standardconfig sind diese Werte schon berücksichtigt. Danach den epgd neu bauen und starten. Nach dem EPG-Durchlauf sollte dann auch direkt der Scraper loslegen. Das kann je nach Anzahl der Sender, die in der channelmap.conf hinterlegt sind, schon ein Weilchen dauern, da die Datenbank für die Filme und Serien zu Beginn erst gefüllt werden muss. Bei mir wurden ca. 11.000 Events gescrapt, das hat so ca. ne gute Stunde gedauert. Nicht erschrecken, am Anfang bei leerer DB dauert das scrapen der Episoden zu den Serien relativ lange. Das wird dann irgendwann, wenn die DB gefüllt ist und die Caching Mechanismen greifen, wesentlich schneller. Updates bei vorhandenen DB Inhalten gehen dann ebenfalls schneller. Meine DB ist durch die ganzen Bilder auf ca. 2,5GB Größe angewachsen...das stört den Betrieb nach den bisherigen Tests aber in keinster Weise.
2. Scraper2VDR Plugin installieren: Das Plugin ist ebenfalls auf vdrdeveloper.org beheimatet kann hiermit aus dem Git heruntergeladen werden:
git clone http://projects.vdr-developer.org/git/vdr-plugin-scraper2vdr.git/ scraper2vdr-git
Bitte unbedingt das beiliegende README oder das Wiki aufmerksam lesen...dort ist alles wesentliche zur Funktionsweise, insbesondere auch das Aufnahmehandling beschrieben, deshalb muss ich das hier nicht nochmal alles schreiben. Ältere Aufnahmen können, falls sie nicht gefunden werden, auch manuell per "scrapinfo" File einem Film oder einer Serie von den Online Diensten zugeordnet werden (analog zu XBMC und den info Files)...also README lesen
Eine Anmerkung jedoch zu den Modi des Plugins: das Plugin kann im "client mode" und im "headless mode" laufen. Im "client mode" sollte es auf allen "normalen" VDR clients betrieben werden, die auch eine Ausgabe an den TV machen. Der "headless mode" ist, wer hätte es gedacht, für headless VDR ohne eigene Ausgabe gedacht. Das hat den folgenden Grund: es werden ja auch Aufnahmen gescrapt...und das funktioniert am besten während die Aufnahme am laufen ist. Macht nun ein headless VDR eine Aufnahme, aber kein Client mit installiertem scraper2vdr läuft in dieser Zeit, dann gehen die gescrapten Informationen, die für das zu der Aufnahme zugehörige Event bereits vorhanden sind, ggf. verloren, da dieser Event irgendwann aus der Datenbank geschmissen wird. Deshalb der "headless mode", in dem das Plugin keine Daten für Live EPG aus der DB holt, sondern nur nach laufenden Aufnahmen schaut und diese ggf. in die DB schreibt.
3. nOpacity updaten: Einfach ein "git pull" machen oder wie ihr auch sonst eure Plugins updated (im yaVDR testing ist wohl auch alles schon vorhanden, habe ich ein Vögelchen zwitschern hören ). Anmerkung: den TVGuide werde ich demnächst auch scraper2vdr fähig machen, aktuell fehlt die Unterstützung hier noch.
Fertig! Jetzt sollte eigentlich alles so weit passen. Falls Probleme auftreten oder Fragen...als her mit
Bedanken möchte ich mich besonders bei Jörg (Horchi) für den tollen epgd und das Beantworten aller programmiertechnischer Fragen und bei Christian (CKOne) für die umfangreiche Unterstützung und den moralischen Beistand
Zum Schluss noch eine Anmerkung zum tvscraper: das Plugin wird es natürlich erst mal weiter geben, jedoch werde ich es nicht aktiv weiter entwickeln. Die Möglichkeiten im epgd sind einfach zu angenehm. Ob ich die tvscraper Unterstützung jedoch langfristig in nOpacity und tvguide drin behalte, muss ich mal schauen...der Code wird dadurch natürlich etwas unübersichtlich.
So...dann mal viel Spass...ciao Louis