[Live-devel] setting rtpTime return by the RTSP PLAY

Ross Finlayson finlayson at live555.com
Wed Feb 27 08:27:42 PST 2013


> The purpose is to get from the client end the presentation time that was sent by the server.
> By now the client presentation time start from gettimeofday and will be synchronized by the first RTSP Sender report.

You meant to say "RTCP Sender Report".  But yes, that's correct.


> what I would like to have is the NTP time that is in RCTP (I always ask myself why this time is not in the RTP header !)

I agree.  This is a flaw in the design of RTP, IMHO.  To save space in the RTP header, the protocol's designers decided that each RTP packet would contain only a 32-bit timestamp.  Then, because 32 bits is not enough to convey a full presentation time, they added this convoluted mechanism whereby a separate control protocol (RTCP) would be used to map the 32-bit RTP timestamp into a full (64-bit) presentation time.

But this means that - until the first RTCP "SR" packet is received by the client (i.e., in our code, before "RTPSource::hasBeenSynchronizedUsingRTCP()" returns True) - the client does not (and cannot) know the server's presentation time, and has to 'guess' it.  (The RTSP "RTP-Info" information does *not* give you this; it gives you 'normal play time', which is different.)  Sorry.

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130228/a4d5054b/attachment-0001.html>


More information about the live-devel mailing list