PDA

View Full Version : Actor / Actress Image Artwork



jbinkley60
01-01-2021, 10:19 AM
With Mezzmo v6.0.6.0 a new feature called UserPoster was added where you can place actor / actress images to override what is scraped by Mezzmo or to add your own images for those which may be missing from the movie and TV database sites. This feature also provides the ability to share images between users. I've manually created just over 1,000 images that mostly aren't in the movie and TV database sites. A few others are ones where I didn't like the default scraped images. If there is interest I can post a zip file with them on the Mezzmo Kodi addon GitHub repioitory for folks to download. Any Mezzmo client which displays the actor / actress images, including the Mezzmo Android app, will be able to leverage this. All you would need to do is download the zip file and unzip it into the UserPoster folder.

Let me know if there is interest. I'd also be willing to post periodic updates, since I continually find missing images.


Thanks,


Jeff

martyd
01-01-2021, 11:46 AM
Jeff, it sounds like a great idea and would be much appreciated by many (including me). As if you're not busy enough!

hsbrown2
02-28-2022, 09:12 AM
I'd be interested in this, as well as pointers to info on how to use the UserPoster feature.

Thanks!

jbinkley60
02-28-2022, 06:42 PM
I'd be interested in this, as well as pointers to info on how to use the UserPoster feature.

Thanks!

The UserPoster feature is simple to utilize. With version 6.0.6.0 and higher there is now a folder called: \UserPoster which is a folder in the Mezzmo\Artwork folder. When Mezzmo looks for actor / Actress artwork it looks there first for images before looking in the normal \Artwork folder. Thus anything in that folder overrides what Mezzmo may have scraped from the Internet database sites. I use this for actors / actresses where Mezzmo found no images or the ones it found I had images I preferred more. The only requirement to use UserPoster, other than Mezzmo 6.0.6 and higher, is to use the proper image file naming convention.

For the UserPoster folder it is simply:

ben-browder.jpg (first name and last name separated by a hyphen instead of a space)
Brandon-J--Shaw.jpg (Note periods are denoted as a hyphen i.e. Brandon K. Shaw)

** Note that the names are not case sensitive.

The UserPoster feature gives you more control of what is displayed. I'll message you off-line about the images.


Jeff

hsbrown2
03-06-2022, 02:31 AM
Thanks very much! I've been doing some experimentation with this new feature, but I'm not having a great deal of luck. From what I've been able to glean from the threads in the forum, the folder is located at <systemdrive>:\Users\<mezzmouser>\AppData\Local\Conceiva\Mezzmo\Artwork\UserPoster. At least that is the location where I located this folder.

Placing all the images I have in that folder and then indexing (Maintain Library) the Actors playlist seems to produce sporadic results. Enabling web scraping produces a few results, but not very many. Browsing the tables in mezzmo.db I don't see anything jumping out at me with regard to the relationship between actors and images.

Any help would be greatly appreciated!

EDIT: Worth making a note of is that all my videos are locked (all my content is locked immediately once the metadata is indexed and validated).

jbinkley60
03-06-2022, 04:53 AM
Thanks very much! I've been doing some experimentation with this new feature, but I'm not having a great deal of luck. From what I've been able to glean from the threads in the forum, the folder is located at <systemdrive>:\Users\<mezzmouser>\AppData\Local\Conceiva\Mezzmo\Artwork\UserPoster. At least that is the location where I located this folder.

Placing all the images I have in that folder and then indexing (Maintain Library) the Actors playlist seems to produce sporadic results. Enabling web scraping produces a few results, but not very many. Browsing the tables in mezzmo.db I don't see anything jumping out at me with regard to the relationship between actors and images.

Any help would be greatly appreciated!

EDIT: Worth making a note of is that all my videos are locked (all my content is locked immediately once the metadata is indexed and validated).

You don't need to do anything other than place the images in the UserPoster folder. What happens is that Mezzmo will look for the actor image file there first before looking in the normal poster folder at:
<systemdrive>:\Users\<mezzmouser>\AppData\Local\Conceiva\Mezzmo\Artwork\Poster. No maintenance, enabling web scraping or anything else should needed since Mezzmo searches by the actor file name and will find either in UserPoster or poster. If it finds it in both then it will prefer the image in UserPoster. The only difference is the file naming.

In poster it will be: cva_srch-first-last
In UserPoster it will be just: first-last

The best way to test it is to find an actor in UserPoster where you have the same actor file already in the poster folder. Then delete it / rename it in the poster folder and Mezzmo will still serve it out of user poster. The testing part of this can be a little tricky, depending upon your client and client caching. If you are using the Mezzmo Kodi addon a quick way to test, since you have an SQL table viewer is to find the an actor in the actor table and find the art_urls value. Typically they are something like:

"http://192.168.0.34:53168/content/image?imagesearch=Tom+Selleck"

This happens to be one of my Mezzmo servers. You can replace the IP address and the actor name with whatever you want and an actor in the UserPoster table, in this case Tom Selleck for me. If I put this URL in my browser Mezzmo will serve up the image. This will prove UserPoster is working. If you are using the Mezzmo Kodi addon the default cache timer is 30 minutes to clear the image cache. You can either wait up to 30 minutes, look for a message in the log "2022-03-05 13:48:37.056 T:64204 NOTICE: Mezzmo textures cache timers 0 rows updated." or change the "Cache Mezzmo Images" setting to disable which will force the addon to download the images every time. If you do change the setting I wouldn't leave it that way long term to reduce the load on the server and improve the addon performance.


Jeff

hsbrown2
03-06-2022, 01:22 PM
So in my case, I'm just trying to populate the actor artwork for the first time - that is to say, no artists images exist (although there might be a few from my experiments). I don't scrape using Mezzmo, I use Tiny Media Manager to scrape.

I've placed some files in UserPoster for actors that exist, as well as a dump from the zip file. Although a very few, like maybe 10, seem to possibly have worked, the vast majority of them do not show art. Looking at the Actors playlist, most of them (looking in the Mezzmo GUI) show a cover of a random movie in the group of movies associated with the actor.

I'm also not finding an obvious Actor table - the closest I am finding is MGOFileArtist, which just has a list of actors in it, and no URL. I haven't messed with any of the out-of-the-box playlists, so this is the Mezzmo original.

jbinkley60
03-06-2022, 05:50 PM
So in my case, I'm just trying to populate the actor artwork for the first time - that is to say, no artists images exist (although there might be a few from my experiments). I don't scrape using Mezzmo, I use Tiny Media Manager to scrape.

I've placed some files in UserPoster for actors that exist, as well as a dump from the zip file. Although a very few, like maybe 10, seem to possibly have worked, the vast majority of them do not show art. Looking at the Actors playlist, most of them (looking in the Mezzmo GUI) show a cover of a random movie in the group of movies associated with the actor.

I'm also not finding an obvious Actor table - the closest I am finding is MGOFileArtist, which just has a list of actors in it, and no URL. I haven't messed with any of the out-of-the-box playlists, so this is the Mezzmo original.

Peter will need to weigh in here on the tie in between the actor playlist and UserPoster internal to Mezzmo and whether you will see UserPoster images reflected in the actor active playlist in the Mezmo GUI. I don't run the actor active playlist myself. With 60,000+ actors it got unwieldy and having the actor info already in the client or available via a client search, more than meets my needs. I deleted the actor active playlist and Peter did some decoupling between that playlist and what the clients see with poster / UserPoster.

I am focusing on what the clients see, which display the actor images when playing movies. UserPoster works fine on all of my clients including Mezzmo and Kodi. What I would suggest is trying the URL like I mentioned and see if your browser is seeing the right actor artwork and then checking your clients (not sure what they are):

"http://192.168.0.34:53168/content/image?imagesearch=Tom+Selleck"


Jeff

hsbrown2
03-08-2022, 12:39 PM
OK, that works, but it's really difficult to validate, and verify that I have all the actors' images. Do you have a SQL query that will help? I'm OK with that. Even just pointers to the tables I should look at and relationships would be a big help.

jbinkley60
03-08-2022, 09:48 PM
OK, that works, but it's really difficult to validate, and verify that I have all the actors' images. Do you have a SQL query that will help? I'm OK with that. Even just pointers to the tables I should look at and relationships would be a big help.

You bring up a good point, if the goal is to identify missing actor images. I'll give it some thought on how it might be able to be accomplished. I don't think a simple SQL query will work for UserPoster. It might work for the poster folder since I believe the Mezzmo DB maintains a direct pointer to the poster folder for each actor but I know it doesn't for UserPoster. Peter will need to comment here.

One thought might be something which can query the list of actors out of the Mezzmo database into a new SQL database and then import directory listings of poster and UserPoster into the same database. Then SQL join queries could be run to do a quick comparison and identify missing images or current images and which folder they reside

If you have or are willing to load Python on a PC and are interested in this approach I can probably write this fairly quickly.


Jeff

hsbrown2
03-10-2022, 11:32 AM
No worries, I do a lot of work with the Mezzmo db using PowerShell. I just assumed that the images were indexed somewhere and a relationship was created.

What I will probably do in this case is use TMM to scrape them all, then copy them off to the UserPoster folder, etc…then I’ll scan for any missing images.

jbinkley60
03-10-2022, 12:32 PM
No worries, I do a lot of work with the Mezzmo db using PowerShell. I just assumed that the images were indexed somewhere and a relationship was created.

What I will probably do in this case is use TMM to scrape them all, then copy them off to the UserPoster folder, etc…then I’ll scan for any missing images.

I actually have the utility almost fully written.

Here's what it does:


Pulls an actor listing from Mezzmo and normalizes it for comparison to poster and UserPoster
Inserts Mezzmo actor records and normalized records into a table
Pulls UserPoster listing and inserts file into a table
Updates Mezzmo actor record table if there is a UserPoster file match
Pulls Poster listing and inserts file into a table
Updates Mezzmo actor record table if there is a Poster file match


I am finishing up the last 2 items on the list and it might be ready tomorrow for more extensive testing. It's been helpful for me already in that it has found files in UserPoster that has no corresponding actor in Mezzmo. About 30 of my 2,300+ UserPoster files were this way. Most due to special characters or typos in the UserPoster file name.

Here's a sample output of what you see in the command window:

Mezzmo actor comparison v1.0
Mezzo database file location: v:\mezzmo\Mezzmo.db
Mezzmo artwork folder: v:\mezzmo\artwork\
Mezzmo check database completed.
Getting Mezzmo database actor records.
Mezzo actor records found: 68188
Getting Mezzmo UserPoster files.
Mezzo UserPoster files found: 2222
Mezzo UserPoster files without Mezzmo actor: 0

This only takes a few seconds to run on my system.


Jeff

jbinkley60
03-10-2022, 10:22 PM
I have posted the initial release of the Mezzmo Artwork Checker.

You can download it here (https://github.com/jbinkley60/MezzmoArtworkChecker) .

This utility can help you manage your actor / actress artwork. It queries your Mezzmo database
for a listing of actors / actresses and then scans the Poster / UserPoster folders looking for
matching artwork files. The actorArtwork table will show the matches.

The utility also has a CSV export option to export the actorArtwork table.

While this utility does not write to your Mezzmo database, it is always recommended to
backup your Mezzmo.db file prior to running this utility.

Please provide feedback and let me know if you have any issues. I have found this utility to
be very helpful.


Jeff

jbinkley60
03-11-2022, 09:33 AM
I've added a few tweaks Mezzmo Artwork Checker and have posted version1.0.2 (https://github.com/jbinkley60/MezzmoArtworkChecker) .

v1.0.2

- Added an actor no match file output for CSV exports. This CSV file will contain
a listing of all actors / actresses which do not have a Poster or UserPoster
artwork file.
- Changed CSV output file names by appending the hour/minute/second that the CSV
export was done. This will allow keeping of CSV files for historical purposes
vs. overwriting them each time.

v1.0.1

- Fixed performance issue with Poster file scanning due to missing database index
- Changed poster and UserPoster scanning to look for additions during scan vs.
deleting all files and adding them during scanning
- actorArtwork dateAdded field is now the last time the record was updated or
the date/time the Mezzmo actor was added, if no updates have occurred.


If you don't want to run this against your production Mezzmo database you can stop your Mezzmo server and GUI.
Then copy the Mezzmo.db file off to another location and update the Mezzmo Artwork checker configuration file
to this backup copy. It isn't necessary but is an other option for running the checker.

With the performance enhancements in version 1.0.1 I am seeing it take less than 15 seconds to analyze 2,200+
UserPoster files, 48,000+ Poster files and 68,000+ Mezzmo records including generating the CSV files.

The actor no match CSV file is a quick way to see which actors / actresses do not have corresponding artwork.
I may investigate adding an off-line scraping capability for these actor no matches which would create
UserPoster files if it can find images. This is a potential future feature for now since there are many image
scrapers already.


Thanks,

Jeff

jbinkley60
03-14-2022, 08:08 PM
I've uploaded v1.0.3 of the Mezzmo Artwork Checker (https://github.com/jbinkley60/MezzmoArtworkChecker). This version has a couple of
key new features including last checked and status tracking of your actor /
actress artwork. It also adds the ability to retrieve missing artwork from the IMDB
database and put them into a folder called IMDB so you can review them before
moving to the UserPoster folder.


Features:

v1.0.3

- Added last checked tracking and status to the actorArtwork table. You can now
see the last time am actor was checked and the status of the image file.
- Added IMDB actor image fetching with command line option "images". The "images"
option will attempt to fetch properly sized actor / actress images from IMDB,
will name them for the UserPoster file name format and will save them in a folder
called IMDB for review, prior to copying to the UserPoster folder. You can also
limit the number of images fetched each time in the configuration file. The
default is 30 and the maximum is 500.

*** Note the "images" feature requires a valid IMBD API Key in the configuration
file. You can get an IMDB API Key at: https://imdb-api.com/pricing
You can register for a free key which will allow up to 100 images a day. ***


I hope you like the new features and convenience of the IMDB addition. The
additional value of using IMDB is that it is complimentary to the TMDB database
that the internal Mezzmo scraper uses. Now you will have the benefits of
leveraging both databases.

Please let me know if you have any questions or find any issues.


Thanks,

Jeff

jbinkley60
03-17-2022, 01:09 AM
I've uploaded v1.0.4 of the Mezzmo (https://github.com/jbinkley60/MezzmoArtworkChecker) Artwork Checker. This version has a couple of
key new features including the ability to mark bad images and skipping images which
have already been retrieved. It also has fixes for non-ASCII characters and improved
IMDB server error checking.


Features and fixes:

v1.0.4

- Improved IMDB error checking when actor / actress does not exist / not found.
- Fixed IMDB image fetching failures with non-ASCII characters in actor names
- Added new command line option: "bad" followed by the bad actor file name to
indicate the image from IMDB is bad and to not download it again.

Example command: mezzmo_actor.py bad john-doe

This will mark john-doe as a bad image and will not attempt to download again
unless mezzmo_actor.py clean is run to clear the Mezzmo Actor database. This
feature is handy when IMDB has a bad image that you don't like for an actor.
- Added skipping IMDB image fetching for a actor / actress where a valid image
file is already on your Mezzmo server or has already been fetched from IMDB.
- Improved IMDB server error detection for server busy and invalid API key
- Fixed Poster and UserPoster image file information updating after initial
record insertion into the posterFile and userPosterFile tables.


I've done extensive testing on this release checking over 5,000+ IMDB actor /
actress entries. It is also quite fast, going through 500 checks in approximately
20 minutes. Once you've gone through your entire Mezzmo database and moved
the new images into your UserPoster folder, it will be much faster since it will mark
new images as found and will not try to retrieve them on the second pass.

I am looking at possibly adding TMDB as a second but primary image retrieval
source. This way you can check images off-line from Mezzmo using the same
source. If I am able to implement this feature, it would try TMDB first and only
try IMDB if it did not find an image on TMDB. It would mark the image as not
found if it was not in either database. You could also choose only to use IMDB
by not entering an IMDB API Key.

Please let me know if you have any questions or find any issues.


Thanks,

Jeff

ftanner
03-18-2022, 12:29 AM
Might be better to write it in something other than Python as most people running Mezzmo, on Windows, don't have Python installed. Something a little more "universal" to Windows.

jbinkley60
03-18-2022, 01:39 AM
Might be better to write it in something other than Python as most people running Mezzmo, on Windows, don't have Python installed. Something a little more "universal" to Windows.

I understand completely. Maybe that is a longer term option but loading Python on Windows (https://www.python.org/downloads/) is not a heavy lift. However, the feedback is quite fair. I am actually running and testing it on Python running on Windows.


*** Update *** As of a Windows update in 2019 you can now install Python on Windows from the Windows Store. Just type "Python" in the Windows store and it gives you and install option...


Thanks,

Jeff

ftanner
03-19-2022, 01:01 AM
I understand completely. Maybe that is a longer term option but loading Python on Windows (https://www.python.org/downloads/) is not a heavy lift. However, the feedback is quite fair. I am actually running and testing it on Python running on Windows.


*** Update *** As of a Windows update in 2019 you can now install Python on Windows from the Windows Store. Just type "Python" in the Windows store and it gives you and install option...


Thanks,

Jeff

Installing python isn't the issue. It's the whole "needing another third party app to run". That's another app you have to maintain security updates for.

jbinkley60
03-19-2022, 01:49 AM
Installing python isn't the issue. It's the whole "needing another third party app to run". That's another app you have to maintain security updates for.

Understood, especially on the security item. My day job for the past 20 years has been Cybersecurity for large multi-national corporations and general network security (including the military) for the past 40 years. The objective of the Mezzmo UserPoster functionality is to enable you to manage actor artwork outside of Mezzmo. Mezzmo scrapes images and places them into the Poster folder. UserPoster provides a way to add extra artwork and override what Mezzmo scrapes (i.e. you have a better artwork image you like vs. what Mezzmo scraped) without messing with what Mezzmo manages in the Poster folder.. UserPoster was not intended to be a part of Mezzmo, that is role of the Poster folder. I wrote the Mezzmo Artwork Checker as a way to help make the task of managing UserPoster easier with some automation and external to Mezzmo database tracking.

In the next release, I have the TMDB capability written and added with a free API Key. TMDB is what Mezzmo uses so when I post the new version you can run it and see what new artwork was added to TMDB since you added your videos or ran maintenance in Mezzmo. If you add an IMDB key it will try IMDB for any artwork it doesn't find on TMDB. It will check TMDB first. The TMDB site is blazing fast and can go through 500 queries in a couple of minutes. I am finding that TMDB has far less images than IMDB but they tend to be higher quality, which is why you see less artwork in Mezzmo but the quality is generally very good.

I'll likely post version 1.0.5 on Monday with the TMDB feature added. Peter and I are having an off-line discussion on image sizes from TMDB before I release it.


Thanks,

Jeff

jbinkley60
03-22-2022, 08:45 PM
I've uploaded version 1.0.5 (https://github.com/jbinkley60/MezzmoArtworkChecker) of the Mezzmo Artwork Checker. This version has few key
new features including adding TMDB image retrieval, addition of a statistics display
and a number of user friendliness enhancements.

Features and fixes:

v1.0.5

- Added TMDB image fetching. The Mezzmo Addon Checker will check for missing
artwork at TMDB first and if not found will then check IMDB if an IMDB API
key has been entered in the config.txt file. IMDB checking requires an
IMDB API Key which is available at: https://imdb-api.com/pricing
The first 100 IMDB checks per day can be done with a free key. TMDB image
checking is free with the already supplied key in the config.txt file.
*** Do not modify the TMDB API Key information. ***
- Added checking for existing images in the IMDB and TMDB folders. If an actor
/ actress image file exists (i.e. hasn't been copied to the Mezzmo UserPoster
folder yet) it will be detected and skipped vs. being overwritten.
- Improved IMDB artwork matching for records further down in the IMDB API response
- Made all command line arguments case insensitive
- Bad image option can now include file extension or not. (i.e. john-doe or
john-doe.jpg are both good and case insensitive too.)
- Added statistics display at the end of running the Mezzmo Artwork checker. The
stats are a way to gain quick insight without running a CSV export.
- Added UserPoster match "no" status rechecking to see if file pointing to no
Mezzmo actor was removed / renamed.


Managing bad images from IMDB / TMDB is much simpler now. Just drag the bad image
to the "bad images" folder and then run the checker with the bad command line argument.
This will mark it bad in the tracker database. If you later find a good image copy it to
your UserPoster folder, delete it from "bad images" and the tracker will pickup the change
the next time it is run.

Hopefully the statistics view is helpful. It pops up after the Mezzmo Artwork Checker
completes. Here's a sample output:


************ Mezzmo Artwork Checker Stats *************




Last time checker ran:
2022-03-22 04:43:08


Mezzmo actors found:
68663


Mezzmo Poster files found:
48361


Mezzmo Poster files without actor:
10877


Mezzmo UserPoster files found:
5002


Mezzmo UserPoster files without actor:
0


Mezzmo actors with Good Image:
41984


Mezzmo actors with Bad Image:
156


Mezzmo actors with no Image:
26516


Mezzmo actors with no Image found:
1733




Installation and suggested usage instructions can be found here (https://github.com/jbinkley60/MezzmoArtworkChecker#installation-and-usage) on GitHub.


Please let me know if you have questions, find bugs or have recommendations
for improving this tool.


Thanks,

Jeff

jbinkley60
03-28-2022, 04:17 AM
I've uploaded version 1.0.6 (https://github.com/jbinkley60/MezzmoArtworkChecker)of the Mezzmo Artwork Checker. This version has few key
new features and performance enhancements.

Features and fixes:

v1.0.6

- Added detection and marking of actors / actresses which have been removed
from the Mezzmo database. They will be marked deleted in the actorArtwork
table mezzmoChecked column but they will not be deleted from the table. If
they are later added again to Mezzmo, they will be detected. Mezzmo deletions
will be seen in the statistics display at the end. You can get the specific
details with a CSV export.
- Image fetching for TMDB and IMDB will no longer check for images which are
already found on Mezzmo. This will reduce the time required to cycle through
missing images.
- Increased the maximum TMDB / IMDB config file query counts from 500 to 1000.
- Added an IMDB server busy detector to stop fetching after 3 consecutive server
busy responses.
- Minor cosmetic improvements with error messages and the statistics display.

I hope you find the updates helpful and more user friendly. With my own Mezzmo
actor database of over 68,000 entries, I have realized just how handy this tool is.

So far I have added over 6,000+ new images to my Mezzmo instance in the
UserPoster folder. I am 6,500 entries away from my first complete cycle of the
Mezzmo actor database entries. The fist time through is taking awhile to review
the images which have been fetched., I expect the second pass to go much faster
since far fewer images would have likely been added to TMDB / IMDB in the past
couple of weeks.

One enhancement I am considering is the ability to force fetching artwork for
specific actors / actresses. Right now the tool queries TMDB and IMDB by the
actor / actress which has the oldest (or never) last checked update time. I am
thinking of adding the ability for you to create a file, maybe called: "images.txt"
where you can add an entry per line by filename or actor name and the tool would
detect the file and check for artwork for those entries. This would allow quickly
checking a set of actors / actresses without having to check manually or wait
till the tool cycles through the database.

Feedback is welcome.


Thanks,

Jeff

jbinkley60
04-01-2022, 08:25 PM
Version 1.0.7 (https://github.com/jbinkley60/MezzmoArtworkChecker) of the Mezzmo Artwork Checker has been uploaded to GitHub.
This version has few key new features and minor fixes.


Features and fixes:

v1.0.7

- Fixed issue where newly added Mezzmo actors would get marked deleted on
the first run of the Mezzmo Artwork checker after being added and then added
on the second run. Now new Mezzmo actors are first to be queued for missing
artwork.
- Added statistics for the current run of the Mezzmo Artwork Checker, in
addition to the overall statistics. The current run statistics will be
shown fist.
- Added an images command line option to override the config.txt settings
for TMDB / IMDB query count. Now you can specify how many actors to query
on the command line. Otherwise the Mezzmo artwork checker will use the
config file values.

Example command: mezzmo_actor.py images 100 (100 actor image query)


These last few tweaks and minor modifications I have found very handy after
running over 70,000+ image checks against IMDB and TMDB. I hope you find
these enhancements useful.


Feedback is welcome.


Thanks,

Jeff

martyd
04-06-2022, 11:17 AM
It's a great little utility, Jeff. Thanks for making it available to us all.

One thing thing I think may be a bug, though. In the summary after an image search, it always lists IMDB queries as 30, even when it has skipped a number of them due to already having found the image on TMDB.

And a suggested feature, although I don't know how easy it would be to code: create a list (csv) of similarly named actors so we can pick up duplicates due to misspellings. I have found some actors with diacritics (think Michael Bublé) sometime listed without (Buble). Sometimes a middle initial, sometimes not, etc.

jbinkley60
04-06-2022, 09:32 PM
It's a great little utility, Jeff. Thanks for making it available to us all.

One thing thing I think may be a bug, though. In the summary after an image search, it always lists IMDB queries as 30, even when it has skipped a number of them due to already having found the image on TMDB.

And a suggested feature, although I don't know how easy it would be to code: create a list (csv) of similarly named actors so we can pick up duplicates due to misspellings. I have found some actors with diacritics (think Michael Bublé) sometime listed without (Buble). Sometimes a middle initial, sometimes not, etc.

You are correct on the stats for the current run of the utility. The query count for both IMDB and TMDB are simply the count from the configuration file or the command line, if you entered a command line value. I'll give it some thought as to changing it to reflect a true query to IMDB or TMDB. Right now it reflects how many actors were checked and not necessarily API calls / fetches to IMDB / TMDB to do a true image check.

I like your idea on the actors. You can actually do this somewhat now by doing a CSV export and then filtering the actorArtwork table checkStatus column on "No actor match" and then sort the actor column in ascending order. That will get close.

I've been looking at the "No actor found at ..." and missing image results. These are almost all source issues from TMDB which are either typos, differences in spellings etc. except in situations where there are no real images available. There is an ability for accepting results from IMDB / TMDB which are "close matches" of the actor name for the misspellings and similar. Right now the utility does a strict match on the name spelling and role (i.e. actor or self). What I have been pondering is the best way to resolve the source errors. Ideally it would be fix the source at IMDB / TMDB. Next best is manually update the Mezzmo metadata which would require reverse mapping to the Mezzmo entry, updating and then locking it so that a future maintenance activity wouldn't update from the source or creating a user poster entry with a copy of the actor image but with the improper name to match what is in Mezzmo.

I've done the last option a couple of times so far as a test and it's worked. Removing the strict checking (or making it an option) would do the same thing in that the resulting image file would be aligned to the misspelled name which came back from IMDB / TMDB with the image. For the reverse mapping I'd need to pull more info from the Mezzmo database and map it back to the Mezzmo entry to add the data to a CSV export. The other option I have used for testing is simply do a search in the Mezzmo Kodi client for an improper actor name.

I am open to ideas and suggestions. The challenge here is the accuracy of these Internet databases. The good news is this tool can help find the errors.


Jeff

jbinkley60
04-11-2022, 09:28 PM
Version 1.0.8 (https://github.com/jbinkley60/MezzmoArtworkChecker) of the Mezzmo Artwork Checker has been uploaded to GitHub.
This version has few key new features and minor fixes.


Features and fixes:

v1.0.8

- Fixed issue where images for actors deleted from Mezzmo were still being
fetched from TMDB / IMDB.
- Improved current run counters to show number of queries requested vs.
number attempted.
- Added statistics to show Mezzmo actors not found on TMDB/IMDB. These are
often typos and bad data from TMDB/IMDB for specific movies / episodes.



Feedback is welcome.


Thanks,

Jeff

jbinkley60
04-16-2022, 05:28 AM
Version 1.0.9 (https://github.com/jbinkley60/MezzmoArtworkChecker)of the Mezzmo Artwork Checker has been uploaded to GitHub.
This version has a major new feature to help manage your Mezzmo data.


New Feature:

v1.0.9

- Added "noactor" command line option which will provide the Mezzmo data
(i.e. movie title and file name) for any actor / actress which isn't found
on IMDB and TMDB. These are typically typos, improper spellings, other
name variations and similar. Actors deleted from Mezzmo are not included
in the CSV file.


Now you can easily backtrack actors / actresses in Mezzmo to the video / audio
files which have their metadata and decide how you want to resolve.


Feedback is welcome.


Thanks,

Jeff

jbinkley60
07-29-2022, 05:20 PM
Version 1.0.10 (https://github.com/jbinkley60/MezzmoArtworkChecker) of the Mezzmo Artwork Checker has been uploaded to GitHub.
This version has a minor enhancement to address the recent higher than
normal failure rate from IMDB which would cause processing of images to
stop prematurely.


New Feature:

v1.0.10

- Added retry setting in the configuration file for IMDB. Previously the
default would be to stop fetching images after 3 consecutive failures. The
new default is 5 retries and can be set as high as 10.


I've been using this utility for a few months now and have fetched over
12,000 additional images from TMDB / IMDB for actors and actresses.


Feedback is welcome.


Thanks,

Jeff

jbinkley60
10-02-2022, 06:53 PM
Version 1.0.11 (https://github.com/jbinkley60/MezzmoArtworkChecker) of the Mezzmo Artwork Checker has been uploaded to GitHub.
This version has additional enhancements to help manage when higher than
normal failure rates from IMDB occur which would cause processing of images
to stop prematurely or skip actors / actresses.


New Features v1.0.11:


• Changed retry setting to be per actor / actress based vs. session based to
improve image retrieval success rate when IMDB is busy.
• Added IMDB query success rate calculation to quickly see how busy IMDB is
for a retrieval session.


I've been using this utility for a number of months now and have fetched over
13,000 additional images from TMDB / IMDB for actors and actresses.


Feedback is welcome.


Thanks,

Jeff

jbinkley60
11-27-2022, 07:52 PM
Version 1.0.12 (https://github.com/jbinkley60/MezzmoArtworkChecker) of the Mezzmo Artwork Checker has been uploaded to GitHub.
This version has a minor bug fix for the IMDB success rate feature change in
version 1.0.11. It was possible to get success rates higher than 100% with
the previous version.


New Features / Fixes in v1.0.12:


• Fixed IMDB success rate calculation


I've been using this utility for a number of months now and have fetched over
14,000 additional images from TMDB / IMDB for actors and actresses.


Feedback is welcome.


Thanks,

Jeff

jbinkley60
01-03-2023, 07:47 PM
Version 1.0.13 (https://github.com/jbinkley60/MezzmoArtworkChecker) of the Mezzmo Artwork Checker has been uploaded to GitHub.
This version has a major fix for IMDB images fetching due to an API change.


New Features / Fixes in v1.0.13:


• Fixed issue fetching IMDB images due to an IMDB API change implemented on
1/1/2023


I've been using this utility for a number of months now and have fetched over
14,000 additional images from TMDB / IMDB for actors and actresses.


Feedback is welcome.


Thanks,

Jeff

jbinkley60
08-17-2023, 10:57 PM
It was brought to my attention that I hadn't created a Wiki page (https://github.com/jbinkley60/MezzmoArtworkChecker/wiki) for the
Mezzmo artwork checker tool. I've now completed the initial Wiki for this
valuable tool (https://github.com/jbinkley60/MezzmoArtworkChecker) which can help you easily manage your actor / actress artwork
even for very large libraries. My current library has over 88,000+ actor /
actresses in it with 70,000+ associated images.

The new Wiki page (https://github.com/jbinkley60/MezzmoArtworkChecker/wiki) has information on configuring the tool, running the tool,
how it works and information on the CSV outputs (https://github.com/jbinkley60/MezzmoArtworkChecker/wiki/Mezzmo-Artwork-Checker-Data-Export) which provides valuable
data on actor / actresses, what movies / TV episodes they star in, which have
artwork, which don't, what type of artwork and a nice set of statistics (https://user-images.githubusercontent.com/63779136/260859685-537f59dd-c852-47aa-8eae-ed8e7f1ec3ad.jpg)
to help you manage your artwork.

I'll continue to update the new Wiki site over the next week. Feedback is welcome.


Thanks,

Jeff

jbinkley60
10-30-2023, 01:33 AM
Installing python isn't the issue. It's the whole "needing another third party app to run". That's another app you have to maintain security updates for.

I wanted to let you know that I haven't forgotten about this conversation. In the next few weeks I will begin investigation on what it would take to move the Mezzmo Artwork Checker (https://github.com/jbinkley60/MezzmoArtworkChecker) and the Mezzmo Trailer Checker (https://github.com/jbinkley60/MezzmoTrailerChecker) to a compiled binary format which would run natively under Windows.

No commitments yet but I will begin the research.


Thanks,

Jeff

spags65
10-30-2023, 11:57 AM
I am trying to implement artwork script. Everytime i run the script to retrieve 10 images, keep receiving error "The IMDB server appears to be busy or down." Does this happen time to time or do i have something mis-configured?

jbinkley60
10-30-2023, 12:28 PM
I am trying to implement artwork script. Everytime i run the script to retrieve 10 images, keep receiving error "The IMDB server appears to be busy or down." Does this happen time to time or do i have something mis-configured?

Can you send me a private message with a copy of your config file ?


Thanks,

Jeff

jbinkley60
10-30-2023, 08:03 PM
It looks like the issue was a bug with the config parsing for IMDB_KEY where you took out "Your-IMDB-API-Key" and just left it blank. I have published a 1.0.14 test release (https://github.com/jbinkley60/MezzmoArtworkChecker/tree/Test) which fixes this. It will now accept the default value of ""Your-IMDB-API-Key", None or blanks. Please try this and let me know if it works better.


Thanks,

Jeff

ftanner
11-10-2023, 10:21 AM
I wanted to let you know that I haven't forgotten about this conversation. In the next few weeks I will begin investigation on what it would take to move the Mezzmo Artwork Checker (https://github.com/jbinkley60/MezzmoArtworkChecker) and the Mezzmo Trailer Checker (https://github.com/jbinkley60/MezzmoTrailerChecker) to a compiled binary format which would run natively under Windows.

No commitments yet but I will begin the research.


Thanks,

Jeff

That's cool.

jbinkley60
02-23-2024, 06:54 PM
Version 1.0.15 (https://github.com/jbinkley60/MezzmoArtworkChecker) of the Mezzmo Artwork Checker (https://github.com/jbinkley60/MezzmoArtworkChecker/wiki) has been uploaded to GitHub.
This version has 3 minor fixes for the statistics output.


New Features / Fixes in v1.0.15:

• Fixed a bug which would cause a divide by zero error when parsing the statistics
and no IMDB fetch attempts occurred
• Fixed a statistics display bug where the TMDB fetched image counter would increment
when it was skipped due to already being fetched by IMDB
• Added a daily new image counter to the display statistics so you can see new images
added during the current day

I've been using this utility for a couple of years now and have fetched over
16,500 additional images from TMDB / IMDB for actors and actresses.

It is a very easy way to add new artwork to your library without the need to
rescrape your underling movies and TV episodes. You can even set it up as
a batch file to run daily.


Feedback is welcome.


Thanks,

Jeff

See the Mezzmo Artwork Checker Wiki (https://github.com/jbinkley60/MezzmoArtworkChecker/wiki)

martyd
03-20-2024, 05:18 PM
Hi Jeff,

I've come back to this after a break, updated Python and the Artwork Checker, and now it's acting strange. I cleaned the database to start afresh and this is the output:

Mezzmo actor comparison completed successfully.

************ Mezzmo Artwork Checker Stats *************

Last time checker ran:
Mezzmo actors found: 0
Mezzmo actors deleted: 0
Mezzmo Poster files found: 15050
Mezzmo Poster files without actor: 15050
Mezzmo UserPoster files found: 1406
Mezzmo UserPoster files without actor: 1406
Mezzmo actor not found on IMDB/TMDB: 0
Mezzmo actors with Good Image: 0
Mezzmo actors with Bad Image: 0
Mezzmo actors with no Image: 0
Mezzmo actors with no Image found: 0

For some reason it seems to not find any actors in the database.

Here is my config.txt

C:\Users\Marty\AppData\Local\Conceiva\Mezzmo\ # Path to Mezzmo database
C:\Users\Marty\AppData\Local\Conceiva\Mezzmo\artwo rk\ # Mezzmo artwork folder path with trailing \
XXXXXX # IMDB API Key (I've hidden this)
30 # IMDB Query Count - Suggest keeping IMDB and TMDB counts the same
a6898792995042896256585082db0842 # TMDB API Key - Do not modify this line
30 # TMDB Query Count - Suggest keeping IMDB and TMDB counts the same
5 # IMDB retry limit - Maximum value is 10 - Default value is 5

The paths are correct because it is finding the posters.

I tried deleting mezzmo_artwork.db but it made no difference, although first time through I saw a line

no such table actorArtwork

which didn't appear in subsequent attempts.

I would appreciate your insights here.

jbinkley60
03-20-2024, 08:36 PM
Hi Jeff,

I've come back to this after a break, updated Python and the Artwork Checker, and now it's acting strange. I cleaned the database to start afresh and this is the output:

Mezzmo actor comparison completed successfully.

************ Mezzmo Artwork Checker Stats *************

Last time checker ran:
Mezzmo actors found: 0
Mezzmo actors deleted: 0
Mezzmo Poster files found: 15050
Mezzmo Poster files without actor: 15050
Mezzmo UserPoster files found: 1406
Mezzmo UserPoster files without actor: 1406
Mezzmo actor not found on IMDB/TMDB: 0
Mezzmo actors with Good Image: 0
Mezzmo actors with Bad Image: 0
Mezzmo actors with no Image: 0
Mezzmo actors with no Image found: 0

For some reason it seems to not find any actors in the database.

Here is my config.txt

C:\Users\Marty\AppData\Local\Conceiva\Mezzmo\ # Path to Mezzmo database
C:\Users\Marty\AppData\Local\Conceiva\Mezzmo\artwo rk\ # Mezzmo artwork folder path with trailing \
XXXXXX # IMDB API Key (I've hidden this)
30 # IMDB Query Count - Suggest keeping IMDB and TMDB counts the same
a6898792995042896256585082db0842 # TMDB API Key - Do not modify this line
30 # TMDB Query Count - Suggest keeping IMDB and TMDB counts the same
5 # IMDB retry limit - Maximum value is 10 - Default value is 5

The paths are correct because it is finding the posters.

I tried deleting mezzmo_artwork.db but it made no difference, although first time through I saw a line

no such table actorArtwork

which didn't appear in subsequent attempts.

I would appreciate your insights here.

Do me a favor and try version 1.0.16 (https://github.com/jbinkley60/MezzmoArtworkChecker), which I just posted. Since you are using an IMDB key, the URL changed for them. This version fixes it.

Try running it with "mezzmo_actor.py images 5 > logfile.txt" and if it fails to download any images, send me a PM with a copy of the logfile if the logfile doesn't show any counts.

I am working on this tool to add an NFO creator feature to address the recent TMDB metadata issue. I've realized that I need to add a logging facility like the Mezzmo Trailer Checker. That will be coming very soon.


Thanks,

Jeff

martyd
03-21-2024, 07:56 AM
Hi Jeff,

Upgrading to 1.0.16 has fixed it, now finding actors in the db, which wasn't happening before. Thanks very much.

Is the TV-API key the same as IMDB-API key or do I have to get that somewhere else?

jbinkley60
03-21-2024, 10:45 AM
Hi Jeff,

Upgrading to 1.0.16 has fixed it, now finding actors in the db, which wasn't happening before. Thanks very much.

Is the TV-API key the same as IMDB-API key or do I have to get that somewhere else?

It is the same key.. They just changed company names and the URL. I suspect the IMDB folks got after them for trademark or similar. The only thing I don't like about IMDB images is that they aren't as good of quality as TMDB.


Thanks,

Jeff

martyd
03-21-2024, 02:50 PM
Hi Jeff,

It's working great with TMDB but IMDB is giving an error every time:

[WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
Error fetching IMDB image for: Kathleen Heath

I'm assuming my previously used IMDB key is still valid.

jbinkley60
03-21-2024, 06:07 PM
Hi Jeff,

It's working great with TMDB but IMDB is giving an error every time:

[WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
Error fetching IMDB image for: Kathleen Heath

I'm assuming my previously used IMDB key is still valid.

That error indicates you are still pointing to the old URL or you can't reach the new one. If the API key were bad you would get an API key error. This is where I need to add some diagnostic logging and will do so soon.

Take a look at your actor_imdb.py file. You can open it with Notepad. You should see two lines near the top which say:

version = 'version 1.0.16'
baseurl = 'https://tv-api.com/en/API/SearchName/'

If not, then you don't have the right file and didn't replace it from GitHub. If you do have those lines then open a browser and try going to the tv-api website (https://tv-api.com/).


Thanks,

Jeff

jbinkley60
03-21-2024, 06:31 PM
Version 1.0.16 (https://github.com/jbinkley60/MezzmoArtworkChecker) of the Mezzmo Artwork Checker (https://github.com/jbinkley60/MezzmoArtworkChecker/wiki) has been uploaded to GitHub.
This version has 2 fixes for an IMDB API URL change and a minor date/time format change.


New Features / Fixes in v1.0.16:

• Changed last time checker ran output to just hh:mm:ss and dropped the partial secs
• Updated IMDB-API to TV-API URL change (This is a URL only change. Your IMDB API keys
should continue to function normally)

I've been using this utility for a couple of years now and have fetched over
16,900 additional images from TMDB / IMDB for actors and actresses.

It is a very easy way to add new artwork to your library without the need to
rescrape your underling movies and TV episodes. You can even set it up as
a batch file to run daily.


*** Important Note ***

Upcoming version 1.0.17 and beyond will have some major change. A stand-alone
movie file NFO creator (https://github.com/jbinkley60/MezzmoArtworkChecker/wiki/Metadata-Tools) is being added along with fetching movie artwork. This
will be released in phases with the first phase being manual entry of the movie
names, followed by folder level scraping and then eventually scraping new movies
added to the Mezzmo database. A full logging facility, similar to what exists in the
Mezzmo Trailer Checker (https://github.com/jbinkley60/MezzmoTrailerChecker/wiki) will be added.

If anyone would like to help test the NFO creator you can download it here (https://github.com/jbinkley60/MezzmoArtworkChecker/tree/Test).

There are a few limitations on this version which will be improved in the future. It
is limited to US / English, the backdrop / fanart is fixed at 1920x1080 and the poster
artwork is fixed to 500x750. Future releases will add config file options for setting
artwork resolution, language etc..


Feedback is welcome.


Thanks,

Jeff

See the Mezzmo Artwork Checker Wiki (https://github.com/jbinkley60/MezzmoArtworkChecker/wiki)

martyd
03-22-2024, 08:14 AM
Hi Jeff,

I definitely have 1.0.16 with the correct baseurl. I can access the TV-API website, login to my account which still exists, and my key is still the same. The dashboard shows I have made zero calls. I have re-edited my config.txt and made sure there are no extraneous characters following my key, only Tabs to the comment. No fix. I have re-installed 1.0.16 and copy/pasted my info into the config.txt again, but still no fix. The call to TMDB is working ok. Any more ideas?

jbinkley60
03-22-2024, 09:30 AM
Hi Jeff,

I definitely have 1.0.16 with the correct baseurl. I can access the TV-API website, login to my account which still exists, and my key is still the same. The dashboard shows I have made zero calls. I have re-edited my config.txt and made sure there are no extraneous characters following my key, only Tabs to the comment. No fix. I have re-installed 1.0.16 and copy/pasted my info into the config.txt again, but still no fix. The call to TMDB is working ok. Any more ideas?

This error is still indicating a network connection failure.

Try opening a command prompt and type in this command:

nslookup tv-api.com


You should see something like this for a result:

Server: asgard2.thebinks.com
Address: 192.168.0.15

Non-authoritative answer:
Name: tv-api.com
Addresses:
2606:4700:3035::6815:1596
2606:4700:3030::ac43:c74f
104.21.21.150
172.67.199.79


If that works then try entering this command in your browser:


https://tv-api.com/en/API/SearchName/your-api-key/Bruce%20Willis

Just insert your API key above. You should get a bunch of results back for Bruce Willis.

I've spent part of the day adding a logging facility to the Mezzmo Artwork Checker. I am making progress but have a bit more to do.


Thanks,

Jeff

martyd
03-22-2024, 10:06 AM
Jeff,

First part works fine. Second part returns

{"searchType":"Name","expression":"Bruce Willis","results":[],"errorMessage":"Invalid API Key. Upgrade your account to use the service."}

Looks like they are saying I must upgrade to a paid account to use this service, although on my dashboard it says I have a free account with 30 lookups per day.

Edit: I've lodged a ticket with TV-API.

Edit: Reply from TV-API: Hello, unfortunately the free plan was completely removed from the site on July 1, 2023 and it is no longer possible to use the services for free. Sample data for testing is available for download on the API documentation page.

I suppose I'll just have to buy a month and get my db all done in that time. In the meantime I'll get everything I can from TMDB.

jbinkley60
03-22-2024, 11:25 AM
Jeff,

First part works fine. Second part returns

{"searchType":"Name","expression":"Bruce Willis","results":[],"errorMessage":"Invalid API Key. Upgrade your account to use the service."}

Looks like they are saying I must upgrade to a paid account to use this service, although on my dashboard it says I have a free account with 30 lookups per day.

Edit: I've lodged a ticket with TV-API.

Ok. Thanks for confirming. I'll need to do some testing to check for invalid API keys. It's possible that what they return may have changed. I am currently looking for the string 'Invalid API Key'. which they are returning.



Jeff