Kodi Community Forum

Full Version: No cast artwork showing in Frodo when scraping with TMDB or Universal Scraper
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Here's a pastebin of me running the new script you added.. looks better I think? Is there a switch I need to run to grab the cast artwork?

newest script movie query

I am using a server running windows 7. Below are the files I have.. This machine is where I store all the files and the shared mysql database. I am not storing any artwork within the mkv's as far as I am aware? Thanks Smile

@W7MC /cygdrive/w/HDfilms4/2 Days in New York (2012)
$ ls
2 Days in New York (2012) part1.mkv backdrop.jpg extrafanart movie.tbn
2 Days in New York (2012) part1.nfo backdrop1.jpg extrathumbs movie.xml
2 Days in New York (2012) part2.mkv backdrop2.jpg fanart.jpg poster.jpg
7s-2days-in-ny-720p.nfo backdrop3.jpg folder.jpg
7s-2days-in-ny-720p.sfv backdrop4.jpg movie.nfo
(2013-03-23, 14:55)skeeney Wrote: [ -> ]Here's a pastebin of me running the new script you added.. looks better I think? Is there a switch I need to run to grab the cast artwork?

Cool, that's good (although not really sure why it should work, and a bit of a shame as it will make it that bit less efficient). To be sure, can you test it with "2 Days in New York"?

(2013-03-23, 14:55)skeeney Wrote: [ -> ]Is there a switch I need to run to grab the cast artwork?
Yes, to enable cast artwork, add "cache.castthumb = yes" to the properties file (./texturecache.cfg). I've left it disabled by default, as not everyone wants to download cast thumbs.

Note that there is an ongoing issue with cast artwork and JSON, so if you scraped your library with "Download actor thumbnails when adding to library" then JSON won't return actor thumbnails under any circumstances. Sad

(2013-03-23, 14:55)skeeney Wrote: [ -> ]I am using a server running windows 7. Below are the files I have.. This machine is where I store all the files and the shared mysql database. I am not storing any artwork within the mkv's as far as I am aware? Thanks Smile

@W7MC /cygdrive/w/HDfilms4/2 Days in New York (2012)
$ ls
2 Days in New York (2012) part1.mkv backdrop.jpg extrafanart movie.tbn
2 Days in New York (2012) part1.nfo backdrop1.jpg extrathumbs movie.xml
2 Days in New York (2012) part2.mkv backdrop2.jpg fanart.jpg poster.jpg
7s-2days-in-ny-720p.nfo backdrop3.jpg folder.jpg
7s-2days-in-ny-720p.sfv backdrop4.jpg movie.nfo

Which scraper are you using? I'd like to try and reproduce, but no idea how you managed to get a video url for a poster - this would suggest the image being used for the movie poster has been extracted from the video, is this what you see in the Movies library? Or maybe it's because this is a stacked movie... anyway, I guess closing the web connection works for now...
I think I must be hitting that issue then as I am getting ERROR: Unable to load artwork?

I have been using "Media centre master" to rename but also TMDB scraper (default) and Universal Movie Scraper within xbmc. I was under the impression my artwork was cached locally on each device?
(2013-03-23, 15:20)skeeney Wrote: [ -> ]I think I must be hitting that issue then as I am getting ERROR: Unable to load artwork?

This would suggest that XBMC can't access that artwork any more.

The films you were testing with earlier were being accessed via SMB (a Windows share), but the cast artwork that is now failing is being accessed directly, not through a share, eg.

Code:
image://C:\ProgramData\MediaBrowser\ImagesByName\People\James Robinson\folder.jpg

XBMC on an Apple TV (or Ubuntu) can't access the Windows C:\ drive directly. This would suggest your media library needs to be re-scraped to eliminate those files that are referencing the C: drive directly.

You can find out which artwork files need fixing by running:
Code:
./texturecache.py s "C:\ProgramData"

In fact, your cast artwork being on an inaccessible C: drive probably explains why you had to start this thread!

(2013-03-23, 15:20)skeeney Wrote: [ -> ]I have been using "Media centre master" to rename but also TMDB scraper (default) and Universal Movie Scraper within xbmc. I was under the impression my artwork was cached locally on each device?

It should be, yes, but if not this script will ensure the cache is loaded (provided the artwork is accessible).

By the way, could you add "webserver.singleshot = yes" to your properties file, in future versions I'm going to try and re-use the web connection by default (better for performance), but you'll need to add this property so that the web connection is closed before being re-used.

And to disable the debug messages, type "unset PYTHONDEBUG"
The URL

image://video@URLENCODED(smb://W7MC/HDfilms4/2 Days in New York (2012)/2 Days in New York (2012) part1.mkv)

is meaning "extract a screenshot from smb://W7MC/HDfilms4/2 Days in New York (2012)/2 Days in New York (2012) part1.mkv". It'll be set as the "thumb" type in the art table, which in most skins will be overridden by the poster type (which should be poster.jpg, assuming "movies in separate folders named like the movie" was enabled, and that the movie was scraped with Frodo).

Note that JSON-RPC will not be able to regenerate this if it's not already in the cache.
(2013-03-23, 22:58)jmarshall Wrote: [ -> ]The URL

image://video@URLENCODED(smb://W7MC/HDfilms4/2 Days in New York (2012)/2 Days in New York (2012) part1.mkv)

is meaning "extract a screenshot from smb://W7MC/HDfilms4/2 Days in New York (2012)/2 Days in New York (2012) part1.mkv". It'll be set as the "thumb" type in the art table, which in most skins will be overridden by the poster type (which should be poster.jpg, assuming "movies in separate folders named like the movie" was enabled, and that the movie was scraped with Frodo).

Yes, I figured that's what it was, just not sure how to reproduce here.

(2013-03-23, 22:58)jmarshall Wrote: [ -> ]Note that JSON-RPC will not be able to regenerate this if it's not already in the cache.

Not even downloading via the webserver? It looked as though it may have been working (webserver issues aside):

Code:
send: u'GET /image/image%3a%2f%2fvideo%40smb%253a%252f%252fW7MC%252fHDfilms4%252f(500)%2520Days%2520of%2520Summer%2520(2009)%252f(500)%2520Days%2520of%2520Summer%2520(2009).mkv%2f HTTP/1.1\r\nHost: localhost:8080\r\nAccept-Encoding: identity\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
header: Content-Length: 7175
header: Expires: Sun, 23 Mar 2014 12:05:49 GMT
header: Date: Sat, 23 Mar 2013 12:05:49 GMT

This is extracting an image from a video, and it seems to have obtained "something" with a size of 7175 bytes.
I managed to get this finally working after far too many hours. In the end I deleted everything from the windows 7 storage server apart from the mkv's and their associated folders. I also deleted all myvideos and texture databases from all xbmc installs and dropped the myvideos database from the mySQL server.

Finally the cast artwork is working correctly. I was able to correct single cast artwork issues by doing a refresh in xbmc of a single movie but the above was required to clean all movies in bulk. I had tried deleting myvideos and texture databases and also tumbnails folders many times but I hit the same issue, possibly when it synched back up with the mySQL database?

The cast art work wasn't working as it was trying the location C:\ProgramData\MediaBrowser\ImagesByName\People that Media Center Master uses for cast pictures so it must have been reading it from the metadata created by this application.

Thanks for your help MillhouseVH and jmarshall.. glad to have a resolution so I can now get back to watching the damn movies Wink
Ofcourse it can download it if it's already been generated. My point is that it can't download it if it hasn't been generated. Most other images image it can re-cache and download directly even if not already in the cache.
(2013-03-24, 02:11)jmarshall Wrote: [ -> ]Ofcourse it can download it if it's already been generated. My point is that it can't download it if it hasn't been generated. Most other images image it can re-cache and download directly even if not already in the cache.

So at the the risk of sounding a little thick, how is it being generated? I'm assuming that by requesting an image://video over HTTP, ie. via the XBMC client web server, the image data will be extracted from the video (as long as the video remains accessible by XBMC), and thus cached on the client, which is the the desired effect I'm looking for. Is this correct? Just as if the image:// url refers to a remote http image, for instance an image on imdb,com or wherever, that XBMC will - when required - retrieve the actual remote image (ie. acting as proxy) and then return the cached image. Quite nice and quite clever, unless I'm wrong of course! Smile
If it's already cached it'll return the image. If it's not it'll attempt to cache it first, then return the cached image.

image://video@foo URLs are not the only things that can't be cached in this way. There's a couple others (picture folder thumbs is one). Basically the "special" images. In time, even these will be able to be cached on demand - just not quite there yet.

Cheers,
Jonathan
(2013-03-24, 07:03)jmarshall Wrote: [ -> ]If it's already cached it'll return the image. If it's not it'll attempt to cache it first, then return the cached image.

image://video@foo URLs are not the only things that can't be cached in this way. There's a couple others (picture folder thumbs is one). Basically the "special" images. In time, even these will be able to be cached on demand - just not quite there yet.

Cheers,
Jonathan

Yes, if one of these video images isn't in the local cache, downloading it doesn't always work - the Files.PrepareDownload JSON method will not always return a URL. Eventually, browsing the GUI will cause these video images to appear and thus present in the cache, but it's a bit hit and miss. Will add an option to ignore certain types of urls, starting with these image://video urls, so at least they won't be automatically cleared out (as you might not be able to get them back easily), or re-cached (since this may work, but probably won't).
Pages: 1 2