2014-12-26, 01:42
Check your kodi.log, as it looks like Kodi is experiencing a fairly major problem processing web server requests. Have you updated Kodi recently?
(2014-12-27, 21:24)pgjensen Wrote: Is there a way to do thumbnail caching, but not download the artwork file if it's missing from Textures13.db but DOES exist in the local Thumbnails directory (with the same hash of course) If I start with a fresh Textures13.db, already have all artwork on the local filesystem, and run `texturecache.py c movies` it redownloads all of the same artwork (same names, sizes). If Textures13.db is fully populated, and the file exists on the filesystem, that's the only way it won't actually redownload the artwork.
(2014-12-27, 21:24)pgjensen Wrote: Also, if I point the JSONRPC location to a different box (i.e. a headless server), and run caching on the client, no matter if it exists in Textures13.db AND on the local filesystem, it treats all thumbnails as missing. Although I am guessing this could be because it's computing the hash based on a local file path?Can you upload a logfile from "textutecach.py @logfile=".
(2014-12-28, 10:59)Milhouse Wrote:(2014-12-27, 21:24)pgjensen Wrote: Is there a way to do thumbnail caching, but not download the artwork file if it's missing from Textures13.db but DOES exist in the local Thumbnails directory (with the same hash of course) If I start with a fresh Textures13.db, already have all artwork on the local filesystem, and run `texturecache.py c movies` it redownloads all of the same artwork (same names, sizes). If Textures13.db is fully populated, and the file exists on the filesystem, that's the only way it won't actually redownload the artwork.
Not without inserting rows directly into Textures13.db.
(2014-12-27, 21:24)pgjensen Wrote: Also, if I point the JSONRPC location to a different box (i.e. a headless server), and run caching on the client, no matter if it exists in Textures13.db AND on the local filesystem, it treats all thumbnails as missing. Although I am guessing this could be because it's computing the hash based on a local file path?Can you upload a logfile from "textutecach.py @logfile=".
D:\TextureCache>python texturecache.py vscan "nfs://192.168.1.77/movies/Perfect.Sense.(2011)/"
Rescanning directory: nfs://192.168.1.77/movies/Perfect.Sense.(2011)/...
15:33:01 T:5764 NOTICE: VideoInfoScanner: Starting scan ..
15:33:01 T:5764 DEBUG: CAnnouncementManager - Announcement: OnScanStarted from xbmc
15:33:01 T:5764 DEBUG: GOT ANNOUNCEMENT, type: 16, from xbmc, message OnScanStarted
15:33:01 T:5764 NOTICE: VideoInfoScanner: Finished scan. Scanning for video info took 00:00
16:09:56 T:4936 NOTICE: VideoInfoScanner: Starting scan ..
16:09:56 T:4936 DEBUG: CAnnouncementManager - Announcement: OnScanStarted from xbmc
16:09:56 T:4936 DEBUG: GOT ANNOUNCEMENT, type: 16, from xbmc, message OnScanStarted
16:09:56 T:4936 DEBUG: NFS: Old context timed out - destroying it
16:09:56 T:4936 DEBUG: NFS: Context for 192.168.1.77/movies not open - get a new context.
16:09:56 T:4936 DEBUG: NFS: Connected to server 192.168.1.77 and export /movies
16:09:56 T:4936 DEBUG: NFS: chunks: r/w 32768/32768
16:09:56 T:3984 DEBUG: CImageLoader::DoWork - took 2301 ms to load special://masterprofile/Thumbnails/9/9b73886a.jpg
16:09:56 T:4936 DEBUG: VideoInfoScanner: Skipping dir 'nfs://192.168.1.77/movies/Perfect.Sense.(2011)/' due to no change (fasthash)
16:09:56 T:4936 NOTICE: VideoInfoScanner: Finished scan. Scanning for video info took 00:00
(2014-12-28, 22:26)pgjensen Wrote: Logfiles in PM
pgjensen Wrote:ran both locally, against a Textures.db that's about halfway done with cached artwork. On the localhost it recognizes existing artwork in the db. Pointing to the server (only changing the texturecache.cfg file) causes texturecache to think nothing is cached. MySQL shared db, same samba location for files.
server: (log)
localhost: (log)
Thanks for looking into this!
2014-12-28 13:22:48.225000:MainThread: libTextures.JSON SOCKET REQUEST: [{"jsonrpc": "2.0", "params": {"filter": {"operator": "startswith", "field": "cachedurl", "value": "0/"}, "properties": ["cachedurl", "url"]}, "method": "Textures.GetTextures", "id": "libTextures"}]
2014-12-28 13:22:48.230000:MainThread: libTextures.BUFFER RECEIVED (len 61)
2014-12-28 13:22:48.230000:MainThread: libTextures.PARSING JSON DATA: {"id":"libTextures","jsonrpc":"2.0","result":{"textures":[]}}
2014-12-28 13:21:41.088000:MainThread: libTextures.JSON SOCKET REQUEST: [{"jsonrpc": "2.0", "params": {"filter": {"operator": "startswith", "field": "cachedurl", "value": "0/"}, "properties": ["cachedurl", "url"]}, "method": "Textures.GetTextures", "id": "libTextures"}]
2014-12-28 13:21:41.287000:MainThread: libTextures.BUFFER RECEIVED (len 32768)
2014-12-28 13:21:41.288000:MainThread: libTextures.BUFFER RECEIVED (len 23392)
2014-12-28 13:21:41.288000:MainThread: libTextures.BUFFER RECEIVED (len 2564)
2014-12-28 13:21:41.296000:MainThread: libTextures.PARSING JSON DATA: {"id":"libTextures","jsonrpc":"2.0","result":{"textures":[{"cachedurl":"0/00ad4f83.jpg","textureid":1,"url":"image://smb%3a%2f%2fMEDIA%2fstorage%2fmovies/{HIDDEN}/"}]}}
(2014-12-29, 07:18)pgjensen Wrote: Is there a way to get the .dds artwork created as you cache the jpg/png files? It does it on the host machine that adds files to the library, but nowhere else. That's one reason I wanted to have the thumbnail caching done through rsync and the ability for your script to recognized local files and just add them straight to the db without re-downloading the files (which takes a considerable amount of time compared to rsync).
(2014-12-29, 18:01)redglory Wrote: Milhouse,
When I run vscan using texturecache.py with a movie path parameter, like this:
Code:D:\TextureCache>python texturecache.py vscan "nfs://192.168.1.77/movies/Perfect.Sense.(2011)/"
Rescanning directory: nfs://192.168.1.77/movies/Perfect.Sense.(2011)/...
userdata = C:\Users\Mychale\AppData\Roaming\XBMC\userdata
dbfile = Database/Textures13.db
thumbnails = Thumbnails/
xbmc.host = localhost
webserver.port = 8080
allow.recacheall = yes
rpc.port = 9090
download.threads = 6
qaperiod = 9999
checkupdate = yes
orphan.limit.check = yes
(2014-12-31, 06:58)Mychale Wrote: Ok, so I have it installed as stated in post #1199, and it seems to be working. Any ideas on a test to run first?
texturecache.py c
(2014-12-31, 06:58)Mychale Wrote: I understand that this script is not changing anything in MySQL, just the textures13.db file for the installation on that local machine I run this on. Correct?
texturecache.py imdb movies | texturecache.py set
(2014-12-31, 06:58)Mychale Wrote: Once this DB is cleaned up and fixed on this PC, I have a personal .bat file that updates all boxes with the new textures13.db file, and a restart of XBMC locally.
allow.recacheall = yes
download.threads = 6
qaperiod = 9999
checkupdate = yes
orphan.limit.check = yes
[pc1]
xbmc.host = 192.168.0.123
network.mac = dd:27:eb:12:9e:7b
[pc2]
xbmc.host = 192.168.0.124
network.mac = dd:27:eb:12:9e:7d
[pc3]
xbmc.host = 192.168.0.125
network.mac = dd:27:eb:12:9e:8b
(2014-12-31, 06:58)Mychale Wrote: My last question (promise) - with a new setup, what would be a good place to start to run this script? The posts I see here have a lot of passing variables that seem unique to their setup.
(2014-12-31, 06:58)Mychale Wrote: This is a copy of the texturecache.cfg I wrote following the first few pages of posts:
Code:userdata = C:\Users\Mychale\AppData\Roaming\XBMC\userdata
dbfile = Database/Textures13.db
thumbnails = Thumbnails/
xbmc.host = localhost
webserver.port = 8080
allow.recacheall = yes
rpc.port = 9090
download.threads = 6
qaperiod = 9999
checkupdate = yes
orphan.limit.check = yes
(2014-12-31, 06:58)Mychale Wrote: I am amazed at how this started out as a simple tool for yourself and it grew into this.You're amazed, I'm horrified.
texturecache.py c
texturecache.py C
texturecache.py p