2026-02-19, 05:26 PM
Sound metadata is half the service a media player provides (the other half is serving the media). And of course it can be the messiest part given the history of metadata in digital media history (different standards, ignored standards, users customizing tags and then sharing files, older ripped data without tags, etc).
So what is Jellyfin's guiding philosophy on this problem? Yes, parts of existing behavior are holdovers from it's Embry roots, but if, as a community, we can decide on both what it should do, life becomes a lot easier for developers to contribute.
On one hand, a default Jellyfin Docker (which includes plugins) clearly tries to automate some aspects of pulling missing data (like guessing an artist and album in lieu of metadata and pulling images). On the other hand, I've seen it argued at least twice in the development forums that code contributions to improve these automations were unnecessary because users can just hand-edit what they don't like. So does Jellyfin believe in automation, or does it place the onus for sound metadata on the user? And of course, things aren't black and white. Pragmatic issues often dictate the final behavior (so we get a best-effort version of a philosophy).
Community clarity on Jellyfin's philosophy would help. Even better would be hashing out the expected behavior and the reasoning behind it. What is the order of precedence for determining the metadata values Jellyfin will use, and why? I'm aware this isn't simple because, as communities grow, such software systems try to accommodate a variety of user preferences. So some users eschew external metadata sources, others prefer metadata database A, and others prefer metadata database B. And then some want part of their metadata to come from here and other parts from there. It's complex. The reality is that some logic and reasoning already exist, even if we don't write it down, it is smeared across the code itself. But without an actual spec, how can anyone say if the behavior is broken? Maybe I'm missing the testing of the metadata decision logic (quite possible), but right now all I see is testing of the metdata parsing.
I'm sure lots of folks come saying what should and shouldn't be done, but in this case, if we have clarity, I'd be glad to help on the code front. In my case, I only use Jellyfin as a music server. So for me, that is my focus. I do suspect some of the practices worked out here could also be transferred to the movie side.
The fundamental problem is the lack of guaranteed UUIDs for any digital media. Some tracks aren't likely to have them (say home recordings), and others could but don't (some random rip from before MusicBrainz and others). So if Jellyfin is trying for best-effort automation, it needs an order of precedence for which information it considers most precise in lieu of a UUID. The secondary problem is contradictory information. If tags contradict each other, then which do you choose to believe and why?
If this has been done, I apologize. I've looked around and haven't found it.
So what is Jellyfin's guiding philosophy on this problem? Yes, parts of existing behavior are holdovers from it's Embry roots, but if, as a community, we can decide on both what it should do, life becomes a lot easier for developers to contribute.
On one hand, a default Jellyfin Docker (which includes plugins) clearly tries to automate some aspects of pulling missing data (like guessing an artist and album in lieu of metadata and pulling images). On the other hand, I've seen it argued at least twice in the development forums that code contributions to improve these automations were unnecessary because users can just hand-edit what they don't like. So does Jellyfin believe in automation, or does it place the onus for sound metadata on the user? And of course, things aren't black and white. Pragmatic issues often dictate the final behavior (so we get a best-effort version of a philosophy).
Community clarity on Jellyfin's philosophy would help. Even better would be hashing out the expected behavior and the reasoning behind it. What is the order of precedence for determining the metadata values Jellyfin will use, and why? I'm aware this isn't simple because, as communities grow, such software systems try to accommodate a variety of user preferences. So some users eschew external metadata sources, others prefer metadata database A, and others prefer metadata database B. And then some want part of their metadata to come from here and other parts from there. It's complex. The reality is that some logic and reasoning already exist, even if we don't write it down, it is smeared across the code itself. But without an actual spec, how can anyone say if the behavior is broken? Maybe I'm missing the testing of the metadata decision logic (quite possible), but right now all I see is testing of the metdata parsing.
I'm sure lots of folks come saying what should and shouldn't be done, but in this case, if we have clarity, I'd be glad to help on the code front. In my case, I only use Jellyfin as a music server. So for me, that is my focus. I do suspect some of the practices worked out here could also be transferred to the movie side.
The fundamental problem is the lack of guaranteed UUIDs for any digital media. Some tracks aren't likely to have them (say home recordings), and others could but don't (some random rip from before MusicBrainz and others). So if Jellyfin is trying for best-effort automation, it needs an order of precedence for which information it considers most precise in lieu of a UUID. The secondary problem is contradictory information. If tags contradict each other, then which do you choose to believe and why?
If this has been done, I apologize. I've looked around and haven't found it.

