[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



On Sat, 2 Jul 2005, 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.

The following paper describes a nice synchronization protocol
developed by Julio Escobar and colleagues at BBN which allows
specifying the synchronization goals and dynamically determining the
offsets needed to achieve sync:

    Julio Escobar, Craig Partridge, Debra Deutsch, "Flow
    Synchronization Protocol" IEEE/ACM Transactions on Networking,
    Vol.2, No. 2, pp.111-121, April 1994.

This may be more academic than you want; it defines a synchronization
model and what information needs to be communicated, rather than
providing a detailed protocol specification.  This protocol was
discussed in AVT for a while to consider whether RTP itself needed any
changes to support more general synchronization, but we concluded that
it did not.

This synchronization protocol was used in a demonstration of
distributed music performance that I helped implement at the ACM
Multimedia Conference 1994.  The music was a Haydn trio performed from
three different locations across the country.  Since only two
performers were available, one part was recorded.  That part was
transmitted over the network and played out simultaneously at the two
other locations.  The two live performers played their parts along
with that first one, not hearing each other.  All three parts were
multicast to multiple receivers, each of which synchronized the three
streams to play out the trio in unison.  The synchronization was
achieved through the timestamps on the media packets in combination
with delay offsets calculated by the synchronization protocol.

The synchronization goal for this demo is different from yours, but
the protocol is general.  You may find that you need to implement
something specific for your application, and this paper will give you
the theory behind it so you know what information needs to be
communicated where.

                                                        -- Steve

_______________________________________________
Audio/Video Transport Working Group
avt at ietf.org
https://www1.ietf.org/mailman/listinfo/avt