Syncplay / syncplay

Client/server to synchronize media playback on mpv/VLC/MPC-HC/MPC-BE on many computers
http://syncplay.pl/
Apache License 2.0
2.11k stars 215 forks source link

Does syncplay work with youtube live streams? #285

Closed khughitt closed 4 years ago

khughitt commented 4 years ago

Apologies for posting this here, as this is a question rather than an issue, but I couldn't find any information on this and it seems like something that others might be interesting in knowing.

Can syncplay be used to synchronize viewing for a YouTube live stream?

I know that static youtube videos can be synchronized, but would this work for live youtube streams as well?

Et0h commented 4 years ago

I've never tried so I can't say, so please test and let us know. What I can say is that Syncplay streaming generally works best when using mpv (version 0.32.0) and youtube-dl so that is what I would try in the first instance (although there is a chance that live streams work better in VLC).

kotoko commented 4 years ago

I'm curious about your @khughitt use case. Live streams are live, so all viewers see the same position in video which is "now". What syncplay should do?

AtilioA commented 4 years ago

I'm curious about your @khughitt use case. Live streams are live, so all viewers see the same position in video which is "now". What syncplay should do?

Maybe creating a room with another set of people, chat on fullscreen etc

khughitt commented 4 years ago

@kotoko The main idea is to try and sync the exactly position of playback; even those the stream is live, depending on people's internet connections, some people will likely be a some seconds ahead or behind of another. I was hoping to find a way to sync the exact position in such streams so that we would each be watching the same moment in time.

kotoko commented 4 years ago

@AtilioA , @khughitt It makes sense. Thanks for reply!

daniel-123 commented 4 years ago

@khughitt This is not going to be trivial to do. Syncplay doesn't really care what is being played in the media player at all - video, audio, picture slideshow or a stream. It only really uses current position in time that player reports.

So if the media player supports youtube (or other website) streams in a way where it reports back position relative to actual beginning of the stream, then Syncplay will just work. mpv with youtube-dl which I use doesn't do it that way by default. Specifying --rebase-start-time=no makes it use right time, but for some reason it doesn't allow seeking anywhere before the time when you started playback. Assuming you are using mpv, you can specify this option in "Player arguments (if any)" in the configuration window of Syncplay. Given that mpv supports passing arguments further to youtube-dl (--ytdl-raw-options=) it's also possible to specify other stuff like login credentials and such.

This can work, but has pretty severe limitations which IMHO make the functionality pretty much broken:

Making this work "properly" would likely require some work upstream within youtube-dl. I looked around its documentation and found nothing that seemed helpful for this use case. That said I might be missing something obvious as I'm not intimately familiar with how it works.

Et0h commented 4 years ago

As per the discussion it appears that if there are any issues then they cannot be satisfactorily fixed by Syncplay so I'm closing the issue.