Jump to content
lastelement21

Multi user/player sync, "watch party" utility

Recommended Posts

lastelement21
Posted (edited)

Currently version 0.1, it works but its rough.   It's meant to be run by an emby server owner, as it requires a server api key.  It essentially reads the room leader's location, jumps room members to 10-ish seconds ahead of the room leader, and finally unpauses roughly in sync.

Tested clients:  iOS, Android, Amazon Fire devices, and the web player.  Also working, but only as a stream or room leader, not as a follower: Chromecast and Roku.  (Supposedly these devices may work as a following player if the server is on the same local network as the player, but I have not tested this)

If any client falls out of sync/halts playback, it resyncs immediately.  You must log out of Emby Sync, or "leave room" to stop syncing.  Sessions offline for more than 10 minutes will automatically stop syncing.  To force a resync, rewind a bit on the out of sync follower.

Emby clients only update the server with status info every second or so, so sync is only possible within a couple seconds in either direction. (Close enough for watching with friends online for sure!)

To try it out: 

Easiest is to just fire up the container and point your browser at http://<containerhost>:5000 and log in using your Emby Connect username. (The Emby password is not stored, it is used against the emby API for auth only)  Sorry, no local only emby accounts or emby email as logins right now.  Only your clients which have been active within the last five minutes will be visible, if you don't see any clients to select, make sure the client is open, logged in, and recently interacted with.

docker run --name emby-sync -e EMBY_SERVER='<emby_url>' -e SECRET_KEY='<emby_server_api_key>' -p 5000:5000 lastelement21/emby-sync:latest

I've set it up in Docker Hub here: https://hub.docker.com/repository/docker/lastelement21/emby-sync

It's on Github here: https://github.com/cameronurnes/emby-sync

Todo:  Local user support, unpause when room leader unpauses instead of waiting/resyncing, test more clients, Chromecast as follower,  adjust session cleanup task, try out using session info from api for unpause during sync instead of timers, consider using stored user access keys instead of API key, better GUI stuff.  I am not a frontend developer, so any help on that would be appreciated.



suCU09k.png

Edited by lastelement21
  • Like 4

Share this post


Link to post
Share on other sites
Garbui85

Hi there, now also tested on AndroidTV. Functional only as ‘Leader’ not follower with Emby app. 

Cheers

Share this post


Link to post
Share on other sites
lastelement21
2 hours ago, Garbui85 said:

Hi there, now also tested on AndroidTV. Functional only as ‘Leader’ not follower with Emby app. 

Cheers

Interesting, would have expected that one to work similar to the app.  Thanks for the results!  Hopefully some of these can be made to work eventually.

Share this post


Link to post
Share on other sites
chef
Posted (edited)

Hi, this is cool, and I needed to post here so I get reply notifications.

 

Edited by chef

Share this post


Link to post
Share on other sites
fr0z3n

Me too ☺ 

Share this post


Link to post
Share on other sites
AxeMan

Watching topic also - I'm holding out for local user functionality. I just want to be able to play same media throughout the house like Sonos does for video or chromecast audio speaker groups. 

 

Thanks for your work on this. This is something I would be willing to pay for - so hopefully there'll be a donate button somewhere when you are comfortable. 

Share this post


Link to post
Share on other sites
lastelement21
26 minutes ago, AxeMan said:

Watching topic also - I'm holding out for local user functionality. I just want to be able to play same media throughout the house like Sonos does for video or chromecast audio speaker groups. 

 

Thanks for your work on this. This is something I would be willing to pay for - so hopefully there'll be a donate button somewhere when you are comfortable. 

Nothing stops you from doing local player syncs with this tool right now, however, it won't ever be within milliseconds because the clients just don't report their location with that accuracy/frequency.

Share this post


Link to post
Share on other sites
Garbui85
2 hours ago, AxeMan said:

Watching topic also - I'm holding out for local user functionality. I just want to be able to play same media throughout the house like Sonos does for video or chromecast audio speaker groups. 

 

Thanks for your work on this. This is something I would be willing to pay for - so hopefully there'll be a donate button somewhere when you are comfortable. 

Hey AxeMan this is exactly my use case at the moment working across my players (varying results in leader/follower) works great for local playback. 

Share this post


Link to post
Share on other sites
Garbui85
On 31/08/2020 at 23:35, lastelement21 said:

Interesting, would have expected that one to work similar to the app.  Thanks for the results!  Hopefully some of these can be made to work eventually.

I too was surprised, Tv is running Oreo and latest updates to apps. If I can get a LAN cable to it I am interested to see if results vary as it could be a WiFi issue on the tv. Other than chrome browsers all other follower clients have been wifi so i don’t know that it is a signal issue. 

Share this post


Link to post
Share on other sites
AxeMan
On 9/4/2020 at 5:07 PM, lastelement21 said:

Nothing stops you from doing local player syncs with this tool right now, however, it won't ever be within milliseconds because the clients just don't report their location with that accuracy/frequency.

I was hoping to not have to use the Emby Connect login. from what I understand, that's required...?

On 9/4/2020 at 6:44 PM, Garbui85 said:

Hey AxeMan this is exactly my use case at the moment working across my players (varying results in leader/follower) works great for local playback. 

Is it all in relative sync? or do you end up with something that sounds kinda like an echo if they are off on the audio by a bit? 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...