Sync Our Flix!
December 14, 2007 4:25 PM   Subscribe

Is there a syncing media player?

I like to watch movies with a friend who lives across the country. We're both watching them on our computers. But syncing them is a hassle: we try counting down together before hitting play, but always seem to end up with our audio slightly out of sync. If I'm not a quarter-second behind, she's a quarter-second behind. Is there a video player that will sync up with its counterpart, and start the movie simultaneously on two computers over the internet? For bonus points: I'm on a Mac, she's on a PC. But I'm willing to do Boot Camp for a Windows-only solution that works.
posted by evariste to Computers & Internet (13 answers total) 3 users marked this as a favorite
Remember you have phone lag, too; there's a definite delay between when you say something and when they hear it. Even if you're perfectly synced, it's still not going to be quite right.

If I were going to try to solve that problem myself, I'd probably write up two scripts, one in Kixstart, and one in Applescript, that pressed 'play' on the media player of choice at a precise time. Then I'd sync both computers to NTP to be sure they were closely matched timewise, run the scripts to start at, say, 7:04, and see what happened.
posted by Malor at 5:06 PM on December 14, 2007

not only is vlc a nifty video player "it can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-bandwidth network."
posted by phil at 5:21 PM on December 14, 2007

It isn't going to be easy to get this perfect. I suspect your countdown method is the easiest way to get close enough.

Even if you start both computers at the right time, the reality is that they're going to drift apart over time, if you don't sync them up periodically. Media playback timing is generally driven by the processor's internal clock, or some other clocked device (like an audio interface); it all boils down to some hardware, and hardware always has physical variation, even two instances of the "same" device. One machine is always going to be slower than the other, no matter what.

Syncing to NTP isn't going to do anything. NTP doesn't cause your whole computer to speed up or slow down, it just makes it adjust its idea of what the current time-of-day is. Nobody writing PC software drives media playback by that clock, as far as I know.

Streaming the whole thing over the network might kind of work, but both machines are still going to have significant buffers that they stuff the data into, and they're still going to be playing out of those buffers at slightly different rates. Worth a try, though.
posted by xil at 5:33 PM on December 14, 2007

Malor is right: what you want to do is impossible unless you change the laws of physics. If both players are running at exactly the same time, both of you will hear a lag over the telephone. If one of you hears no lag, the other will hear twice the lag.

Phil's approach sounds great, except that the latency cross-country (maybe 10-15 hops) will represent a noticeable delay. (Anyway, I hate VLC. What a piece of crap.)
posted by Steven C. Den Beste at 5:33 PM on December 14, 2007

Steven C. Den Beste

with all do respect have you actually tried streaming video content across country with vlc? i have and it works without issue for me.
posted by phil at 5:50 PM on December 14, 2007

Maybe you should consider using a third computer to stream to two of you (not that I know anything about this)?
posted by glibhamdreck at 6:32 PM on December 14, 2007

Phil, you misunderstand the issues involved. Even if VLC is the best program ever written, and works flawlessly, it isn't capable of making the speed of light become infinite.

Because the speed of light is finite, then if things look synchronized from our end, they're going to look badly out of sync from their end. No way around that. (And in practice, flight time for packets on the internet, or for long distance telephone packets, is much slower than C.)
posted by Steven C. Den Beste at 7:40 PM on December 14, 2007

Do you countdown to start up the video, and then use headphones for audio, maybe in just one ear and your phone in the other ear. Then there won't be any distracting lag/sync issues on the audio.

As others have pointed out, the technical fixes will be difficult if not impossible given the nature of the Net, physics, etc. Just work around it: audio sync issues a distraction? Do something simple to make it not a distraction.
posted by chengjih at 8:32 PM on December 14, 2007

Response by poster: Steven, when we fiddle with it (pausing/unpausing on one end, etc) and get the timing perfect, we both agree that it's perfect. There's no lag, what I can hear from her end on the phone is exactly what I'm hearing from my own speakers. The problem is that the fiddling takes too long and is too imprecise and frustrating. She's on the West Coast and I'm in the Midwest, but we don't experience any perceptible lag on the phone.

Folks who are suggesting streaming/multicasting/etc: I have broadband and so does she, but mine is like 6 Mbps and hers is more like 1 Mbps. I'd hate for it to be smooth on my end and skipping/stuttering on hers. Anyway, I don't see why we need to involve a server. Hasn't anyone solved this problem before in a peer-to-peer way? It seems like this would be a common problem, say for corporate presentations or distance learning.

So what I'm really looking for here is a plugin for VLC or the like, or a separate media player in its own right, that can just automatically sync playback on two machines over the internet. It doesn't have to be perfect to the nearest microsecond, more like a tenth or a twentieth of a second. Just close enough for human perception.
posted by evariste at 9:47 PM on December 14, 2007

Could you put some kind of 30 second test pattern before each video, sync to that? You could imagine all kinds of scenarios how that would work -- maybe with ascending tones... seems like it'd make it way easier to reliably sync to instead of going by whatever is on the beginning of the movie.
posted by ph00dz at 7:57 AM on December 15, 2007

Response by poster: I found a patch to MPlayer that possibly does what I want, although I'm not sure if "computers running on a dedicated LAN" excludes the internet or not. Since I came the closest to actually answering my question, I'm awarding myself the best answer. Thanks everyone! If anyone has anything better please chime in.
posted by evariste at 2:07 PM on December 15, 2007

Best answer: SeeToo is a service that claims to address this very issue.
posted by jedicus at 10:18 PM on August 22, 2008

Response by poster: I've unmarked my answer and marked jedicus' as Best. Thanks, jedicus! That's exactly what I was looking for.
posted by evariste at 5:13 PM on August 23, 2008

« Older Can time heal a fractured bone?   |   Must-see/read/listen items from New Zealand? Newer »
This thread is closed to new comments.