• 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 12
Naming convention
#46
And related question: sometimes my video library update does not complete and gives a prompt: "unable to connect to remote server would you like to continue scanning kodi". Can vscan force a yes or would this message leads to the script hanging and never completing the scan and the consecutive tasks?
Server: Asus Sabertooth Z77 | Intel Core i5 3.4 GHz | 16 GB DDR3 | 128 GB SSD, 82 TB (9 x 6 TB, 7 x 4 TB)
HTPC 1: Raspberry Pi 2 | HTPC 2: Raspberry Pi 2 | HTPC 3: Raspberry Pi
Reply
#47
(2018-01-14, 02:10)steve1977 Wrote: Is there any advantage of running lc instead of just c for my use case?
lc will consider fewer items (ie. those items added since the timestamp) so is useful for a quick "top up", while c will process all items and take much longer.

(2018-01-14, 02:10)steve1977 Wrote: I noticed you specific movies in your commends. Assuming I want to cache movies, tvshows and music, I would not need to specify this and just leave it out?
Mostly just habit on my part, as I don't really see the point of caching addon artwork, and all my music artwork is local and rarely changes these days so again no point caching that. You can leave movies out if you want, you may simply be processing more items than is necessary. Your call.

(2018-01-14, 02:10)steve1977 Wrote: I just ran it again and getting quite a few errors. Any idea what they could be and could this has come from running two devices without specifying the timestamp file?
I can't tell what your errors are just from you telling me you had errors. Smile

Most likely you have remote artwork that is not available for download. It should tell you what artwork could not be downloaded. Some sites block/prevent downloads which may work in the browser. I don't know why.

(2018-01-14, 02:10)steve1977 Wrote: Also, any thoughts why it shows 3 threads although my LE device only has 2?
There are two queues: qm and qs. "qm" is the multi-threaded queue, while "qs" is the single threaded queue. Some sites (eg. fanart.tv) have in my experience tended to respond negatively to multiple concurrent downloads so access to such sites is forced through a single queue. Total threads is thus qm+qs, ie. whatever number of download threads you configure (qm) + 1 (qs).

You can configure single threaded urls with the property singlethread.urls - the default is singlethread.urls = assets\.fanart\.tv, or disable single threaded urls with singlethread.urls=. To add extra values to an existing property use the notation: singlethread.urls = +http://ia\.media-imdb\.com.

(2018-01-14, 02:35)steve1977 Wrote: And related question: sometimes my video library update does not complete and gives a prompt: "unable to connect to remote server would you like to continue scanning kodi". Can vscan force a yes or would this message leads to the script hanging and never completing the scan and the consecutive tasks?

No, vscan cannot force a yes - there is no way for the texturecache.py script to know that the dialog has appeared.

Since JSON API 6.19.0, the default is for vscan (and ascan, vclean and aclean) to NOT show GUI dialogs or any progress information.

You can enable GUI dialogs and progress info by setting the properties scan.showdialogs = yes and/or clean.showdialogs = yes.

However, if you have not enabled GUI dialogs then IMHO when a GUI dialog appears during a vscan this should be classed as a bug and you should report it on trac.kodi.tv.
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
#48
Thanks for your help:

* c should still just be a few minutes longer as it is not downloading anything, right? C on the opposite is really taking forever as it downloads it all every time.

* You don't have tvshows or prefer not to cache them either?

* I didn't see the error as I didn't let it complete as there were so many errors. It show in the commandline as: "*** 2475 items remaining of 2526 (qs: 9787, qm: 12685), 51 errors, 3 threads active (07.54 downloads per second, ETA: 00:38:08)". Guess I should have waited 40min. Does it give me the error description once completed? Actually, I don't think this is about non-downloadable content. The first run went well with very few errors. I think something different at second time, which may be related to me running it on two different devices?

* I don't think this is a bug. If it wouldn't show up, texturecache would be "dooomed". Without me clicking "yes" or "no", the scanning stops. Besides this "pop up", there is no progress info showing in the GUI.
Server: Asus Sabertooth Z77 | Intel Core i5 3.4 GHz | 16 GB DDR3 | 128 GB SSD, 82 TB (9 x 6 TB, 7 x 4 TB)
HTPC 1: Raspberry Pi 2 | HTPC 2: Raspberry Pi 2 | HTPC 3: Raspberry Pi
Reply
#49
(2018-01-14, 17:12)steve1977 Wrote: * c should still just be a few minutes longer as it is not downloading anything, right? C on the opposite is really taking forever as it downloads it all every time.
Hard to say how much longer it will be - could be minutes, could be hours. Running c will increase in time as your library grows and the number of uncacheable items increases (because the remote artwork is missing, which you keep trying/failing to download), and you'll take this hit every time you run c, whereas lc is only processing those items added since the last time you ran lc so should be seconds. If 100% of your artwork is local then c will only take a few minutes.

If you have enabled cast thumbs in Kodi then you'll most likely have thousands of remote artwork files for cast members linked against your movies and tv shows/episodes, and it's very likely that many of these files will be unavailable at one time or another. Creating local artwork files for cast thumbs is possible, but currently highly inefficient.

(2018-01-14, 17:12)steve1977 Wrote: * You don't have tvshows or prefer not to cache them either?
Yes I do, and I'll use tvshows for that, so I usually run two commands, once for movies and again for tvshows, rather than a single command which re-caches everything (the two commands are faster).

(2018-01-14, 17:12)steve1977 Wrote: * I didn't see the error as I didn't let it complete as there were so many errors. It show in the commandline

My guess would be cast thumbs. You can enable @logfile=tc.log on the command line and there should be information in the log which details the failing urls. Upload this log file somewhere and I'll take a look.

(2018-01-14, 17:12)steve1977 Wrote: Does it give me the error description once completed?
Not exactly - it will list the urls it wasn't able to cache. However as the script isn't downloading anything - it's telling Kodi to perform the download - all the script knows is that Kodi didn't respond with the expected result whenever Kodi fails to download an item of artwork, it doesn't know _why_ Kodi failed to download the artwork. You could look in the Kodi log for any errors, but chances are it's simply a remote web site being awkward. Repeating the cache run might cache artwork that failed previously. Some artwork will always fail. Some artwork that Kodi is unable to cache will load in a browser just fine. It's hard to say why Kodi fails to download some artwork but not others.

(2018-01-14, 17:12)steve1977 Wrote: * I don't think this is a bug. If it wouldn't show up, texturecache would be "dooomed". Without me clicking "yes" or "no", the scanning stops.

I don't understand, why would texturecache be "doomed" if the dialog doesn't appear? The whole point of not showing dialogs is so that the library scan or clean isn't delayed by having the user interact with the GUI. If JSON instructs Kodi to perform a video library scan and **DO NOT SHOW ANY GUI DIALOGS** and then Kodi shows a GUI dialog halting the scan until the user interacts with the GUI, why isn't that a bug? Kodi has totally failed to do what it was asked.
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
#50
I am still looking for a solution for music as well. If I remember correctly, you'd mentioned hat texturecache supports it, but mklocal does not support it yet. Could I instead use "export library" to extract the album art that is embedded. So, the script could include ascan->export->texturecache. Do you think this would work and is there a command line to export the music library that I can include in the script?
Server: Asus Sabertooth Z77 | Intel Core i5 3.4 GHz | 16 GB DDR3 | 128 GB SSD, 82 TB (9 x 6 TB, 7 x 4 TB)
HTPC 1: Raspberry Pi 2 | HTPC 2: Raspberry Pi 2 | HTPC 3: Raspberry Pi
Reply
#51
Just saw your reply. Thanks for sharing.

* You write "one time or another". When using lc, is there a risk that the download just timed out the first time as I am hitting the APIs of TMDB et al too hard? If so, would lc prevent to give me a second shot in caching the art?

* I like to hear that you see it as a bug and I had mentioned it earlier as I don't like to see such dialogue bar. If we don't want Kodi to show this dialogue bar, we would need to define whether it sets it as "yes" or "no" by default. Otherwise, we end up in a situation where the scan just waits forever.

Btw, does artworkbeef run automatically after vscan or is this limited to "update library" from the GUI?
Server: Asus Sabertooth Z77 | Intel Core i5 3.4 GHz | 16 GB DDR3 | 128 GB SSD, 82 TB (9 x 6 TB, 7 x 4 TB)
HTPC 1: Raspberry Pi 2 | HTPC 2: Raspberry Pi 2 | HTPC 3: Raspberry Pi
Reply
#52
(2018-01-14, 17:59)steve1977 Wrote: Could I instead use "export library" to extract the album art that is embedded

Probably, yes.

(2018-01-14, 17:59)steve1977 Wrote: is there a command line to export the music library that I can include in the script?

There isn't one in texturecache.py, I'm not sure if Kodi supports this through a built-in function, you'd need to check the Kodi documentation.

(2018-01-14, 18:09)steve1977 Wrote: * You write "one time or another". When using lc, is there a risk that the download just timed out the first time as I am hitting the APIs of TMDB et al too hard? If so, would lc prevent to give me a second shot in caching the art?

Yes, you are correct that if an artwork item fails to cache due to a transient error then re-running lc will fail to process the now missing artwork. It's not a perfect process. You could for instance run lc daily, with a weekly c. It's entirely up to you.

(2018-01-14, 18:09)steve1977 Wrote: * I like to hear that you see it as a bug and I had mentioned it earlier as I don't like to see such dialogue bar. If we don't want Kodi to show this dialogue bar, we would need to define whether it sets it as "yes" or "no" by default. Otherwise, we end up in a situation where the scan just waits forever.

When dialogs are disabled, Kodi should "fail safe".

(2018-01-14, 18:09)steve1977 Wrote: Btw, does artworkbeef run automatically after vscan or is this limited to "update library" from the GUI?

I've no idea, I'm afraid. vscan just initiates a library video scan, but it's possible Artwork Beef is monitoring JSON notifications and triggers when it sees the "OnScanFinished" notification, or it uses some other mechanism, or it doesn't do anything at all. You'd have to ask the Artwork Beef author to know for sure.
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
#53
(2018-01-14, 18:09)steve1977 Wrote: Btw, does artworkbeef run automatically after vscan or is this limited to "update library" from the GUI?
 Yup, Artwork Beef watches for that notification, so it should fire up automatically after Kodi updates the library, no matter how it is triggered.

I've recently added the feature to download artwork to Artwork Beef, and when it processes existing items it will also download existing URLs attached to them, so it does the basic behavior of mklocal (and finally implements the namesake feature of the old Artwork Downloader). I may also add basic client artwork caching, as I just "upgraded" to a Vero 4k, and while it is an impressive device, it still can't match my old Core i + SSD for throwing around uncached artwork and other heavy-random disk activity. I will probably limit it to locally saved artwork only, though; I do want to avoid duplicate downloads, as web services do what they do for free and images make that relatively expensive.
Reply
#54
Thanks, this is great. Do you have plans to also include the artwork download for music (included embedded album art in MP3/M4A)? This appears the missing piece unless I go the route of exporting the music library (which I prefer not to do).
Server: Asus Sabertooth Z77 | Intel Core i5 3.4 GHz | 16 GB DDR3 | 128 GB SSD, 82 TB (9 x 6 TB, 7 x 4 TB)
HTPC 1: Raspberry Pi 2 | HTPC 2: Raspberry Pi 2 | HTPC 3: Raspberry Pi
Reply
#55
It will have an option to download music artwork at some point, but it won't extract embedded artwork to a separate file. Kodi already identifies embedded artwork, so I don't think extracting it will improve the Kodi experience, and is outside the scope of Artwork Beef.

An option is MP3Tag, which has an action to export images from a file, and that action can be run on a batch of files. I haven't used that function much, but it ought to help.
Reply
#56
Thanks. The reason i want to extract the embedded artwork is that it is the only way that i can pre-cache it (with texturecache) and also the way to make upnp work.

Exporting the music library allows me to extract the embedded artwork, so maybe that’s the way to go. Not sure whether exporting the music library also exports the extra-artwork by artwork beef. let me give it a try this weekend.
Server: Asus Sabertooth Z77 | Intel Core i5 3.4 GHz | 16 GB DDR3 | 128 GB SSD, 82 TB (9 x 6 TB, 7 x 4 TB)
HTPC 1: Raspberry Pi 2 | HTPC 2: Raspberry Pi 2 | HTPC 3: Raspberry Pi
Reply
#57
Ohh yeah, embedded artwork does work differently when caching (like generating a thumbnail from video files). Artwork Beef probably won't be able to cache those, either.

That's interesting about UPNP, when my old roommate reprocessed our music library he specifically embedded the artwork because whichever UPNP server we had didn't present "folder.jpg" as the cover. It wasn't Kodi, though, maybe an older version of Serviio.
Reply
#58
Got it. So, I will still need "export music library" to extract the embedded album artwork. Will still leverage artwork beef for the extra artwork.

You are right that this is a Kodi and not an UPNP issue. My current work-around is to use MiniM as UPNP server, which works with embedded art. The way how Kodi's UPNP server functionality works is that it only sends artwork if it is cached. So, I will need to extract the embedded artwork and then cache it via texturecache.py script.
Server: Asus Sabertooth Z77 | Intel Core i5 3.4 GHz | 16 GB DDR3 | 128 GB SSD, 82 TB (9 x 6 TB, 7 x 4 TB)
HTPC 1: Raspberry Pi 2 | HTPC 2: Raspberry Pi 2 | HTPC 3: Raspberry Pi
Reply
#59
Thanks. Getting back to caching video files.

I have succeeded to cache all my video files locally. Thanks for the guidance along the way. I am using "c" and manually fixed all errors by selecting different artwork. No errors happen anymore, so I have perfectly cached artwork / speed now on my "master client / server".

As a next step, I am planning to do the same for the MRMC clients on my ATV. Much to my surprise, this did not work with "c". I am not updating library from this device, but added movie and tvshow folders as source as I thought this may be the root cause of the issue. But even then, "c" did not work. I am now applying "C" and it seems to work. Curious though why this is the case and whether I can later switch to "c" again after adding new things to my library?
Server: Asus Sabertooth Z77 | Intel Core i5 3.4 GHz | 16 GB DDR3 | 128 GB SSD, 82 TB (9 x 6 TB, 7 x 4 TB)
HTPC 1: Raspberry Pi 2 | HTPC 2: Raspberry Pi 2 | HTPC 3: Raspberry Pi
Reply
#60
What do you mean by "didn't work"?
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
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 12

Logout Mark Read Team Forum Stats Members Help
Naming convention2