I love Jellyfin. I did think these recommendations were a bit funny however since they were so off.
Maybe the recommendations need to also look at the movies mpaa rating? Like something PG shouldn’t be recommended after watching an R and especially not vice versa.
I guess it becomes complex quickly if you want to add other rating systems to the mix.
How much content do you have? It can only do so much when the options are few lol
Just over 1000 fims
Heh. Jellyfin sees “Inside Out” very differently than I did…
Hey, I’ve worked in the recommendations/similarity calculations. Could you post a screenshot of the detail page for Inside Out? I suspect your media doesn’t have associated metadata (e.g. tmdb tags) that are used to power similarity calculations.
I’m not 100% sure what the detail page is but here is the page I see when selected.
I think I have Jellyfin mostly at the default setings, with one exception. I did change the name of the key for the rating variable in the metadata to be ‘MPAA rating’ instead of the default which I think was ‘rating’ before since I found it confusing. So if the current recommendation calculation is using that variable then I guess it would be null for all my media.
Also, here is the metadata jellyfin shows.
Inside Out (2015) Container: mkv Path: /mnt/ext4/film/film/Movies/Inside Out (2015).mkv Size: 5022 MB Subtitle Title: Italiano Forced - Default - SUBRIP Language: ita Codec: SUBRIP Default: Yes Forced: Yes External: No Video Title: Video 2160p - 4K - HEVC - HDR Codec: HEVC Profile: Main 10 Level: 150 Resolution: 3840x2160 Aspect ratio: 16:9 Interlaced: No Framerate: 23.976025 Bitrate: 7401 kbps Bit depth: 10 bit Video range: HDR Video range type: HDR10 DV title: DV Profile 8.1 (HDR10) DV version major: 1 DV version minor: 0 DV profile: 8 DV level: 6 DV rpu preset flag: 1 DV el preset flag: 0 DV bl preset flag: 1 DV bl signal compatibility id: 1 Color space: bt2020nc Color transfer: smpte2084 Color primaries: bt2020 Pixel format: yuv420p10le Ref frames: 1 Audio Title: Italiano AC-3 5.1 - Dolby Digital - Default Language: ita Codec: AC3 Layout: 5.1 Channels: 6 ch Bitrate: 448 kbps Sample rate: 48000 Hz Default: Yes Forced: No External: No Audio Title: English AC-3 5.1 - Dolby Digital Language: eng Codec: AC3 Layout: 5.1 Channels: 6 ch Bitrate: 640 kbps Sample rate: 48000 Hz Default: No Forced: No External: No Subtitle Title: English Forced - SUBRIP Language: eng Codec: SUBRIP Default: No Forced: No External: No Subtitle Title: Italiano - SUBRIP Language: ita Codec: SUBRIP Default: No Forced: No External: No Subtitle Title: English - SUBRIP Language: eng Codec: SUBRIP Default: No Forced: No External: No
PS: I scrape my metadata from themoviedb.org in Kodi and then export that to an xml file of the same name, Jellyfin seems to find and use that.
https://github.com/jellyfin/jellyfin/blob/31aa44d23d12b5dbb5f9a131242cc82c9ef98f24/Emby.Server.Implementations/Data/SqliteItemRepository.cs#L2279 is what’s discovering similar content. If the
InheritedParentalRatingValue
is considered zero, it’s only going to match other content with the same value. Can you elaborate on “I did change the name of the key for the rating variable in the metadata to be ‘MPAA rating’ instead of the default which I think was ‘rating’ before since I found it confusing.”? I suspect we’re zeroing (ha ha) in on the problem.Digging in a bit. It looks a bit different than I thought it did on my end.
I periodically use Kodi to backup my metadata to an NFO file. But I guess I forgot to script that and haven’t actually done that in a while. When Kodi scrapes the metadata it preprends the
mpaa
value with the stringMPAA Rated
. I did this to make it more obvious if the rating was scraped correctly since I’ve seen kodi attempt to scrape before but then just record the value as null.-
Inside Out didn’t have an NFO that Jellyfin was reading from. But Jellyfin is set to scrape its own metadata from all avaliable sources. I just didn’t enable it to write its own NFO file since I want the files that Kodi makes to take precidence and not be overwritten be Jellyfin. So for the case of insde out, it’s pulling the correct rating without any changes. As seen in this desktop screenshot.
-
A Boy and His Dog, on the other hand does have a nfo from Kodi and it does have that MPAA rating on jellyfin with the prepended string as seen in this screenshot and in this bit from the nfo file.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <movie> <title>A Boy and His Dog</title> <originaltitle>A Boy and His Dog</originaltitle> <ratings> <rating name="themoviedb" max="10" default="true"> <value>6.300000</value> <votes>309</votes> </rating> </ratings> <userrating>0</userrating> <top250>0</top250> <outline>A young man and his telepathic dog wander a post-apocalyptic wasteland.</outline> <plot>Set in the year 2024 in post-apocalyptic America, 18-year old Vic and his telepathic dog, Blood, are scavengers in the desolate wilderness ravaged by World War IV, where survivors must battle for food and shelter in the desert-like wasteland. Vic and Blood eke out a meager existence, foraging for food and fighting gangs of cutthroats.</plot> <tagline>A rather kinky tale of survival.</tagline> <runtime>90</runtime> <thumb aspect="poster" preview="https://assets.fanart.tv/preview/movies/4917/movieposter/a-boy-and-his-dog-5e3fe50ad3787.jpg">https://assets.fanart.tv/fanart/movies/4917/movieposter/a-boy-and-his-dog-5e3fe50ad3787.jpg</thumb> <mpaa>MPAA Rated R</mpaa>
- Burning has a nfo file from Kodi. But the MPAA key is null in the NFO file. So there is no prepended string. However jellyfin still scraped the MPAA rating for it’s self and correctly labeled it as seen in this screenshot and nfo.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <movie> <title>Burning</title> <originaltitle>버닝</originaltitle> <ratings> <rating name="themoviedb" max="10" default="true"> <value>7.400000</value> <votes>1440</votes> </rating> </ratings> <userrating>0</userrating> <top250>0</top250> <outline>Jong-su bumps into a girl who used to live in the same neighborhood, who asks him to look after her cat while she's on a trip to Africa. When back, she introduces Ben, a mysterious guy she met there, who confesses his secret hobby.</outline> <plot>An aspiring writer goes to the airport to pick up a high school friend returning from a trip to Africa but is disheartened to see her with another man.</plot> <tagline>The truth is all in your head.</tagline> <runtime>148</runtime> <thumb aspect="poster" preview="https://image.tmdb.org/t/p/w500/kXiF80o74fE9gf3Utf9moAI7ar0.jpg">https://image.tmdb.org/t/p/original/kXiF80o74fE9gf3Utf9moAI7ar0.jpg</thumb> <mpaa></mpaa>
So I guess I have 2 questions.
- Does the string I put in the rating distort the recommendation system?
- Does the recommendation system prioritize a local nfo file even if the value for the MPAA key is null when jellyfin actually has the correct rating in its cache?
Yes, modifying the value is going to break the mappings (see https://github.com/jellyfin/jellyfin/blob/master/Emby.Server.Implementations/Localization/Ratings/us.csv). Anywho, I think we’ve discovered the root of your problem. How you choose to rectify it I leave to you! Personally, I’d recommend suffixing your filenames with
[
as per ]https://jellyfin.org/docs/general/server/media/movies/ and letting themoviedb.org handle it all for you.
-
Huh. I saw cashback many years ago on tv or something but could never figure out the name even after a lot of googling. And here we are I’ve finally found it thanks to you. Maybe I’ll give it another watch. For a long time I’ve thought about the thing of not looking at the clock when doing unpleasant activities. Thanks!
It’s a pretty decent movie. Towards the end it kind of goes off the path it started on but otherwise a good watch.
Man cashback is such a good movie. I’m legit surprised to see it pop up randomly on a post here! Excellent taste! I’m gonna have to go rewatch that now.