Duplicate Entries (TMDB/NFO) Not Merged

@james

What the heck is going on here?


So I’m updated to 7.4.3 (4209), my library has fully updated and iTunes has fully synced.

Since Infuse starting allowing local .nfo files to override TMDB derived cast and crew data; something Infuse used to be so good at has completely gone to pot.

When Infuse used only TMDB, everything worked fine. Now that it seems to be using both, it’s a disaster. Even though I only use local .nfo files mostly to edit the displayed titles of movies; to differentiate multiple versions (4K vs HD, Theatrical vs Director’s Cut, etc) and sorttitle tags for file management purposes (and the hope Infuse might someday support them) … I’ve made sure to update (again) all my movie and TV episodes .nfo files with Cast and Crew sourced directly from TMDB — the same place Infuse gets it from.

Here’s what I’ve found. If I’m watching a show … say, Sandman, and then exit to look up someone on the Cast and Crew bar, such as David Thewlis, and click his icon …. only a few titles of his are displayed. Well, that can’t be right, I know I’ve seen that guy in other movies. So I go to Google, see he was famous for being in lots of movies I know I have in my collection, that aren’t showing up in the list generated when clicking on his name. Such as any of the Harry Potter movies, or the 3rd season of Fargo.

So I wonder, what’s wrong with my metadata?

I look up Fargo, go to season 3, pick an episode where he is featured in the thumbnail, and there he is. In the cast and crew bar. Huh. So I click on his picture again, and all the films that showed up before show up again, but none of the missing titles, except this time, Fargo is included.

Next I look up Harry Potter. Google says he was first in the one from 2004, so I click that. And there’s his picture again. I click it. Now all the Harry Potter films he was in were added. But I’m still missing a dozen others. Justice League. Theory of Everything. Seven Years in Tibet. Val. Sonehearst Asylum. War Horse. Wonder Woman. The Zero Theorem. I’m Thinking of Ending it All. One by one, they get added to his picture, but only if I first go to the movie page and view the cast and crew bar.

This is maddening.

And then there was The Big Lebowski. So I click on that one. There he is again. But I’ve got that title in my library twice — one in HD, one in 4K. Only the 4K one I clicked on shows.

This is maddening. So I go to search and search his name. And what do you know? He has two entries. One, clearly derived from TMDB while importing my collection. This one properly lists all his titles which I have in my library, even the HD version of The Big Lebowski next to the 4K one, and another few movies I hadn’t checked manually – Dragonheart, Kingdom of Heaven, The New World, and Red 2.

The other is missing a bunch of titles.

This one is clearly derived from my local TMDB data — which is pretty useless since Infuse isn’t scanning it’s contents in in the background. But Infuse also isn’t using the good data it gets from searching TMDB to populate the list of titles you get from clicking on an actors’s photo.

So, of course, I then searched Nicolas Cage. He’s been in a few movies.

Two listings. One has 6 lines of results —32 titles. The other, 11 lines — 66 titles.

PLEASE add a setting to force the use of either TMDB or local Cast and Crew — and stop allowing both. Every single search I do results in duplicate entries (unless Infuse hasn’t bothered to scan my local nfo because I haven’t opened up a title with that person’s name yet — such as David Theune in my first photo.

This situation is maddening. If I delete all cast and crew references from my local .nfo files, I get zero listed cast and crew — unless I use the search feature. Rubbish.

Please urgently address this.

Thanks.

Here’s another example;

Click on the “Sandman” cast photo for Patton Oswalt:

See 13 results:


Do a manual search for him; get shown two results:

Click one, you get the same 13 titles as when clicking his details page photo. Click the other, you instead get all 26 titles:


And one other thing, @james : the star of “Sandman” is Tom Sturridge. He gets by far the most screen time in every episode. So why does his photo appear in the cast and crew bar for only two of the ten episodes? For any episodes other than episodes 2 and 4, Infuse can’t even tell me the name of the frakking star of the show!

And this is happening EVERYWHERE.

INFUSE IS BROKEN.

EDIT on 8/17/2022 TO CLARIFY the above italicized section:

I’ve since discovered the issue regarding my missing Tom Sturridge (and other primary cast photos) stems from a different, but related deficiency in Firecore’s implementation of cast override support. I’ll explain:

**Since Infuse prior to 7.4 had always ignored the <actor> tags in my local .nfo files, so did I. **

**Prior to 7.4, Infuse simply downloaded cast information for all library titles directly from TMDB, and displayed that — regardless if one had local .nfo metadata files. **

**After 7.4, Infuse still downloads cast information for ALL library files directly from TMDB — it just doesn’t display them on movies or television details pages, if the video files in question are paired with a local .nfo file. It will display the contents of that .nfo file instead. This was all by design. **

What Infuse doesn’t do when respecting local .nfo file <actor> tags is utilize the actor <order> sub-tag, which specifies in which sequence the actors in a movie or tv episode should be listed on Infuse’s Cast & Crew bar (generally, one wants the biggest stars first, and guest stars following, and moving further to the right we eventually get to credited extras — and this is how TMDB arranges them — though Infuse only shows the first 15). Infuse 7.4+ ignores the <order> tag, and simply list actors in the order they appear in the .nfo file. Though this wasn’t made explicitly clear, the <order> tag isn’t present in Infuse’s sample .nfo file, so the whole thing is understandable once you figure that out. Presumably if you edit your own metadata specifically to override cast members, you’d know that. I didn’t use .nfo files for that, so I didn’t. I didn’t have to learn that until everything started going wrong with the display of cast members.

**In any case, the reason my primary cast wasn’t showing up is because I was building my local.nfo files with the Python version of TMDB’s metadata scraper, instead of the older original version. Turns out when the Python version was created in 2008, most everyone was still using TVDB for television. TMDB’s television database was poorly built out, and shows utilizing an anthology format (where main cast changes completely from episode to episode) were misrepresenting single episode guest stars as series regulars … so actors were being shown as appearing in episodes they did not actually take a part in. The Python scraper aimed to address that by moving all series regulars to the bottom of the actor’s list in the .nfo file. This served to elevate guest stars. Today, on Infuse, it serves to hide series regulars because of the lack of <order> tag support. **

The working solution, then, is for anyone effected to rescrape all television .nfo files with the original version of the TMDB scraper. For me, that’s currently one shy of 11,500 episodes. Gah!!

I just looked at this and for me, every episode shows the 4 season regulars and then the next 5 spaces show the varying guest stars for each episode and then the next 5 spaces show the producers, writers, and directors. It matches this page on TMDB

I don’t have any additional nfo or xml files on this show or actors variables elsewhere.

When I do a search on the home page for “patton os” I get only one pic. When I click on that, I get all of the videos in my library that he is in.

I wonder if the additional nfo files are different in some way that is corrupting things.

It sounds like when you place an nfo file with no cast and crew it takes it as you wanting to over ride what TMDB has.

Do you by chance have in your info files the < actor > and < /actor > tags without anything between them? If so, you may want to try deleting them on one of the nfo files and see if Infuse then shows TMDB info. Just brain storming on this if you’re up to the testing. :wink:

1 Like

You can never have too much Nicolas Cage :facepunch:

3 Likes

Or cowbell

1 Like

So, I tried deleting all actor tags from my .nfo files (including the bracketing tags) for every episode of Sandman. Didn’t work. All I see in the cast and crew bar now, is a single item for each episode listing that episode’s director.

@james — what can we do now that we’ve got to either go without cast and crew, or double up on everything, with one set of data providing vastly inferior search results?

I want it back the way it was :sob:.

Just wanted to check, did you do an edit metadata after you cleared all the tags and re-select the correct show?

I first deleted the show and then reinstalled it to a new folder; but yes, I then attempted an edit metadata and nothing changed.

Here’s what I’ve found, @james :

1) If a user has utilized local .nfo files, even if such .nfo files have no <actor></actor> tags, Infuse will now only show (or attempt to show) the user’s local .nfo files’ Cast & Crew details; while hiding (but still downloading) Cast & Crew data sourced from TMDB.

  • This is probably the way the new “feature” was intended to function.

  • (Personally I don’t understand why anyone would want to maintain local lists of Cast & Crew when the best they could hope to do is duplicate what’s already been done on TMDB; but I suppose for a few lesser popular programs where they may find TMDB’s database lacking, they might be inclined to improve such lists for those specific titles … and yet for some reason not want to add their additions to TMDB itself — and in so doing help the greater community who will then benefit from the work they did collecting cast and crew info for movies or television shows where TMDB’s database was deficient … :man_shrugging:t2:)

  • Did the people who wanted local control of Cast & Crew want it for one-off titles with insufficient data on TMDB, or for every title in their entire libraries? And did these people not already use something like Plex or Emby which would permit them to do this in a non-destructive way? Because … there are now issues for users with vanilla Infuse, who need to use .nfo files for other purposes — I require them to alter <title> and <sorttitle> tags, for aesthetics, series management, and primarily, to make up for TMDB’s and Infuse’s lack of support for multiple versions (theatrical vs extended cuts, and/or 4K vs HD) :

2) Infuse continues to download complete Cast & Crew data from TMDB, creating two parallel and presumably very redundant data sets.

  • I know this because every one of the 3,450 movies and 11,303 television episodes currently in my library and indexed by Infuse are paired with local .nfo files — all of which sourced their Cast & Crew data from the same place Infuse does: TMDB.

  • I don’t believe this was the intention of the designers/coders who added this new “feature”.

3) When an Infuse user clicks on a Cast & Crew Bar headshot photo on a movie or TV show’s details page, Infuse displays a list of “all” the other titles in a user’s library which that Cast or Crew member was also a cast or crew member in. Click on “Nicolas Cage’s mug shot, and see all other movies or TV episodes in your collection in which Nicolas Cage also appears in. Easy.

  • This feature is powered by the alternative Cast & Crew database Infuse presumably creates ONLY utilizing data scraped from an Infuse user’s local metadata. Infuse’s background TMDB-sourced data is NOT utilized here.

4) However, were a user to search for “Nicolas Cage” through Infuse’s search feature (where one must type in a person’s name), Infuse shows results gathered both from its Cast & Crew database generated by scraping the user’s local .nfo files, AND the otherwise inaccessible, database Infuse is still sourcing from TMDB in the background, even for titles where local .nfo files exist.

  • Thus, Infuse displays search results drawn from TWO DISTINCT DATABASES, created in parallel, resulting in the doubling up of results delivered for every Cast & Crew member who exists in both databases (as illustrated in my first post above).

5) Infuse NEVER performs a complete scan of all .nfo files in an entire user’s library. Infuse seems to only flesh out this locally-sourced Cast & Crew database “on demand” — adding entries as titles are viewed or otherwise accessed on screen.

6) The only Cast & Crew database Infuse generates to completion on it’s own, in the background, is the “hidden” database it still sources from TMDB — even when a user’s entire library is paired with .nfo files.

7) Infuse never “merges” it’s two distinct Cast & Crew databases. This is why a search for “Nicolas Cage” results in two copies of the same photo of Nicolas Cage (or any other actor or crew member you might search for).

  • Presumably, if my intent to override TMDB-sourced Cast & Crew data was so the I could use a different picture of Nicolas Cage than the one TMDB offers, I’d have two Nicolas Cage entries show up in search — one with the TMDB picture, and one with my preferred picture. The TMDB entry would likely be the more accurate of the two, in terms of results delivered.

  • Presumably, if my intent to override TMDB-sourced Cast & Crew data was so that I could rename Nicolas Cage as “Nick Mother-F—king Cage!!” … I’d similarly have two entries. One for Nicolas, and another for Nick.

….

8) I believe I’ve determined why series regular cast members have stopped appearing in the majority of my television shows’ details page Cast & Crew Bar:

** Infuse does not scan users’s local tvshow.nfo files — the singular files per series which contain data that applies to all seasons and episodes of a series.** *
** As created by my version of Kodi, this is where primary (series regular) cast members are included in local metadata <actor> tags. *
** <actor> tags within each episode’s .nfo files (which Infuse does index) seem to be limited to actors identified as “recurring” or “guest stars”, and are properly specific to each episode.*

EDIT TO ADD: I’ve since learned more —

  • Alternatively, Infuse could add support for actor tags.

  • Or, I can recreate all 11,499 television episode .nfo files in my collection, this time making sure to scrape TMDB with the original version of their Kodi scraper that doesn’t put series/season regular actors last in the generated .nfo files, as the Python based TMDB television scraper does.

  • ** Best case solution (and what should have been done from the start): Allow users the option to continue letting Infuse manage cast and crew.**

The implications of the above listed aspects of this update don’t seem to have been fully thought out before they were implemented.

This update broke Infuse for me in a very meaningful way. The ability to search my complete collection by cast & crew has been second in value to me only to Infuse’s outstanding ability to simply play any file I throw at it.

It still plays all my files exceptionally well. But as a truly awesome manager of and portal to all of my content, it’s taken a huge step back. :disappointed:

@james , PLEASE make it a priority for the very next update to allow users to chose to utilize and display throughout Infuse ONLY the TMDB derived Cast and Crew data that already exist on our AppleTVs since you still are downloading it anyway, even though all my files are paired with .nfo files (for non-Cast & Crew related matters that are also essential to me).

Perhaps the following settings menu entry should be added:

Cast and Crew:
USE TMDB
USE LOCAL
USE (or MERGE) BOTH

  • If you’re going to search both, you might as well merge the duplicates, right?

Thank you for reading.

Thank you double for working to fix this.

When Firecore expanded local .nfo support to recognize and override display of TMDB-sourced cast and crew, Firecore didn’t code Infuse to stop collecting cast and crew data from TMDB, nor build in a way for Infuse to recognize and merge duplicate entries between the two distinct databases Infuse now creates.

Further, Infuse does a poor job of gathering complete cast and crew from local .nfo files. So when one does a search (by selecting a headshot on the Cast and Crew Bar) the results are incomplete.

Complete results can be found through text-entry searches … but only if you choose the correct headshot. There will be two to choose from.

Text search now gives separate results from the TMDB-derived database, and the local .NFO file-derived one. It does NOT consolidate the results.

Example: Searching my collection for David Attenborough documentaries by clicking on his headshot reveals only 12 titles, when I actually have 29 such titles — as Infuse already knows, but won’t show me, unless I do a text search, and select the correct David Attenborough result.

Duplicated text-search results:

Incomplete search results from Infuse database scraped from local .nfo files:

Complete search results from alternate Infuse database scraped from TMDB:

*Edited because I felt like I first posted about this weeks ago, but only just realized since my previous post, nothing has transpired but a weekend. :grimacing::man_facepalming:t2:

So I’ve spent far too much time today figuring this out but have confirmed the cause.

Simply, as Infuse is currently operating, if you have an .nfo file — regardless if you have <cast> tags in it — Infuse will by default, display only what it finds in your .nfo files. If you have no cast in your info files, no cast will be displayed.

(Meanwhile, Infuse still builds and maintains its own separate database of cast and crew — sourced as before by querying TMDB in the background — but this database is hidden from view. Only through text search can the user access that information. Plenty more on this in previous posts.)

So: why did the main cast members for all the shows in my collection suddenly disappear from the Cast & Crew Bars of each of the 11,459 unique episodes?

Because previously that information came from TMDB (Infuse’s background acquired database) … now it’s coming from my local .NFO files. And my episode-level info files do not include main cast members — only recurring players and guest stars (all actors who don’t appear in every episode of a series).

I generated those .NFO files in Kodi — which scraped the information from TMDB (same as Infuse). In fact, I’ve scraped them all anew in the past year specially to make sure the content of my local data (particularly, movie and TV show titles and dates, and episode numbering) matched that on TMDB — solely to aid scraping in Infuse.

Turns out Kodi, to save digital space, doesn’t think it necessary to include series regulars in the .nfo files it creates for each specific episode of a series. Instead, Kodi creates one additional .nfo file for each series — always named “tvshow.nfo” — that it places in the primary folder of each TV series; and in this file it names the cast members who appear in every episode.

When Kodi displays the cast and crew for a specific episode, it will pull that information from both the primary “tvshow.nfo” file, and the specific “(series name) - SxxExx - (episode title).nfo” file.

Infuse apparently ignores the “tvshow.nfo” file.

….

So I spent another day frustrating myself trying to figure out TinyMediaManager.

Gods, I hate that program. It overwrites your existing data constantly and NEVER gives you a warning if the next button you push will cause it to do that.

I spent a LOT of time searching for and choosing and often CREATING my own well matched poster, season poster, and fanart images (all of my 4K titles, for example, use the exact same 2000x3000 poster template; because mismatched ones bother the heck out of me) TMM just makes them disappear without warning. Kodi never does that. I had to recreate a lot of art (or pull it back down from TMDB, where I usually, but not always, upload it) after it wiped me out a couple times.

But TMM will include primary cast members in the per-episode .nfo files, so that’s something. I finally managed to get it working (carefully) and update my .nfo files for a few Television Series to Infuse’s liking (as a test, and proof of process) … but it scares me to think of having to give this psychotic software access to my entire television collection just to get back the functionality I already had before Infuse added this new “feature”. And how updating all my .nfo files through TMM will likely takes hours — or days worth of effort.

I don’t want to have to do it. And even if I do, it will only make Infuse’s issue with duplicating cast and crew entries (when searching) even worse.

Infuse broke itself. It needs to be fixed.

And what’s going on here??

Look at the headshot of Michael Dorman. It bounces up and down through various episodes of “For All Mankind” Season 2.

They both link to the same (duplicated) Michael Dorman listing in the database (as shown in the search box — there is not an extra entry with a different spelling or headshot attached). I don’t save Cast & Crew photos locally — any headshots used by Infuse, were gathered by Infuse.

About the „Double Actors“:
This happens if you use mixed Movies (some from TMDB without NFO/XML, some with XML, some with NFO)…

This could not be merged together and that is why the „Double Actors“ appear…

The Solution is to use NFO-Files only for every single Movie. Then the Actor only appear once!

It seems every „Type“ use a different Database!
XML, NFO and the online TMDB.

This is not true.

I do have .nfo files for every single movie and TV show episode.

That doesn’t stop Infuse from still downloading its normal database from TMDB for my entire library.

I know I wrote an awful lot, but that was because I wanted to clearly explain everything I learned.

Mhhh, that’s strange. My NFO-Files all work correctly and I only see the Data which I have overridden with that Files. And I correctly see only the pictures I have set with an http-Link :thinking:

But what happens when you do a text-search? Still only one name?
When you click on one of your nfo added cast members, does it show you every other title in your collection that person appears in? Because that’s not my experience.

I searched for “John”. Hundreds of results. (John’s, Johnson’s, etc.)
Most duplicated.

I have to say I’m currently still in the process of building my Library.

You are right, if I directly search for an Actor, I still get duplicate Results…

But the PrePlaybackScreens working correctly if the Actor correctly is overridden with an NFO-File. Then I can show other Series/Movies with that Actor.

1 Like

Thanks for confirming the duplicates. :+1:t3:

Yup — the playback screen with the actor overridden — that will show results, but I suspect only other movies or shows where that actor is also overridden?

In my case, where ALL actors are overridden, I’ve been finding over and over again that when I check actors I know have lots of parts in lots of my movies … Nicolas Cage, Brad Pit, Bruce Willis, Samuel L. Jackson, etc… that list will never show ALL applicable titles. Sometimes dozens are missing. But no matter who I check, even if they should only show up in a couple titles in my full collection; often the list isn’t there at all.

I noted two things:

First; if I did a text search; one of the entries (pulled by Infuse from TMDB data), will always have the complete list of all titles in my collection. The other entry will usually have less; perhaps far less. This entry is the one Infuse builds from scraping my NFO files, and is the source of the titles listed when you select a photo from the pre-playback screen.

Second; The NFO-based database does not scan to completion before Infuse status indicates it has completed building it’s library. It seems to scan on demand.

If I click on Die Hard, and then on Bruce Willis; Depending on how long I’ve been scrolling through my collection, I may see several, or many of his titles. But I might notice other movies are missing: perhaps later Die Hard movies, or 12 Monkeys, or The Fifth Element, or Moonrise Kingdom, or The Sixth Sense — all movies I know I have in my Collection.

But if I navigate to The Sixth Sense, and click on Bruce’s name, that movie will be added to the list. In fact, I can navigate to The Fifth Element and then 12 Monkeys without clicking on any names, and then navigate to Moonrise Kingdom and click on Bruce, and all three titles I visited will now also be in the list.

Essentially, if I slowly went through the main Movies list, just highlighting each title in turn, I could force Infuse to scrape my entire collection and THEN both lists will be the same; and EVERY actor searched duplicated.

You might not even need to all that. It might be enough just to get Infuse to notice the title, to force it to scrape your local artwork, turning those gray squares into posters. I haven’t tested this fully, but I’m not convinced that alone is enough.

I can also confirm the duplicates. I nearly have 11000 Movies, so guess the fun I am having.

For me this has been a problem a long Time, at least a couple of Months, and with every update, you are crossing your Fingers.

Furthermore I am a collector of weird, bizarre and obscure cinema, primarily Horror, and many castmembers do not show up (I guess, the more unknown status, the less info or none at all because of the Database).

Regards

1 Like

Oh boy! I can extrapolate … :flushed::grimacing: … my tally this morning stands at 3,458 movies, and 11,499 television episodes.

Thank you for confirming the doubles!

:crossed_fingers:t3:Crossing my fingers Firecore will be inspired to finish cooking this (presumably long awaited) fulfilling of users’ request to accommodate local cast and crew overrides. Love that they were responsive; regret I wasn’t party to the beta where I could have perhaps pointed out the problems I’ve discovered with the implementation prior to it going live.

Following the guidelines about the custom XML metadata I have the following entry for a TV Show under the cast tag:

<cast>
  <name>Kevin McCloud</name>
</cast>

The question is simple: How do I link that author with the author appearing in TMDB? Apparently the search is not by name, because using only the name I can’t see the thumbnail or is linked with the other episodes. In fact, Kevin is a Host, not an actor.

I had been searching in the forums about this, but the XML metadata format is not really well documented, any help will be nice.

1 Like