133
submitted 5 months ago by CubitOom@infosec.pub to c/jellyfin@lemmy.ml

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.

you are viewing a single comment's thread
view the rest of the comments
[-] bradbeattie@lemmy.ca 6 points 5 months ago

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.

[-] CubitOom@infosec.pub 1 points 5 months ago* (last edited 5 months ago)

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.

[-] bradbeattie@lemmy.ca 3 points 5 months ago

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.

[-] CubitOom@infosec.pub 1 points 5 months ago

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 string MPAA 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.

  1. 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.

  2. 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>

  1. 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&apos;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.

  1. Does the string I put in the rating distort the recommendation system?
  2. 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?
[-] bradbeattie@lemmy.ca 6 points 5 months ago

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 [tmdbid-123456] as per https://jellyfin.org/docs/general/server/media/movies/ and letting themoviedb.org handle it all for you.

this post was submitted on 06 Jun 2024
133 points (98.5% liked)

Jellyfin: The Free Software Media System

5714 readers
3 users here now

Current stable release: 10.10.0

Community Standards

Website

Forum

GitHub

Documentation

Feature Requests

Matrix (General Information & Help)

Matrix (Announcements)

Matrix (General Development)

Matrix (Off-Topic) - Come get to know the team and blow off steam!

Matrix Space - List of all the available rooms on Matrix.

Discord - Bridged to our Matrix rooms

founded 4 years ago
MODERATORS