Synchronizing Multiple Streams

Synchronizing Multiple Streams

One of the interesting things which RTP supports is synchronization of multiple streams (e.g., audio with a video stream)

0 1

2

3

8

16

VER

P

RC

PTYPE

Length

Sender’s Synchronization Source ID

NTP Time Stamp (most significant 32 bits)

NTP Time Stamp (least significant 32 bits)

RTP Timestamp

Sender’s Packet Count

Sender’s Octet Count

First Synchronization Source

Fraction Lost

Total Packets Lost

Extended Highest Sequence Received

Inter-arrival Jitter

Last Sender Report

Delay Since Last Sender Report

One of the interesting things which RTP supports is synchronization of multiple streams (e.g., audio with a video stream) 0 1 2 3 8 16

  • Unfortunately, since the time stamps of each stream started at a random number we need some other method to synchronize them!
  • Thus use Network Time Protocol (NTP) based time stamps ⇒ an absolute timestamp
  • If we include the stream timestamps we can correlate them to absolute time (and hence from one stream to another)

Transcript

[slide105] How do we synchronize them all together? So we have these messages where what we do is we put the sender's synchronization source ID, we now use NTP timestamps, and now we can correlate those with the RTP timestamp. And by sending this information out, every one of the entities knows how to adjust their play out to be synchronized to NTP time. Now, anyone know any [time] protocols? Well, first of all, how accurate can we get with NTP? [student answers] Yes. So if there's a lot of jitter on your networks, maybe you can get milliseconds sort of timing. [student answers] Right. But today, there is a protocol called the precision time protocol, and the goal of that is to actually be able to go down to nanosecond synchronization of the sources with a common time source. And this is a very, very interesting question of what would happen if, for instance, we did a modern version of this and we said, hey, we're going to do PTP, instead of NTP. Will that change the kinds of things we can do?