• 1
  • 166
  • 167
  • 168(current)
  • 169
  • 170
  • 197
[RELEASE] Texture Cache Maintenance utility
(2018-07-15, 05:41)Milhouse Wrote:
(2018-07-14, 20:25)Milhouse Wrote: The crash is caused by a PR being tested in recent nightly builds (since #0708). The issue you have discovered will be fixed in #0714 tonight - many thanks!

Edit: This may not be fixed in #0714 tonight - I'll let you know when it is fixed.

This will be fixed in #0715 on Sunday evening.


Hi Milhouse - I can confirm that this is now working as of #0715 - Much obliged... 
Reply
I am new to this tool, only spent 4 hours with it so far trying to figure out how to solve my problem(s). I'm using Kodi 18, so perhaps that is my problem...

We use kodi iphone apps as well as the web addons (Chorus). They require thumbnails for movies. Somewhere along the way I blew away many of the thumbnails. I am trying to regenerate them with texturecache.py, but so far without success. I notice that if in Kodi, I simply view the artwork via Info/Choose art, then the thumbnail for the movie will show up in chorus. How can accomplish this with texturecache for all of my movies?

This is a great tool, I was able to garbage collect 8 years worth of garbage as well as to find and fix a few things.
Reply
(2018-08-14, 02:27)fbacher Wrote: I notice that if in Kodi, I simply view the artwork via Info/Choose art, then the thumbnail for the movie will show up in chorus. How can accomplish this with texturecache for all of my movies?

If the artwork is embedded, there's no way to force Kodi to cache the thumbnails automatically - you have to manually navigate through the Kodi GUI and Kodi will slowly extract the artwork from the video or music files, creating the cached thumbnail versions.

If the thumbnails are remote (downloaded from the internet) or local (stored alongside the video/music files) then texturecache.py c movies etc. should cache the artwork automatically (so long as the artwork is still accessible - remote artwork has a habit of disappearing).

You can determine if your artwork is embedded, remote or local by viewing the metadata for an item, eg. texturecache.py jd movies avatar - if the artwork path starts with video@ then it is embedded and cannot be automatically cached. If it starts with http or https, then it is remote.
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 problem that I had was that I needed to update userdata to point to ~/.kodi/userdata. I found this when I ran
texturecache.py s

I'm not sure what all this impacts.

I did the following after updating the path:

Chorus is not displaying thumb for "Home from the Hill"

texturecache.py jd movies
gives:
{
    "art": {
      "fanart": "image:///movies/XBMC/Movies/60s/Home from the Hill (1960)-fanart.jpg/",
      "poster": "image:///movies/XBMC/Movies/60s/Home from the Hill (1960)-poster.jpg/"
    },
    "file": "/movies/XBMC/Movies/60s/Home from the Hill (1960).m4v",
    "label": "Home from the Hill",
    "movieid": 5373,
    "title": "Home from the Hill"
  },

./texturecache.py c movies

didnot fix the issue.

However this worked: texturecache C movies
Reply
You shouldn't need to set userdata. Running C movies will re-cache all movie artwork (that isn't embedded), so maybe you had a problem with the originally cached artwork (a database inconsistency, for example).
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
I use Media Companion for scraping my library, and then run update library in Kodi. 
Every once in a while I will remove a few movies from the filesystem in one go.. (movies that i have watched and do not like, or would not like to store them).
Hence I was wondering what job i can execute in Texture cache every once in a while to remove these obsolete entries from the kodi library.

I am not interested to execute texture cache on individual movie names.. I'd rather just have an automated job run every few days.

So please guide me with the command.. is it C or c, or something else?
Reply
Also, in one of the previous post, the installation method had parameters that i dont see in the current version of texturecache.py, has anything changed...Huh see below... I dont see these params
 
Quote:userdata = C:\Users\XXXX\AppData\Roaming\Kodi\userdata
webserver.username = XXXX
webserver.password = XXXX
allow.recacheall = yes

But instead i see...

   web_user = self.getValue(config, webserver.username, )
    web_pass = self.getValue(config, webserver.password, )

and for userdata path..

    if sys.platform == win32
      win32_path = %s%suserdata % (os.environ[appdata], appid)

So were am i to change here?
Or i am looking into the wrong lines?
Reply
(2018-09-12, 22:18)MANswers Wrote: I use Media Companion for scraping my library, and then run update library in Kodi. 
Every once in a while I will remove a few movies from the filesystem in one go.. (movies that i have watched and do not like, or would not like to store them).
Hence I was wondering what job i can execute in Texture cache every once in a while to remove these obsolete entries from the kodi library.

I am not interested to execute texture cache on individual movie names.. I'd rather just have an automated job run every few days.

So please guide me with the command.. is it C or c, or something else?

texturecache.py P - it's documented in the first post of this thread.

(2018-09-12, 23:04)MANswers Wrote: Also, in one of the previous post, the installation method had parameters that i dont see in the current version of texturecache.py, has anything changed...Huh see below... I dont see these params

The texturecache.cfg properties file is documented in the first post. Maybe try reading it?
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
(2018-09-12, 23:20)Milhouse Wrote:
(2018-09-12, 22:18)MANswers Wrote: I use Media Companion for scraping my library, and then run update library in Kodi. 
Every once in a while I will remove a few movies from the filesystem in one go.. (movies that i have watched and do not like, or would not like to store them).
Hence I was wondering what job i can execute in Texture cache every once in a while to remove these obsolete entries from the kodi library.

I am not interested to execute texture cache on individual movie names.. I'd rather just have an automated job run every few days.

So please guide me with the command.. is it C or c, or something else?
texturecache.py P - it's documented in the first post of this thread.
(2018-09-12, 23:04)MANswers Wrote: Also, in one of the previous post, the installation method had parameters that i dont see in the current version of texturecache.py, has anything changed...Huh see below... I dont see these params

The texturecache.cfg properties file is documented in the first post. Maybe try reading it? 
 Thanks, i got it to work now.
How often do people run automated jobs here? I was planning to add this to windows scheduler, and let it kickstart at night... weekly? or daily?
Reply
I have another question, I am running Kodi on windows on my HTPC. I run the kodi application only when watching movie. So will TC work if Kodi is not running? I am working on creating a scheduler job in windows, and have added the task to run the texturecache.py job every night.
I was wondering if kodi needs to be running in background for TC to work/prune obsolete data as i am using the "P" switch.
I plan to also run c after P (let me know if its a useless idea).
Reply
(2018-09-13, 00:53)MANswers Wrote: How often do people run automated jobs here? I was planning to add this to windows scheduler, and let it kickstart at night... weekly? or daily?

I would say that running P once a month should be more than for most people, but it really depends how much you use Kodi, and what you use it for - if much of your content is consumed online and/or via add-ons (YouTube etc.) then it's likely you will accumulate bloat (ie. thumbnails etc.) in the Texture Cache more quickly than someone who mainly uses a local library of content.

Use c whenever you add new content.

Use Xd and R whenever you experience weird problems with the cache.
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
(2018-09-13, 01:20)MANswers Wrote: So will TC work if Kodi is not running?

No, Kodi must be running as the script has to communicate with Kodi.

(2018-09-13, 01:20)MANswers Wrote: I was wondering if kodi needs to be running in background for TC to work/prune obsolete data as i am using the "P" switch.

You could start kodi.exe, run the script (P/c/etc), then shutdown kodi using the script: texturecache.py power exit. Obviously this could be a little annoying if someone is in the middle of a movie, but you'll need to work that out (eg. don't shutdown kodi if it was already running etc.)

(2018-09-13, 01:20)MANswers Wrote: I plan to also run c after P (let me know if its a useless idea).
Running P every night might be a little excessive, but c at any time should be fine.
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
(2018-09-13, 03:43)Milhouse Wrote:
(2018-09-13, 01:20)MANswers Wrote: So will TC work if Kodi is not running?

No, Kodi must be running as the script has to communicate with Kodi.
(2018-09-13, 01:20)MANswers Wrote: I was wondering if kodi needs to be running in background for TC to work/prune obsolete data as i am using the "P" switch.

You could start kodi.exe, run the script (P/c/etc), then shutdown kodi using the script: texturecache.py power exit. Obviously this could be a little annoying if someone is in the middle of a movie, but you'll need to work that out (eg. don't shutdown kodi if it was already running etc.)
(2018-09-13, 01:20)MANswers Wrote: I plan to also run c after P (let me know if its a useless idea).
Running P every night might be a little excessive, but c at any time should be fine. 
Fantastic.. Thank you so much!!
Reply
I'm not sure how I'm only just finding out about this script now but it looks very useful and I'm trying to get it working.  Have I just been unlucky with my timing and there's a tvdb problem?

php:
2018-09-17 14:40:47.593028:Thread-2  : ** iotimeout occurred during web request **
2018-09-17 14:40:47.593316:Thread-2  : preparedl.RECEIVED WEB DATA: 408, Request Timeout, 
2018-09-17 14:40:47.593438:Thread-2  : Image not available for download - uncacheable (embedded?), or doesn't exist. Filename [image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f78672%2f291453.jpg/]
2018-09-17 14:40:47.593717:Thread-2  : preparedl.JSON WEB REQUEST: [POST] [{"jsonrpc": "2.0", "params": {"path": "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f78672%2f291454.jpg/"}, "method": "Files.PrepareDownload", "id": "preparedl"}]
2018-09-17 14:40:47.599682:Thread-1  : ** iotimeout occurred during web request **
2018-09-17 14:40:47.599947:Thread-1  : preparedl.RECEIVED WEB DATA: 408, Request Timeout, 
2018-09-17 14:40:47.600066:Thread-1  : Image not available for download - uncacheable (embedded?), or doesn't exist. Filename [image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f78672%2f291452.jpg/]
2018-09-17 14:40:47.600339:Thread-1  : preparedl.JSON WEB REQUEST: [POST] [{"jsonrpc": "2.0", "params": {"path": "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f78672%2f291455.jpg/"}, "method": "Files.PrepareDownload", "id": "preparedl"}]
2018-09-17 14:40:52.599862:Thread-2  : ** iotimeout occurred during web request **
2018-09-17 14:40:52.600164:Thread-2  : preparedl.RECEIVED WEB DATA: 408, Request Timeout, 
2018-09-17 14:40:52.600329:Thread-2  : primeImage.DIRECT WEB REQUEST: [GET], HTTPS=False, [thetvdb.com] [/banners/episodes/78672/291454.jpg]
2018-09-17 14:40:52.606465:Thread-1  : ** iotimeout occurred during web request **
2018-09-17 14:40:52.606730:Thread-1  : preparedl.RECEIVED WEB DATA: 408, Request Timeout, 
2018-09-17 14:40:52.606891:Thread-1  : primeImage.DIRECT WEB REQUEST: [GET], HTTPS=False, [thetvdb.com] [/banners/episodes/78672/291455.jpg]
2018-09-17 14:40:57.671067:Thread-2  : primeImage.RECEIVED WEB DATA: 301, Moved Permanently, <raw data>
2018-09-17 14:40:57.671217:Thread-2  : Primed request of: HTTPS=False, Domain [thetvdb.com] with URL [/banners/episodes/78672/291454.jpg], result [301, Moved Permanently]
2018-09-17 14:40:57.671311:Thread-2  : Retrying getDownloadURL(), 3 attempts remaining
2018-09-17 14:40:57.676324:Thread-1  : primeImage.RECEIVED WEB DATA: 301, Moved Permanently, <raw data>
2018-09-17 14:40:57.676474:Thread-1  : Primed request of: HTTPS=False, Domain [thetvdb.com] with URL [/banners/episodes/78672/291455.jpg], result [301, Moved Permanently]
2018-09-17 14:40:57.676550:Thread-1  : Retrying getDownloadURL(), 3 attempts remaining
2018-09-17 14:40:58.172168:Thread-2  : preparedl.JSON WEB REQUEST: [POST] [{"jsonrpc": "2.0", "params": {"path": "image://http%3a%2f%2fthetvdb.com%2fbanners%2fepisodes%2f78672%2f291454.jpg/"}, "method": "Files.PrepareDownload", "id": "preparedl"}]

This is my Kodi log when that's happening (debug log enabled):

php:
14:53:19.167 T:140383463921408   DEBUG: JSONRPC Server: New connection detected
14:53:19.167 T:140383463921408    INFO: JSONRPC Server: New connection added
14:53:19.386 T:140383463921408    INFO: JSONRPC Server: Disconnection detected
14:53:19.396 T:140383902140160   DEBUG: CWebServer[8080]: request received for /jsonrpc
14:53:19.397 T:140381802981120   DEBUG: Previous line repeats 1 times.
14:53:19.397 T:140381802981120    INFO: easy_acquire - Created session to http://thetvdb.com
14:53:21.519 T:140381794588416    INFO: Previous line repeats 1 times.
14:53:21.519 T:140381794588416   DEBUG: Thread JobWorker 140381794588416 terminating (autodelete)
14:53:24.911 T:140381802981120   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://thetvdb.com/banners/episodes/78672/291453.jpg
14:53:24.911 T:140383902140160   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://thetvdb.com/banners/episodes/78672/291452.jpg
14:53:24.911 T:140381802981120   DEBUG: CWebServer [MHD]: Failed to send data in request for `/jsonrpc': Broken pipe
14:53:29.991 T:140383951439616   DEBUG: Previous line repeats 1 times.
14:53:29.991 T:140383951439616   DEBUG: CWebServer[8080]: request received for /jsonrpc
14:53:35.500 T:140381794588416   DEBUG: Previous line repeats 3 times.
14:53:35.500 T:140381794588416    INFO: easy_acquire - Created session to http://thetvdb.com
14:53:35.508 T:140383951439616    INFO: Previous line repeats 1 times.
14:53:35.508 T:140383951439616   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://thetvdb.com/banners/episodes/78672/291453.jpg
14:53:35.508 T:140383951439616   DEBUG: CWebServer [MHD]: Failed to send data in request for `/jsonrpc': Broken pipe
14:53:35.508 T:140383902140160   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://thetvdb.com/banners/episodes/78672/291452.jpg
14:53:35.508 T:140383902140160   DEBUG: CWebServer [MHD]: Failed to send data in request for `/jsonrpc': Broken pipe
14:53:41.007 T:140383136765696   DEBUG: CWebServer[8080]: request received for /jsonrpc
14:53:41.013 T:140383472314112   DEBUG: Previous line repeats 1 times.
14:53:41.013 T:140383472314112   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://thetvdb.com/banners/episodes/78672/291452.jpg
14:53:41.013 T:140383472314112   DEBUG: CWebServer [MHD]: Failed to send data in request for `/jsonrpc': Broken pipe
14:53:41.015 T:140381794588416   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://thetvdb.com/banners/episodes/78672/291453.jpg
14:53:41.015 T:140381794588416   DEBUG: CWebServer [MHD]: Failed to send data in request for `/jsonrpc': Broken pipe
14:53:46.011 T:140382046279424   DEBUG: CWebServer[8080]: request received for /jsonrpc
14:53:46.522 T:140383136765696   DEBUG: Previous line repeats 1 times.
14:53:46.522 T:140383136765696   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://thetvdb.com/banners/episodes/78672/291452.jpg
14:53:46.522 T:140383902140160   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://thetvdb.com/banners/episodes/78672/291453.jpg
14:53:46.523 T:140383136765696   DEBUG: CWebServer [MHD]: Failed to send data in request for `/jsonrpc': Broken pipe
14:53:51.527 T:140382046279424   DEBUG: Previous line repeats 1 times.
14:53:51.527 T:140382046279424   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://thetvdb.com/banners/episodes/78672/291454.jpg
14:53:51.527 T:140382046279424   DEBUG: CWebServer [MHD]: Failed to send data in request for `/jsonrpc': Broken pipe
14:53:51.528 T:140381794588416   ERROR: CCurlFile::Exists - Failed: Timeout was reached(28) for http://thetvdb.com/banners/episodes/78672/291455.jpg
14:53:51.528 T:140381794588416   DEBUG: CWebServer [MHD]: Failed to send data in request for `/jsonrpc': Broken pipe
14:53:56.591 T:140381811373824   DEBUG: CWebServer[8080]: request received for /jsonrpc
Reply
I'm not aware of any thetvdb.org problems, but it certainly appears that your Kodi client is having problems communicating with thetvdb.org - check your network, reboot your Kodi client, then ask in thetvdb.org support thread. There's not much the script can do as this is a Kodi problem.
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
  • 166
  • 167
  • 168(current)
  • 169
  • 170
  • 197

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