
Vynchronize – A fun realtime video sync platform for friends - kyle8998
https://github.com/kyle8998/Vynchronize
======
michaeljbishop
I set this up in the most hacky way 10 years ago with my girlfriend. We would
watch dvds together and I wanted to synchronize them (especially important for
comedies)

My setup? An app that would monitor DVD Player for events while listening to
events over iChat using AppleScript.

If someone paused or played the DVD, the moitoring process would notice the
event, make a JSON payload representing the action including the local
timestamp, and use AppleScript to post an iChat message. Then, the process on
the other side, would see the special iChat message (forwarded via
AppleScript), and apply the action to the local DVD player process, taking
into account the difference between the sent timestamp and the local
timestamp.

It worked like a charm and made watching movies so much more fun. We always
had iChat open anyway so it seemed like an easy win to piggy back on that, no
server needed.

An inelegant hack, but it worked.

~~~
Feuilles_Mortes
This is pretty clever, I like it!

------
Cyphase
My cousin and I used to do this manually all the time via IM when we were
younger. We watched whole shows together that way. Also we used the IM for
live commentary.

    
    
      3
      2
      1
      play!
      ...
      omg, he did not just do that!
      ...
      whaaaaat?!
      ...
      pause, brb
      back, where are you?
      23:51
      okay, ready.
      3
      2
      1
      play!
      ...
      omg, i can't believe that just happened. next ep?
      yea. hold on..
      ready
      3
      2
      1
      play!
    

Good times.

------
Asooka
If anyone is looking for this, but for offline videos (where every person has
a local copy of the video), that exists and is called "syncplay". Very
convenient when you want to watch and comment on movies with distant friends
in real time.

------
ggg9990
I’ve always wished Netflix had this built in. If it didn’t support syncing
between the same account it would even voluntarily cut down on account
sharing.

~~~
TheWiseOne
Netflix actually had a feature on the original Xbox that allowed you to create
a group with your friends and watch videos together. Unfortunately, they
removed this feature a while ago.

~~~
sgtmas2006
On the Xbox 360 you mean? I recall it there, not on the original Xbox.

~~~
city41
Yes it was on the 360. The original Xbox never got Netflix.

------
geekuillaume
I've worked on this for a personal project (that never shipped), specially for
music videos so the synchronization needed to be very precise. In the end, I
implemented a basic NTP server via websockets to synchronize all clients on
the same clock and then just send them the start timestamp of the YouTube
video. I achieved sub 50ms sync 75% of the time, making it work for the last
25% was much harder than I expected.

------
pixelmonkey
Sort of self-hosted version of what [https://rabb.it](https://rabb.it) does. I
have used Rabbit a couple times successfully for watching movies with Internet
friends.

~~~
akhilcacharya
Rabbit allows VNC-ing into a VM instead of just synchronizing the events
though - I'd be interested to see a good platform for multi-user VNC though!

------
hammadfauz
[https://github.com/hammadfauz/syncPlay](https://github.com/hammadfauz/syncPlay)

~~~
mosselman
Does this work with netflix, for example?

~~~
sakarisson
Seems like this is for playing local files only. From what I can tell, both
parties need the same file on their computer to play.

~~~
mosselman
Ah, because it talks about HTML5 I figured it was used on different online
sources through a browsers.

------
shankspeaks
Yeah, same here built a tool for Youtube about 12 years back as an experiment
using XMPP as the messaging layer for syncing and group chat.

We would buffer/pause video based on the video player state of the slowest
connection, and still allow users to manually control playback.

Fun app, and a great example of the versatility of XMPP.

------
a_t48
cytube
([https://github.com/calzoneman/sync](https://github.com/calzoneman/sync)) is
pretty close to this.

