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.

  • CubitOom@infosec.pubOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    7 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
      link
      fedilink
      English
      arrow-up
      3
      ·
      7 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.pubOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 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?