mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-23 23:20:51 +01:00
Metadata is file based, not library based #760
Labels
No labels
area:database
awaiting-feedback
backend
blocked
breaking change: web api
bug
build
ci
confirmed
discussion needed
dotnet future
downstream
duplicate
EFjellyfin.db
enhancement
feature
future
github-actions
good first issue
hdr
help wanted
invalid
investigation
librarydb
live-tv
lyrics
media playback
music
needs testing
nuget
performance
platform
pull-request
question
regression
release critical
requires-web
roadmap
security
security
stale
support
syncplay
ui & ux
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: starred/jellyfin#760
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mikhail5555 on GitHub (Jun 21, 2019).
Describe the bug
If the same file is shared between multiple libraries, the metadata is also the shared.
This means that if you have 1 Library which requires English and another one which requires another language, the metadata will be EITHER English or the other language.
To Reproduce
Expected behavior
Metadata that is library based for each file, and not file-bound.
Logs
n/a
Screenshots

System (please complete the following information):
Additional context
n/a
@sparky8251 commented on GitHub (Jun 25, 2019):
You also see this with actor metadata.
In this screenshot of actors in Sanctuary, you see 2 of them as they appear in Stargate: Atlantis. And I see the same image for Amanda Tapping on Stargate: SG-1, so yeah...
That said, this is a database limitation and is blocked by the database rewrite. Here's hoping we can get it done soon-ish so issues like this can get resolved :)
@stale[bot] commented on GitHub (Sep 23, 2019):
Issues go stale after 90d of inactivity. Mark the issue as fresh by adding a comment or commit. Stale issues close after an additional 14d of inactivity. If this issue is safe to close now please do so. If you have any questions you can reach us on Matrix or Social Media.
@stale[bot] commented on GitHub (Jan 21, 2020):
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.
@ghost commented on GitHub (Jan 21, 2020):
@sparky8251 Any news on the database rewrite?
@Artiume commented on GitHub (Apr 24, 2020):
I think one thing we should do is make sure there's a need for new metadata. If I have two libraries, where one is a subset of the other (such as Kids shows). I think it'd be efficient to share the same metadata.
@sparky8251 commented on GitHub (Apr 27, 2020):
Not really what the fix for this would be @Artiume. The fix would be letting you pair images and roles separately to actors, then pulling it dynamically based on the library you are viewing.
Its not efficient to share incorrect metadata. The part that can change can be the only part we "duplicate" but duplication is a must or we end up with dumb bugs like this.
@ranhaveshush commented on GitHub (Nov 16, 2023):
Is there any update on this issue?
Issue:
Currently there isn't ability to have multiple libraries with the same directory path say ../../movies, with different metadata language say one library set to English, and another set to French.
The current behavior is the movie metadata set based on a file.
Workaround:
My current workaround it to have multiple Jellyfin instances one per localization / language.
The preferred behavior would be to have a single Jellyfin instance supporting multiple languages.
@rluetzner commented on GitHub (Nov 16, 2023):
I've been using symlinks as a workaround. I have a main folder where all my movies reside. Only some of them have a German audio track, so I created a separate directory and started symlinking, e.g.
The directory with symlinks is of course a new library. You can then get the metadata for this subset in any language you like.
To be fair, the metadata is heavily duplicated, but then again, I think it mainly affects pictures of actors. Movie posters, summaries and actor details are all localized anyway, so they'd need to be duplicated no matter what.
As a side note: you can limit what libraries a user can see. My wife only cares about movies with a German audio track, so I've hidden the main library. In the user settings (you must be logged in as that user), you can also define your preferred language. So even if German is the second audio track, you can make Jellyfin start with that as default.
All of this works pretty well for me. It requires a but of setup, but the symlinking can easily be scripted.
Hope this helps somebody.
@felix920506 commented on GitHub (Jun 8, 2025):
@JPVenson does the EFCore refactor unblock this
@Shadowghost commented on GitHub (Jun 8, 2025):
This is not unblocked until our ItemIDs are not file based