These days, me and my friends watch movies remotely (not only due to covid but since we’re scattered in different places), so I generally do an Infuse Stream using discord while everyone else is on the call. Few issues with this,
If the movie is on cloud drive, have to simultaneously download/upload movie stream.
Infuse+Discord is unreliable when it comes to streaming, as sometimes there are audio/subtitles lags or frames dropping, despite the network being good enough.
My friends also own the movie, but they’re forced to watch 720p 30fps, on Discord without Nitro or server boosts.
They all have infuse either on their iPhones, Macs or iPads and own the movie. It would be great, if there was a stay in sync feature with one user controlling pause and play for everyone. Don’t need chat, or audio calls, just syncing and being able to watch together would be great.
I understand there could be few challenges in this, like what if movie files are different (length for example due to regional differences, or start point is different again due to regional certificate requirements etc.) Some potential solutions for those on top of my head,
It is onus of the user to make sure the movies and the files are same.
While the sync feature is controlled by one user/master, the start points should be able to be modified at the beginning if there are any time differences.
I’d also assume this would probably be featured as a pro feature. It would be great if just the main controller/master is asked to be a pro user and not everyone, else that might make it difficult. Let me know what everyone thinks regarding this, and anything I might’ve not thought about.
Not only would they need to have the same video but it would need to probably be the exact same ripped version (file size etc). I’m going to guess there might also be restrictions on what audio/video codecs can be used.
What I meant by restrictions on codecs is if watch party is exclusive to apples built in video player. Additionally how to you handle different video encodes of the same movie? Someone may have a h264 version and the other an h265. Without a centralized server pushing the content I can see a lot of issues cropping up.
What if both Infuse players are linked to the same Plex library? Which is often the case for me and my family. I’ve given them access to my Plex account to which they connect as their own. That solves the issue of having the same file, metadata etc.
Actually if you use the plex client you can already do this with plex server. Plex added watch party a while back. If they add shareplay then infuse might just be able to piggy back off their integration.
Plex and jellyfin have both supported watch together. Although jellyfin’s implementation’s kinda broken. I wonder if it’s possible to interact with their APIs (I don’t know how stream works behind the scenes) or sync the timelines of multiple users who are connected to the same library. This is the only feature that’s missing. I have to use plex for watch together, and their player is currently unusable with hdr/dolby vision movies on the new ATV due to the banding issue and the profile issue.
An update to syncing infuse with other clients:
It’s possible to use plexapi, plexwebsocket and pyatv libraries to fetch all the required information. Plex clients can be controlled using their API and I can launch new media for a client. The issue is mainly with infuse. I cannot find a way to control it besides tvOS’s protocols, which is really limited.
So I figured maybe we can manually choose movies and ask the script to detect both sessions and keep them in sync. The only issue is that “set position” seems to be missing in infuse (see: this post). I’ve successfully synced apple tv app and another plex client in this way but it doesn’t fit my use case…