Movie identification mostly fails if file name contains modifiers such as "remastered" #7225

Open
opened 2025-12-22 05:25:30 +01:00 by backuprepo · 7 comments
Owner

Originally created by @eomanis on GitHub (Aug 6, 2025).

Description of the bug

Movie identification mostly fails if, in the file's name, the movie's name is followed by a modifier such as

  • remastered
  • digitally.remastered
  • uncut
  • unrated
  • limited
  • theatrical
  • extended
  • extended.cut
  • directors.cut
  • dc
  • recut
  • bootleg

and similar such terms.

Presumably, when asking an external service for identification, these terms are sent along with the proper movie name, thereby confusing the service and leading to no results.

Such modifier terms should instead be denylisted and cut off, or, if no identification could be achieved with them included, another attempt should be made without them.

Reproduction steps

  1. Drop a movie file having a file name with such a modifier in it into a directory that is indexed by a Jellyfin library of type "Movies"

What is the current bug behavior?

Jellyfin usually fails to identify movies whose files' names contain any of the listed modifier terms, leading to fallback entries having the file name as title and a captured frame as picture

What is the expected correct behavior?

Jellyfin correctly identifies these movies

Jellyfin Server version

10.10.0+

Specify commit id

No response

Specify unstable release number

No response

Specify version number

10.10.7

Specify the build version

Release

Environment

- OS: Arch Linux
- Linux Kernel: 6.12.41-1-lts
- Virtualization: None (bare metal systemd service)
- Clients: Various
- Browser: Firefox 141.0
- FFmpeg Version: 7.1.1p7 (jellyfin-ffmpeg-1:7.1.1p7-1 Arch Linux package)
- Playback Method: Does not apply
- Hardware Acceleration: Does not apply
- GPU Model: Intel ARC A380
- Plugins: None
- Reverse Proxy: Caddy 2.10.0 (caddy-2.10.0-3 Arch Linux package)
- Base URL: None, or / (has own subdomain)
- Networking: Through reverse proxy exclusively via Unix socket
- Jellyfin Data Storage: NVME SSD
- Media Storage: Linux Software RAID
- External Integrations: None

Jellyfin logs

Could not pinpoint the log area where such an identification failed

FFmpeg logs


Client / Browser logs

No response

Relevant screenshots or videos

No response

Additional information

No response

Originally created by @eomanis on GitHub (Aug 6, 2025). ### Description of the bug Movie identification mostly fails if, in the file's name, the movie's name is followed by a modifier such as - remastered - digitally.remastered - uncut - unrated - limited - theatrical - extended - extended.cut - directors.cut - dc - recut - bootleg and similar such terms. Presumably, when asking an external service for identification, these terms are sent along with the proper movie name, thereby confusing the service and leading to no results. Such modifier terms should instead be denylisted and cut off, or, if no identification could be achieved with them included, another attempt should be made without them. ### Reproduction steps 1. Drop a movie file having a file name with such a modifier in it into a directory that is indexed by a Jellyfin library of type "Movies" ### What is the current _bug_ behavior? Jellyfin usually fails to identify movies whose files' names contain any of the listed modifier terms, leading to fallback entries having the file name as title and a captured frame as picture ### What is the expected _correct_ behavior? Jellyfin correctly identifies these movies ### Jellyfin Server version 10.10.0+ ### Specify commit id _No response_ ### Specify unstable release number _No response_ ### Specify version number 10.10.7 ### Specify the build version Release ### Environment ```markdown - OS: Arch Linux - Linux Kernel: 6.12.41-1-lts - Virtualization: None (bare metal systemd service) - Clients: Various - Browser: Firefox 141.0 - FFmpeg Version: 7.1.1p7 (jellyfin-ffmpeg-1:7.1.1p7-1 Arch Linux package) - Playback Method: Does not apply - Hardware Acceleration: Does not apply - GPU Model: Intel ARC A380 - Plugins: None - Reverse Proxy: Caddy 2.10.0 (caddy-2.10.0-3 Arch Linux package) - Base URL: None, or / (has own subdomain) - Networking: Through reverse proxy exclusively via Unix socket - Jellyfin Data Storage: NVME SSD - Media Storage: Linux Software RAID - External Integrations: None ``` ### Jellyfin logs ```shell Could not pinpoint the log area where such an identification failed ``` ### FFmpeg logs ```shell ``` ### Client / Browser logs _No response_ ### Relevant screenshots or videos _No response_ ### Additional information _No response_
backuprepo added the
stale
bug
labels 2025-12-22 05:25:30 +01:00
Author
Owner

@cmbarba commented on GitHub (Aug 7, 2025):

Are you following the recommended naming format?
https://jellyfin.org/docs/general/server/media/movies/#multiple-versions
Image

I have my media named this way with modifiers/tags at the end of the file name, separated by a " - " from the title and year. I rarely have title parsing issues.

@cmbarba commented on GitHub (Aug 7, 2025): Are you following the recommended naming format? https://jellyfin.org/docs/general/server/media/movies/#multiple-versions <img width="989" height="166" alt="Image" src="https://github.com/user-attachments/assets/86047580-703c-43ce-b236-ef510097c54f" /> I have my media named this way with modifiers/tags at the end of the file name, separated by a " - " from the title and year. I rarely have title parsing issues.
Author
Owner

@eomanis commented on GitHub (Aug 7, 2025):

Are you following the recommended naming format? https://jellyfin.org/docs/general/server/media/movies/#multiple-versions

I must admit that I currently am not.

I have all movies in a single flat directory that does not contain subdirectories.
They are overwhelmingly named like

  • Best.Movie.Ever.2019.German.DL.DTS.1080p.BluRay.x264-SOMETHiNG.mkv
  • Another.Good.Movie.Directors.Cut.2014.German.DL.DTS.1080p.BluRay.x264-SOMETHiNG.mkv

In this example, the identification would typically fail for "Another Good Movie".

@eomanis commented on GitHub (Aug 7, 2025): > Are you following the recommended naming format? https://jellyfin.org/docs/general/server/media/movies/#multiple-versions I must admit that I currently am not. I have all movies in a single flat directory that does not contain subdirectories. They are overwhelmingly named like - Best.Movie.Ever.2019.German.DL.DTS.1080p.BluRay.x264-SOMETHiNG.mkv - Another.Good.Movie.Directors.Cut.2014.German.DL.DTS.1080p.BluRay.x264-SOMETHiNG.mkv In this example, the identification would typically fail for "Another Good Movie".
Author
Owner

@TheMelmacian commented on GitHub (Aug 7, 2025):

In this example you could try to switch the year and Directors.Cut, if the identification works for "Best.Movie.Ever" but not for "Another.Good.Movie".

You could also add metadata provider IDs to help jellyfin identifying the movies: https://jellyfin.org/docs/general/server/media/movies/#metadata-providers

But the recommended (folder based) naming schema has some advantages.

  • all metadata files (*.nfo files, covers/posters, logos etc.) are saved alongside the movie and can be found in the same folder (if enabled)
  • easy way to add extras for a movie
  • alternate versions can be simply added without the need to change the folder structure or to manual merge them via the GUI.
@TheMelmacian commented on GitHub (Aug 7, 2025): In this example you could try to switch the year and Directors.Cut, if the identification works for "Best.Movie.Ever" but not for "Another.Good.Movie". You could also add metadata provider IDs to help jellyfin identifying the movies: https://jellyfin.org/docs/general/server/media/movies/#metadata-providers But the recommended (folder based) naming schema has some advantages. - all metadata files (*.nfo files, covers/posters, logos etc.) are saved alongside the movie and can be found in the same folder (if enabled) - easy way to add extras for a movie - alternate versions can be simply added without the need to change the folder structure or to manual merge them via the GUI.
Author
Owner

@eomanis commented on GitHub (Aug 7, 2025):

In this example you could try to switch the year and Directors.Cut, if the identification works for "Best.Movie.Ever" but not for "Another.Good.Movie".

I would prefer to not modify the existing file names as they all appear to follow a naming convention that I am reluctant to deviate from.
I strongly suspect that whoever named them the way they are had a good reason to do so.

Also it may cause problems later on, e. g. when trying to match the contents of two directories that should be merged.

That being said, I am cautiously open-minded about having a directory for each movie, provided that the files' names inside them can remain as they are now.
A drawback would of course be that it would be harder, using a regular file manager, to discern what e. g. quality or language(s) a movie has.

@eomanis commented on GitHub (Aug 7, 2025): > In this example you could try to switch the year and Directors.Cut, if the identification works for "Best.Movie.Ever" but not for "Another.Good.Movie". I would prefer to not modify the existing file names as they all appear to follow a naming convention that I am reluctant to deviate from. I strongly suspect that whoever named them the way they are had a good reason to do so. Also it may cause problems later on, e. g. when trying to match the contents of two directories that should be merged. That being said, I am cautiously open-minded about having a directory for each movie, provided that the files' names inside them can remain as they are now. A drawback would of course be that it would be harder, using a regular file manager, to discern what e. g. quality or language(s) a movie has.
Author
Owner

@TheMelmacian commented on GitHub (Aug 7, 2025):

I strongly suspect that whoever named them the way they are had a good reason to do so.

Movie name, year, metadata (resolution, language, audio/video codecs, ...), source (BluRay, WebRip etc.) and probably the name of the ripper/provider/releasegroup.

You can keep all information even when using the recommended format:
Another.Good.Movie.Directors.Cut.2014.German.DL.DTS.1080p.BluRay.x264-SOMETHiNG.mkv
--> Another Good Movie (2014) - Directors Cut [German.DL.DTS.1080p.BluRay.x264-SOMETHiNG].mkv

Or add the provider ID:
Another.Good.Movie.Directors.Cut.2014.German.DL.DTS.1080p.BluRay.x264-SOMETHiNG.[tmdbid-12345].mkv

If you really don't want to change the file names, you can always identify the affected movies manually over the GUI.

@TheMelmacian commented on GitHub (Aug 7, 2025): > I strongly suspect that whoever named them the way they are had a good reason to do so. Movie name, year, metadata (resolution, language, audio/video codecs, ...), source (BluRay, WebRip etc.) and probably the name of the ripper/provider/releasegroup. You can keep all information even when using the recommended format: Another.Good.Movie.Directors.Cut.2014.German.DL.DTS.1080p.BluRay.x264-SOMETHiNG.mkv --> Another Good Movie (2014) - Directors Cut [German.DL.DTS.1080p.BluRay.x264-SOMETHiNG].mkv Or add the provider ID: Another.Good.Movie.Directors.Cut.2014.German.DL.DTS.1080p.BluRay.x264-SOMETHiNG.[tmdbid-12345].mkv If you really don't want to change the file names, you can always identify the affected movies manually over the GUI.
Author
Owner

@brianppoole commented on GitHub (Aug 7, 2025):

If you're using Radarr, you can set it up to automatically rename the file to Jellyfin's conventions. At the very least, even if you're not using it to hydrate your library, it can help organize and standardize your filenames. IIRC you can also include the release group, etc.

In general, I wouldn't rely too much on the details in the naming conventions of the filenames you're looking at. Yes, it's significantly better over the years, but there's no centralized standard and it can lead to some clients (e.g. Jellyfin) getting confused while trying to parse it. I find it better to have a UI dedicated to organizing it ahead of time so a human can be presented with a decision to make when there are issues like the one you're having.

@brianppoole commented on GitHub (Aug 7, 2025): If you're using Radarr, you can set it up to automatically rename the file to Jellyfin's conventions. At the very least, even if you're not using it to hydrate your library, it can help organize and standardize your filenames. IIRC you can also include the release group, etc. In general, I wouldn't rely too much on the details in the naming conventions of the filenames you're looking at. Yes, it's significantly better over the years, but there's no centralized standard and it can lead to some clients (e.g. Jellyfin) getting confused while trying to parse it. I find it better to have a UI dedicated to organizing it ahead of time so a human can be presented with a decision to make when there are issues like the one you're having.
Author
Owner

@jellyfin-bot commented on GitHub (Dec 6, 2025):

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

@jellyfin-bot commented on GitHub (Dec 6, 2025): This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs. If you have any questions you can use one of several ways to [contact us](https://jellyfin.org/contact).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#7225
No description provided.