Subject: [AVT] Re: Syncronization of co-located clients?

From: lazzaro <[email-masked]>
Date: Sun, 3 Jul 2005 10:06:02 -0700

On Jul 3, 2005, at 9:05 AM Greg Herlein wrote:
> I've got a scenario where I need to multicast RTP streams to  
> multiple clients, and some of those may be within visual (and  
> worse, audible) range of another client.
>
> Is there a profile or other trick to help ensure syncronization  
> *between* the clients?  In other words, ensure that the  
> presentation of the material from one client is in sync with the  
> others nearby?
>
> I have some approaches to this, and have been hunting for other ideas.
>
> Any links, references, research papers - whatever - would be  
> appreciated.

For a fixed installation, the simplest solution is low-tech:

http://www.auralex.com/

If this isn't quite what you had in mind ...

One technical approach is to run tightly synchronized clocks everywhere,
and communicate an absolute presentation time to all clients.  This will
require mechanisms for doing perceptually unobjectionable time slips
to handle clock drifts in the audio D/A conversion for each host.  We  
had
a good discussion about this topic on AVT a few years ago. See:

http://www.opensoundcontrol.org/papers/clock_sync_in_music_systems/

for a good summary of the clock synchronization part of the problem.

A second way is to use a feed-forward approach instead of synced  
clocks.  This
works if the network media has reliable nominal latency (outlier late  
packets are OK,
if there are methods of detecting them with good reliability).  For N  
 > 2 hosts,
algorithms exist that estimate the one-way latency between host pairs  
with
good accuracy (no references handy, maybe someone can post ...).  If you
have a good estimate of one-way latencies, it can substitute for tightly
synchronized clocks ...

To my knowledge, no support exists in RTP/SDP/SIP/RTSP stack to
implement either [1] or [2] above in an interoperable way ... but the
stack does support adding carefully placed foam panels onsite :-).

---
John Lazzaro
http://www.cs.berkeley.edu/~lazzaro
lazzaro [at] cs [dot] berkeley [dot] edu
---

_______________________________________________
Audio/Video Transport Working Group
[email-masked]
https://www1.ietf.org/mailman/listinfo/avt

---

From: lazzaro <[email-masked]>
Date: Sun, 3 Jul 2005 18:11:28 -0700

Stephen Casner <casner at acm.org> writes:
> I don't think the SMPTE timecodes help unless they are representing an
> absolute time in the future, where the sender has made a prediction
> about the amount of time needed for propagation to all receivers and
> buffering time within each receiver.  That might work in a controlled
> LAN environment, but it is not a general solution.

I think it might make sense to revisit the ideas in the BBN protocol,
but start with the latency model of a modern wired and wireless LAN,
and define a simplified protocol for this special case.  Zeroconf is
an example of a protocol that limited itself to "networking in the  
small"
and was very successful, and I think speaker synchronization could
be just as successful ...

---
John Lazzaro