mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-04 18:09:12 +03:00
Feature request: Shared casting mechanism #1221
Reference in New Issue
Block a user
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 @iwalton3 on GitHub (Jan 19, 2020).
I maintain the client Jellyfin MPV Shim. I would like to be able to add multi-user support so that a shared HTPC could be used by multiple users as a cast target without having to log off one user and have the other log in.
I've explored two ways to do this, and there are issues with both of them.
Option 1: Add multiple users to a session. (Test branch here.)
Benefits:
Problem:
Option 2: Add multiple users to a single client by opening multiple sessions. (Technically allowed by current implementation, but does not work due to client id issue.)
Benefits:
Problem:
I think that the best way to accomplish this is probably not one of the methods I attempted above, but instead some way to obtain a generic session. This generic session would have no rights until a user casts to it, at that point the session takes on the characteristics of the controlling user until they stop casting.
It is also worth noting that the setting to allow a user to control another user's clients is not a solution to this issue, because the playstate updates still end up going to the original user who signed into the client, and not the user controlling the client. (It also isn't ideal to give that permission to users just to let them cast to an HTPC.)
This was discussed here: https://matrix.to/#/!xGCydtJPWedDaDHfzm:matrix.org/$1579108032233429GGfZz:matrix.org?via=matrix.org&via=bonifacelabs.ca&via=plsno.com
@JustAMan commented on GitHub (Jan 20, 2020):
Note: we track feature requests here - https://features.jellyfin.org/
@iwalton3 commented on GitHub (Jan 20, 2020):
It looks like this is a duplicate of https://features.jellyfin.org/posts/319/mark-device-as-shared.
@dkanada commented on GitHub (Jan 20, 2020):
@iwalton3 thanks for linking this issue, it was an excellent breakdown of the possible solutions that exist at the moment.
@dkanada commented on GitHub (Jan 20, 2020):
Also, if you're willing to look through the server and implement the functionality it would defininitely be an acceptable feature to include.
@SteveDinn commented on GitHub (Sep 12, 2020):
I wonder if it would be simpler or easier to think about this as a user who lets all other users control their sessions. It doesn' have to be a shared device, but just a permissive user.
@iwalton3 commented on GitHub (Sep 12, 2020):
The problem is play tracking. The playback activity needs to go back to the person playing the media somehow.
@bedrin commented on GitHub (Sep 7, 2021):
@iwalton3 I'm trying to come up with a workaround for it. For two users for a start. Do you think having two instances of
jellyfin-mpv-shimconnected to singlempvvia AF_SOCKET would work? Or do I need to code a small multiplexer to rule them?UPD: I've finished my experiment:
Ausing first instance ofjellyfin-mpv-shim(under accountfoo)Busing second instance ofjellyfin-mpv-shim(under accountbar)Bon TV screen. However jellyfin for userfoowas still showing that movieAis playing, moreover time was synchronised with userbarwatching movieBI guess it makes sense and it is expected. So it is a viable workaround but a bit suboptimal)
@wmtang2 commented on GitHub (Apr 3, 2024):
I've taken another approach to make it easier to switch users in the GUI. Server address, username and passwords are stored and retrieved to logon as selected by user. Password storage done by keyring. An additional users.json created to store username and server.
gui_mgr.zip