Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] SyncPlay Support #640

Open
zachbakerdev opened this issue Mar 17, 2024 · 6 comments
Open

[Feature Request] SyncPlay Support #640

zachbakerdev opened this issue Mar 17, 2024 · 6 comments
Labels
redesign-beta Issues available for Hacktoberfest

Comments

@zachbakerdev
Copy link

Suggestion to add support for groups. Something I used a lot in Spotify and something I would love to use in Finamp.

@zachbakerdev zachbakerdev changed the title Group Support [Enhancement] Group Support Mar 17, 2024
@zachbakerdev zachbakerdev changed the title [Enhancement] Group Support [Feature Request] Group Support Mar 17, 2024
@Chaphasilor
Copy link
Collaborator

I'm not sure what you mean. What exactly is a "group" in the context of a music app? 🤔

@zachbakerdev
Copy link
Author

In Spotify, it's called a Jam. You can have two different people listening to the same music together remotely. The feature is built into Jellyfin itself, and you can test it out by opening up the web version on two devices. There's an icon at the top right with three people. Click it to create a group, then click it on the other device to join the group you created. Then you can play music and it will sync playback on both devices. Skipping songs will skip on both devices, playing new songs will start them on both devices, so on and so forth.

@Chaphasilor Chaphasilor changed the title [Feature Request] Group Support [Feature Request] SyncPlay Support Mar 19, 2024
@Chaphasilor
Copy link
Collaborator

Right, that feature is called "SyncPlay" in Jellyfin. I've been interested in adding that eventually already, but mostly to enable synchronizing playback between my own devices, so that I can switch from one client to another one without losing my playback queue.

What would be your use case? I've heared the Jellyfin core team mention a few times that no-one really knows how SyncPlay works, and that it's a nightmare to maintain. So I'm not sure if I really want to implement support for it, if there isn't a major use case.

@zachbakerdev
Copy link
Author

I specifically use it because I don't live with my girlfriend and we like to listen to music together. We like to play songs we like and explain to each other why we like them. It's something we do quite often, and it's the main reasons I haven't dropped Spotify yet.

I'm not sure how the actual Jellyfin API works, but considering the web player supports groups, I assume there would be some backend functionality in the API to plug into that would automatically calculate and provide the information for correcting audio positions.

From my understanding, if the gap is small enough, it will speed up or slow down one device to reduce the difference to I believe 60ms by default. If the gap is big enough I believe the user that doesn't own the group skips to the group owners position.

I'm sure this would take more research to decide if the actual time investment required would be worth it even if a lot of people use it compared to other mainstream features.

@Chaphasilor
Copy link
Collaborator

Okay, so your girlfriend has an account on your server, with access to the same music libraries as you? Because otherwise this would (probably) not work.
I can definitely see that being useful, but since it's limited to accounts on the same server, I'm not sure how popular it would be.

And I don't think there's a way to "invite" someone to a server, giving them temporary read-only access?

@zachbakerdev
Copy link
Author

Yup. That's exactly what I do. I believe you could make a temp user using the Jellyfin API, but it wouldn't be necessary as you could just create a user and only give them access to the music library if that's what you want to do. Music is relatively low bandwidth compared to the other things, especially if you force transcoding for certain users.

@Chaphasilor Chaphasilor added the redesign-beta Issues available for Hacktoberfest label May 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
redesign-beta Issues available for Hacktoberfest
Projects
None yet
Development

No branches or pull requests

2 participants