• 1
  • 135
  • 136
  • 137(current)
  • 138
  • 139
  • 197
[RELEASE] Texture Cache Maintenance utility
With Krypton Estuary GUI Event logging (milhouse nightlys) I have recently noticed that I have obtained a number of Failed to Scan issues in my Video Library db with items that appear to have been inadvertently prefixed with s100 and default strings in db at some point. (Phantom items?)

Image
Image
Image

Is there an option that I could use within Texture Cache Maintenance utility to find and possibly resolve these db issues?
RPi4, (LibreELEC 11.0) hdmi0 -> Philips 55PUS7304 4K TV, hdmi1 -> Onkyo TX-SR608 AV Receiver
Reply
I'm not entirely sure what the problem is, whether it's an error in the scanner or you actually have the items in your file system but they can't be scanned/read. Or do you have these items in your library (ie. database) but not your filesystem?

How is the scan being started - is it via texturecache.py (either vscan - with or without a directory - or via qax)?

You could try "texturecache.py missing movies <you movie sources>", which will find any items in the filesystem not in the library, and see if anything is listed

If the items exist only in your library but not your filesystem (duff database?) then you'll need to remove them, which is what "vclean" should do automatically. Alternatively find them with "jd movies s100" then remove each movie with "remove movie #" (where # is the movieid).

If the scanner issues continue then it would be useful to enable debug logging in Kodi and capture one of these library scans.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
Yes all listed items with this prefix are also real visibile items without the prefix with everything working normally.

Not sure how/when error crept into Kodi db, its been there for a while and did not bother me until noticed so many issues being recorded in the new Estuary Event log option. I normally use kodi GUI for Video Library scan refreshes and cleaning.

Thanks for your thoughts and tips, but none of texturecache.py options found for removal the items containing default and s100 within filename etc

Kodi debug Log (When Library scanning)

Above debug Log appears to highlight that these items existed at some point on my NAS in /.@__thumb folders.
(Temp created by one of the Win, Mac devices accessing my NAS and creating additional thumb images??)

/.@__thumb/default
/.@__thumb/s100
RPi4, (LibreELEC 11.0) hdmi0 -> Philips 55PUS7304 4K TV, hdmi1 -> Onkyo TX-SR608 AV Receiver
Reply
I suppose you've got a few options, in increasing levels of difficulty:

1) Deleting the folders should work (unless they keep coming back in which case find the source and throw it from a tall building)
2) Set the content type for these folders to "None" so that they're not included in the scan
3) Create ".nomedia" files in the root of each folder, so that the scanner ignore the folders
4) Add exclude patterns to advancedsettings.xml
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
@Milhouse apologies for my bothering you with this topic (Thanks as always for your help) as now realise its my QNAP NAS TS251+ that's been creating "hundreds" of @__thumb folders...all without user knowledge and understanding.

What completely threw me was I could not see these hidden folders with view hidden folders switched on in QNAP Webrowser File Station App or Windows PC accessing NAS folders over network?

Anyway using Filezilla to access and take a look at NAS and low and behold hundreds of .@__thumb

Oh well clean up time now on my NAS making sure these @__thumb "critters" are fully removed and are never created again!

I am currently reading through varied information on this topic in this QNAP forum thread on easiest way to perform the clean ideally automatically and ensure it cant happen again.

---edit ---Additionally--- Its a kodi settings option that ensured I created this problem. In Estuary I had Settings -> Media -> General "Show hidden files and directories" enabled. (Should have left this kodi option disabled!!!) With option disabled, .@__thumb items are NO more in kodi media library.

With ref to this thread post http://forum.kodi.tv/showthread.php?tid=...pid2055970
RPi4, (LibreELEC 11.0) hdmi0 -> Philips 55PUS7304 4K TV, hdmi1 -> Onkyo TX-SR608 AV Receiver
Reply
Hi @Milhouse,

How can I reference my artists/albums artwork to local artwork instead of remote ones? Like using mklocal with movies/tvshows.

I could clean my music library and re-import it but I think it would be somewhat cumbersome Big Grin

Can't figure this out...
Image Image
Reply
The problem is that the Music database and associated JSON API is much less sophisticated/evolved than the Video database. Consequently the Music database doesn't have JSON API support for artwork replacement or removal, which is why unfortunately there is no album/artist/song support in mklocal.py - it supports only movies, tvshows and sets.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
Thanks anyway. Smile
Image Image
Reply
Hi @millhouse,

I am trying to set up a config file, and I only need to change the default port and userdata path. I also am trying to incorporate multiple clients in sections.
Can I do all this from one file or do I need to split it out into two?

ex: on the host, the webserver port is 80 and I also want to connect to 2 clients at different ip's and on different ports 8080.

Thanks for any help!
Reply
(2016-10-28, 18:35)ludespeedny Wrote: Hi @millhouse,

I am trying to set up a config file, and I only need to change the default port and userdata path. I also am trying to incorporate multiple clients in sections.
Can I do all this from one file or do I need to split it out into two?

ex: on the host, the webserver port is 80 and I also want to connect to 2 clients at different ip's and on different ports 8080.

Thanks for any help!

That's fine, a single config file will work:
Code:
#common stuff
qaperiod=-1
download.threads = 4

#client specific stuff
[host]
webserver.port = 80
userdata = blah/blah/host
kodi.host = localhost

[client1]
webserver.port = 8080
userdata = blah/blah/client1
kodi.host = 192.168.0.10

[client2]
webserver.port = 8080
userdata = blah/blah/client2
kodi.host = 192.168.0.11
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
One of my clients is a pc and the others are RPi's. How would I set the userdata folder for the pc? Do I actually need to mount that drive and reference it that way?
Reply
(2016-10-29, 05:49)ludespeedny Wrote: One of my clients is a pc and the others are RPi's. How would I set the userdata folder for the pc? Do I actually need to mount that drive and reference it that way?

You shouldn't need to configure the userdata path at all if you're using the default paths.

The default path on Linux/RPi is "~/.kodi/userdata".

On Windows the default path will be "C:\Users\<USER>\AppData\Roaming\Kodi\userdata\".

Assuming you've installed Kodi "normally" then the script should be able to find your userdata folder without any userdata configuration. Otherwise add the userdata property and configure the path to where your userdata folder can be found.

Note that the userdata path will only be accessed by texturecache.py when using options that require direct access to the Thumbnails folder - these are "f", "F", "r", "R", "S", "X", "Xd". If you don't plan on using any of these options then you don't need to worry about the userdata property, just don't include it in your configuration file.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
That will work. Thanks!
Reply
A general problem with Libreelec when using Texture Cache Maintenance utility, from another network computer (Win10)

If I trigger the R option (delete orphaned thumbs in thumbnails), I get the error message:

Fatal: The Task you wish to perform requires read/write access to the Thumbnails folder, which ist inaccessible.

Is there a workaround to fix this?

cfg File entry looks like this:

xbmc.host = 192.168.1.50
userdata = ~/.kodi/userdata/
dbfile = ~/.kodi/userdata/Database/Textures13.db
thumbnails = ~/.kodi/userdata/Thumbnails/
webserver.port = 8080
webserver.username = kodi
Reply
There are several options that require direct access to the Thumbnails folder - these options are: "f", "F", "r", "R", "S", "X", "Xd"

All other options are able to work remotely (ie. script running on Windows, updating an RPi Kodi client) because they make use of JSON APIs. There are no JSON APIs for the above options.

There are two workarounds for the direct-access issue:

1) Mount the remote Thumbnails folder on your local machine and configure the script to use the locally mapped Thumbnails folder. How you mount the Thumbnails folder on your Windows PC is a challenge you'll need to solve as it depends on your remote client exporting the Thumbnails folder in some way (a Samba server would be easiest for Windows)

2) Use scp/ssh to run the script directly on the remote client, but under the control of the local machine. On a Linux machine you could do the following:
Code:
scp texturecache.py [email protected]:/tmp
ssh [email protected] -C "/tmp/texturecache.py R"

On Windows you can obtain scp and ssh from the PuTTY download page (aka pscp and plink). You can then script the transfer and running of texturecache.py assuming your remote client has ssh enabled. If you configure both systems to use private keys you don't need to worry about passwords.

Or there's the Linux subsystem now in Windows 10.

(Or don't use Windows) Smile
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
  • 1
  • 135
  • 136
  • 137(current)
  • 138
  • 139
  • 197

Logout Mark Read Team Forum Stats Members Help
[RELEASE] Texture Cache Maintenance utility17