Jellyfin Forum
file naming & data models - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Off Topic (https://forum.jellyfin.org/f-off-topic)
+--- Forum: General Discussion (https://forum.jellyfin.org/f-general-discussion)
+--- Thread: file naming & data models (/t-file-naming-data-models)



file naming & data models - df1ad - 2024-04-01

Why in jellyfin (and most related media software) is there such a big reliance on file naming and directory structures? The actual data model seems to be more defined by a bunch of heuristics for how to handle various objects / cases. I know it can be helpful in an initial import if you happen to have a nicely named collection already. Personally I'd rather put in the time to write nice machine-readable descriptions (like NFO) rather than renaming everything.

For movies, for example, you can add a label in the filename like "1080p" or "Director's Cut" and there is even a modified sorting so that resolutions aren't sorted alphanumerically (ie 1080p < 2160p < 720p) but numerically (720p < 1080p < 2160p). However, at least in the documentation, there's no indication that you can combine a resolution and a cut in a filename label. Of course you can put arbitrary text there, but presumably you don't get any special sorting if you add a label like "2160p Extended Edition" or "Original Cut 720p". There are two separate axes here, and trying to encode too much in a filename just requires more and more fragile text parsing.

We do have NFO files, but you can't put resolution or cut in there. You have to put version information in file name but can't but IMDB in file name, that has to go in NFO. Other metadata you may only be able to set via the API.

Also strangely, Jellyfin will write fields into a NFO that it won't read back, ie compare readable and writeable fields from this documentation. What's the point?

This is a half-baked self-righteous rant post. Does anyone know what I'm talking about though? I like jellyfin better than alternatives and use it often, but it seems like a mess. I don't want to rely on a delicate balance of various local data sources and custom tools to get metadata in order. In contrast, I see the MusicBrainz project doing really well with a consistent and explicit data model so you always know what you're dealing with and what kind of metadata you should be able to specify whether you're browsing their database in a browser or interacting with an API or some other tool.


RE: file naming & data models - TheDreadPirate - 2024-04-01

The thing with Musicbrainz is that music is much more consistent across releases and sources. And it is possible to analyze the sound and identify not only the track but also a specific release/remaster. Musicbrainz has a huge library of audio fingerprints for tracks that they use to identify tracks from the sound analysis. To be clear, Jellyfin does not do this, but Musicbrainz Picard does. And we regularly recommend users use Picard to auto-magically tag their music if they haven't already.

It is, hypothetically, possible to do with video. But that is much more computationally expensive and video tends to get compressed muuuuuuch more than audio making it harder to analyze in this hypothetical scenario where there is a database of video fingerprints.

So.....we rely on file names. As does Plex. Does Plex have a more flexible file name parser than Jellyfin? Definitely.

As for your comment about resolution, ffprobe determines the resolution during the initial media scan. If you are referring to something like our "multiple versions" syntax, the tag you put for each "version" is arbitrary and can include multiple tags for each version.