Ich habe heute Morgen mal einen Test mit tvscraper durchgeführt und hatte keine Probleme. Da wollt ich mal fragen, ob du vielleicht eine ältere Version verwendet hast.
Danke
Ich habe heute Morgen mal einen Test mit tvscraper durchgeführt und hatte keine Probleme. Da wollt ich mal fragen, ob du vielleicht eine ältere Version verwendet hast.
Danke
Zur Vorgeschichte siehe [ANNOUNCE] Mobil Browser gestütztes Frontend für VDR oder Restfulapi Client ff.
Es gibt keine explizite tvscraper Unterstützung in Restfulapi. Es wird das Plugin genau so geholt, wie im Codeschnipsel von Louis zu sehen.
/**
* retrieve scraper plugin
* @return cPlugin
*/
cPlugin *Scraper2VdrService::getScraperPlugin () {
static cPlugin *pScraper = cPluginManager::GetPlugin("scraper2vdr");
if ( !pScraper ) {
pScraper = cPluginManager::GetPlugin("tvscraper");
}
return pScraper;
};
Alles anzeigen
Ich stimme zu, das die Installation der Kombi epgd und scraper2vdr im Gegenstz zu tvscraper recht aufwändig ist.
Ich sehe im Moment auch keinen Grund, warum ich den tvscraper Support droppen sollte. Es gibt genau eine Klasse, die auf die Serviceschnittstelle beider Plugins zugreift. Je nach dem was installiert wurde.
Die Verarbeitung der Daten findet jeweils in den selben Methoden statt. Daher kann ich mir fast nur vorstellen, das es sich um ein Problem mit den Daten handelt. UTF-8 oder so?
Dafür spricht auch, das ich keinerlei Probleme habe, wenn ich meinen Test VDR mit TVScraper starte. Ich kann die App ohne Einschränkungen benutzen und bekomme für die Aufnahmen auch zusätzliche Daten.
Die Verarbeitung der Daten findet jeweils in den selben Methoden statt. Daher kann ich mir fast nur vorstellen, das es sich um ein Problem mit den Daten handelt. UTF-8 oder so?
Dafür spricht auch, das ich keinerlei Probleme habe, wenn ich meinen Test VDR mit TVScraper starte. Ich kann die App ohne Einschränkungen benutzen und bekomme für die Aufnahmen auch zusätzliche Daten.
Hast Du bei deinen Tests mit tvscraper auch daran gedacht, scraper2vdr vorher zu deaktivieren?
Ich habe das ganze jetzt mal etwas eingegrenzt
void JsonRecordingList::addRecording(cRecording* recording, int nr)
{
........
SerRecording serRecording;
SerAdditionalMedia am;
/*if (sc.getMedia(recording, am)) {
serRecording.AdditionalMedia = am;
}*/
Alles anzeigen
Wenn ich sc.getMedia auskommentiere, dann läuft http://192.168.1.104:8002/recordings.json durch, ansonsten hängt es.
Morgen werde ich mich mal weiter vorarbeiten.
Grüße, Peter
Klar... Dann holt er keine Media Daten für die Aufnahmen.
Das ganze findest du in scraper2vdr.cpp allerdings werden zum holen von Aufnahmen oder Events die selben Methoden benutzt. Egal ob du tvscraper verwendest oder scraper2vdr und wie gesagt funktioniert das ganze bei mir.
Ich habe vorhin mal tvscraper aktiviert und scraper2vdr sowie epg2vdr natürlich deaktiviert. Dann habe ich ihn die Aufnahmen und die Events scrapen lassen -> läuft... keine Probleme. Nicht beim holen von Aufnahmen und auch nicht beim Scrollen durch das EPG
Versuch doch male, deine Aufnahmen in hunderter oder kleineren Blöcken mit dem Browser zu laden:
http://192.168.1.104:8002/recordings.json?start=0&limit=100
Wenn du einzelne Blöcke laden kannst, dann grätscht eine bestimmte Aufnahme dazwischen und du kannst die so isolieren. Dann könnten wir uns mal die Daten zu dieser Aufnahme ansehen.
Weiss jetzt woran es liegt: Ich hatte in der conf von restfulapi den Parameter "epgimages" nicht gesetzt (habe keine epgimages ...)
Dann hängt er in scraper2vdr.cpp hier
string Scraper2VdrService::cleanImagePath(string path) {
esyslog("restfulapi: pj enter cleanImagePath");
path = StringExtension::replace(path, epgImagesDir, "");
path.erase(0, path.find_first_not_of("/"));
esyslog("restfulapi: pj leave cleanImagePath");
return path;
};
Nachdem ich epgimages gesetzt habe, gibts keine Probleme mehr. Ich schätze, so kannst Du den Fehler nachstellen, wenn Du nicht so schon siehst wo es da klemmt ...
Grüße, Peter
.... sagen wir mal so: ".... keine Probleme mehr" war etwas optimistisch.
Der VDR hängt sich nicht mehr auf, und die vdr-Webapp läuft. Leider kann sie die Mediadateien trotzem nicht laden, weil der Pfad irgendwie falsch zusammengesetzt wird:
Feb 18 21:45:15 darkstar vdr[2863]: [2901] restfulapi Scraper: image request url /scraper/image/var/cache/vdr/plugins/tvscraper//movies/76640_backdrop.jpg
Feb 18 21:45:15 darkstar vdr[2863]: [2901] restfulapi: FileExtension: requested path /usr/local/share/var/cache/vdr/plugins/tvscraper//movies/76640_backdrop.jpg
Feb 18 21:45:15 darkstar vdr[2863]: [2901] restfulapi: FileExtension: realpath (null)
Feb 18 21:45:15 darkstar vdr[2863]: [2901] restfulapi: realpath does not match requested path
Feb 18 21:45:15 darkstar vdr[2863]: [2901] restfulapi Scraper: image /scraper/image/var/cache/vdr/plugins/tvscraper//movies/76640_backdrop.jpg does not exist
Der richtige Pfad zum o.g. jpg lautet /var/cache/vdr/plugins/tvscraper/movies/76640_backdrop.jpg
Irgendwie wurde noch ein /usr/local/share davorgesetzt ... ?
Hallo lostinspc,
gut das die API schon mal läuft. Ich kann das Verhalten nur leider immer noch nicht reproduzieren.
Kam der Parameter --epgimages in deiner Datei gar nicht vor oder war er leer? Poste doch bitte mal, wie die config aussah, als es nicht lief.
Das mit dem falsch ausgelieferten Pfad kriege ich in den Griff... Ich frage mich bloss, wo das /usr/local/share herkommt...
Wie sieht denn die conf für tvscraper aus? Oder hast du gar keine?
Nicht funktionierende restfulapi.conf:
cat 50-restfulapi.conf
[restfulapi]
#--ip=192.168.1.104
--channellogos=/usr/local/share/vdr/logos/
funktionierende restfulapi.conf
cat 50-restfulapi.conf
[restfulapi]
#--ip=192.168.1.104
--channellogos=/usr/local/share/vdr/logos/
--epgimages=/usr/local/share/
.... ok, und damit klärt sich auch, wo das /usr/local/share herkommt :-))))
Hatte ich da eingetragen, um irgendeinen gültigen Pfad drin zu haben.
Meine tvscraper.conf
So macht es Sinn... Ich glaube es braucht einen weiteren Parameter für den Pfad zu den Scraperimages.
Ich bau mal was...
So macht es Sinn... Ich glaube es braucht einen weiteren Parameter für den Pfad zu den Scraperimages.
Ich bau mal was...
Klasse, Danke!
So macht es Sinn... Ich glaube es braucht einen weiteren Parameter für den Pfad zu den Scraperimages.
Da war übrigens noch ein entscheidender Hinweis versteckt:
cat 50-restfulapi.conf
[restfulapi]
#--ip=192.168.1.104
--channellogos=/usr/local/share/vdr/logos/
--epgimages=/var/cache/vdr/plugins/tvscraper/
So klappts bei mir auch mit der aktuellen Version mit den Bildern.
Sieht absolut Klasse aus :-)))
Was mich immer noch wundert, ist das für epgimages ein default gesetzt wird, falls der config Parameter nicht vorhanden ist. So verstehe ich jedenfalls den Code
Das kann also eigentlich gar nicht die Ursache sein. Eher das das Verzeichnis /var/cache/vdr/epgimages (der default) bei dir nicht existiert?
Allerdings habe ich bereits mit einem nicht existierenden Verzeichnis getestet. Kein Problem...
Irgendwas läuft da nach wie vor schief.
Konfiguration für ScraperImages Pfad habe ich bereits eingebaut, kriege es aber nicht mehr hin, das noch vor dem Schlafengehen vernünftig zu testen. Sorry...
Aber so lange funktioniert es bei dir ja erst mal.
Was mich immer noch wundert, ist das für epgimages ein default gesetzt wird, falls der config Parameter nicht vorhanden ist. So verstehe ich jedenfalls den Code
Das kann also eigentlich gar nicht die Ursache sein. Eher das das Verzeichnis /var/cache/vdr/epgimages (der default) bei dir nicht existiert?
Allerdings habe ich bereits mit einem nicht existierenden Verzeichnis getestet. Kein Problem...
Irgendwas läuft da nach wie vor schief.
Das Verzeichnis /var/cache/vdr/epgimages gab es bei mir tatsächlich nicht.
Damit hängt es dann nicht mehr, auch wenn der Pfad --epgimages in der restfulapi.conf nicht explizit gesetzt wird.
Scraper Content anzeigen funktioniert damit dann aber nicht:
Feb 19 07:42:11 darkstar vdr[531]: [579] restfulapi Scraper: image request url /scraper/image/var/cache/vdr/plugins/tvscraper//movies/23168_backdrop.jpg
Feb 19 07:42:11 darkstar vdr[531]: [579] restfulapi: FileExtension: requested path /var/cache/vdr/epgimages/var/cache/vdr/plugins/tvscraper//movies/23168_backdrop.jpg
Feb 19 07:42:11 darkstar vdr[531]: [579] restfulapi: FileExtension: realpath (null)
Feb 19 07:42:11 darkstar vdr[531]: [579] restfulapi: realpath does not match requested path
Feb 19 07:42:11 darkstar vdr[531]: [579] restfulapi Scraper: image /scraper/image/var/cache/vdr/plugins/tvscraper//movies/23168_backdrop.jpg does not exist
Ok, restfulapi sucht in dem Verzeichnis für epgimages nach den Scraper Bildern und wenn das Verzeichnis nicht existiert, dann knallt es.
Konnte ich zwar so nicht reproduzieren aber das scheint ja die Ursache zu sein.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!