Two Veros connected to same network media drive, no artwork present on one

I’ve got two Veros connected to the same network media drive, which I recently changed the hardware of and rescraped and rebuilt the MySQL database on the media drive and both veros correctly connected to it.

On one of my Veros it has all the artwork I want showing - Posters and background.
However on the other it has nothing showing artwork wise, and also very little showing regarding actor/actress headshots in the information page. Manually refreshing any item brings in all the art.

Going into the Information on a film or TV show and the artwork section is blank, but when I go to Choose artwork and browse for poster, there’s plenty of remote choices, but no local option.

I had thought that when you navigate the menus the artwork was downloaded? But I’ve sat on a film for ages and no artwork appeared.

Bar rescraping my whole library, which I really do not want to do, and I also don’t want to have to go into each entry manually to download the posters and backgrounds, is there any way to get all the artwork downloaded?

Is the artwork stored on the local Vero, or is it stored on the network media drive?

I’m rather puzzled here as one Vero has all the artwork showing (or at least it had most of it showing after rescraping, but the few blanks I’ve manually refreshed), so the artwork exists.

Is there a quick solution?

You could probably backup the working vero copy the backup to the one not working and restore there.

But I’m sure someone will give you better advice soon

I’ve now discovered Artwork Beef, which has partially fixed my issues. It’s downloaded artwork for maybe 40% of all the stuff that was missing the artwork (63 out of 118 TV shows were still missing).

Strangely using the context menu for the shows with no artwork, there’s the Artwork Beef options to download missing artwork - doing this doesn’t download the artwork, it stays missing - and the option to manually select the artwork - doing this gives loads of options for all the artwork.

So I’m not sure why AB won’t download it for everything automatically, and why some seem to have to be done manually.

Providing logs is always the first step to a solution regardless if it is a quick or slow solution.

1 Like

Yeah, but what do I provide logs of in this instance? Just browsing to a movie/tv show with no art showing?

Edit: I’ve just noticed as well, that when trying to manually refresh various films, there is no “refresh” option available in the information page, nor in the “manage” option from the context menu. So I’m not sure how to refresh those entries.

Another Edit: Wierdly, all the films that had the “refresh” option missing in the information page, when browsing by files rather than in the library, all those films did not have their folders’ content set as “movies”, but as “none”. Once set as a movie, I refreshed the content which resulted in the film being rescraped, and the refresh option appeared. However, frustratingly this did not result in any artwork being downloaded, as the artwork remained blank.

Have you ensured that your sources.xml and advanced.settings.xml is identical on both Vero’s?

Most likely that gives already an idea best with debug logging enabled.

Ok, weirdly, I’ve just gone back to my main Vero and artwork that was there is now gone, and it is now missing the same artwork as is missing on my secondary Vero. The artwork was there on my main vero yesterday for certain.

For a lot of the entries it looks like it has a file for say the poster, but the file is blank or unreadable.

When I went to my secondary Vero earlier and noted the missing artwork, it was just finishing a library uodate. Not sure if that’s related…

The answer to “why” is contained in the details of how your scraping, how your sources are setup, and if your trying to do something dumb like share a thumbnail folder. The way it works is that when you scrape a file it gets metadata from somewhere. This somewhere contains a path to the artwork source. This source is stored in the shared database and used to download the artwork which then gets cached and the cached info gets stored in a separate database that is not shareable. In a typical MySQL setup it would go something like [machine 1] store online url to art in MySQL then download art, resize, store this info in texturecache13.db. On machine 2 it sees the new show and tried to load art from cache and doesn’t get a hit. It then grabs that url from the MySQL db and downloads the art itself when then gets resized, cached, and its info gets stored in its own, not shared, completely independent thumbnail folder and texturecache13db.

The way this would break typically is when the artwork is stored locally and the file path to the artwork is not common between all the clients. For example say you export your db to individual files to make it easy to convert to MySQL. On one client you have your source set to /mnt/localdisk/movies. When you scrape the artwork for spaceballs would then get set to being located at /mnt/localdisk/movies/spaceballs/spaceballs.jpg. On machine two since you don’t have /mnt/localdisk/ your artwork cannot be found to be cached.

This is why the sources must either be common or effectively be made that way through path substitution. My personal opinion is that ideal is to set all sources to use a kodi smb:// or nfs:// source path as they are universal across all platforms and greatly reduces issues occurring. If you have a client that you want to use a system path on then you do a path substation on that machine which will allow that to work without affecting other clients in any way.

Ok, I’ve looked into it more and I don’t think the problem is what I thought it was.
As an aside but to answer your previous questions - both advancesettings and sources.xml are the exactly the same on both machines. Pretty much everything is the same between the two as far as I am aware. Both Veros have the media drive mounted to mnt/media/, and the sources are directed to e.g. Films - /mnt/media/films

The issues appears to be that for a large proportion of my library, all the artwork on my media drive has been replaced by zero sized files of the same name.

For instance my Fargo folder on my media drive now looks like:

I’ve checked lots of other TV shows and films and whatever happened back on the 4th has zeroed the artwork and nfo files for a lot of my library, but not all. Some TV shows and films remain completely unchanged.

The 4th was when I was being helped by yourself through changing my media drive’s hardware without losing the library, and I kept running into issues and had to rescrape the library.

So I’m guessing that when I rescraped the library, for whatever reason when some artwork was downloaded, it wasn’t actually downloaded?

I’m well confused as on my main Vero, I definitely had some artwork showing within the last week, for items that now don’t have any artwork showing. Could it have been removed as when I used my other Vero for the first time since the start of the month, when I was browsing through the listings in the library, it was trying to download the artwork from the media drive, but as it was zero files, it was registering the files existing, and setting them as that, i.e. as nothing. The DB was updated that this was the relevant art, so on my other machine, it also showed that zero file as the art? Or am I understanding it incorrectly?

I’ve not seen or ever heard of this zero file issue. My gut is telling me there was a Kodi export done on a system that wasn’t quite right. I would just delete all the zero K art files and check one of the nfo files to make sure there is a url to online artwork in there. If there is then the MySQL should be okay and to fix the art you would on each client stop mediacenter, delete texturecache13.db and the entire thumbnails folder. Once you start mediacenter again it should then grab art from the online source automatically now that bad local art is not present.

If the nfo files do not contain a path to the online artwork then you would need to get rid of them and start over because anything else would be too much effort to fix.

Thanks for the answer.

The nfo files for those tv shows/films affected are all zero size as well.

Would rescraping everything again fix this and redownload all the artwork etc? or would it stick with the files it thinks are already there?

I suggest you first delete all 0 byte files (on the vero a one liner can do that).
But I believe the more crucial question is why this 0 byte files actually happened before you rescrape the library.

Any media file that had an empty nfo file should not have scraped. I think there is a piece to this puzzle that we are missing as, like I said, I’ve never seen or heard of this issue, and I have been doing this a long time. If it was me I would dump all nfo and local art unless there is something that is good and fixing a scraping issue (things like parsing nfo’s and shows tweaked to have custom info) then I would shut down Kodi on the clients, remove thumbs and cache db and then go to mysql and drop the video database. I would then just scrape from online sources, cleanup anything that didn’t come in correct, then plug in a keyboard and spend some time with the “w” key. From the sounds of it you have a mess that would take longer to fix than start over.

And what would that one liner be? As I think that needs to be done.

I just rescraped my source with the smallest number of things inside it to test to see what would happen and loads of art was missing as before presumably due to the zero file thing.

So I’m more than happy to go the full clean slate approach, as frustrating as it may be rescraping everything.

find . -type f -size 0 -delete
see Unix / Linux: Find and Delete Zero Byte Files - Stack Pointer

I will do that, but I don’t know how. Sorry for requiring more spoon feeding here.

Thanks. I will do that and view the link later when I get the chance.

Much appreciated!

For Kodi clients you can follow what I posted here for dumping the cached artwork

That post was also dumping the local video database so since your using MySQL you don’t need to delete the MyVideos116.db file. You will need to drop the <name>116 in MySQL. There is various ways to do it. I personally use HeidiSQL which with that one it is just a matter of connecting and then right click on the db name and select drop.

Best practice here would be (after deleting all empty files) to stop Kodi on all your clients, drop the db, then delete client cache, then start Kodi again, set scrapers, scan library.

Thanks for the information. I’m getting on with all this now, so hopefully it’ll all be sorted shortly.

The first of my sources has been done, and it did previously have some with no artwork, or the ‘zero’ artwork files, but it is now all good, rescraped, and all the artwork I want is there automatically.

Thanks again @fzinken and @darwindesign for the detailed answers and prompt responses, you guys are absolutely awesome!

1 Like