[Live-devel] RTSP Seek problems
    Philippe Bridant 
    philippe.bridant at smartjog.com
       
    Wed Jan 26 15:23:55 PST 2005
    
    
  
 > > One other is that the currently given timestamps makes difficult
 > > (and not generic) the way to compute the position in stream when
 > > playing.
 >
 > That's not the purpose of the "RTP timestamp".  The purpose of the RTP
 > timestamp is to indicate the *presentation time* of the stream, which
 > is a continuous variable (even if the stream was generated by seeking
 > within a file).  In any case, I can't redefine what the RTP timestamp
 > means, nor can I change what RTP timestamps servers include in their
 > outgoing RTP packets.  Get real :-)
It seems that you misunderstood me.
If I could have the RTP Timestamp in the same time that the 
"Presentation Timestamp", I would be able to do a SIMPLE substraction to 
have the "current playing position" (for the seek bar in VLC).
 >
 > > Note that any code that makes use of the LIVE.COM libraries should
 > never have to know or care about "RTP timestamps" - the underlying
 > LIVE.COM > libraries (at both the sender and receiver ends)
 > automatically converts presentation times to/from "RTP timestamps".
I know this.
 > There is such a function:
 >          RTPSource::curPacketRTPTimestamp()
 > which tells you the RTP timestamp of the most recently-received RTP
 > packet.  However, once again, you *do not need* this; it gives you no
 > useful information.
Does this function give the "RTP timestamp" of the frame that is being 
processed in the AfterGettingFunc or give the lastest "RTP timestamp" 
received in the LIVE buffers ?
Difference is not so big but is not the same at all...
====================================================================
I've made some tests with:
1) Darwin Streaming Server
    - Sending an mp4 file
2) Ethereal
    - Dumping incoming UDP RTP packet (from DSS to VLC)
    - Decode those packets using RTP protocol
    - Exporting "RTP timestamps" onto a file
3) VLC Using LIVE.COM lib
    - reading the RTP stream
    - displaying (in the aftergettingfunc) the "presentation timestamps"
      given by LIVE and redirecting those PTS onto a file.
    - *requesting severall seeks to the server while playing*
4) GNUPlot
    - Creating two graphics, one for the "presentation timestamps" given
      by LIVE and one for the "RTP timestamps" sent by DSS.
Those graphics are available here:
http://www.bridant.net/vlc.png
http://www.bridant.net/rtp.png
We can see in those two graphics that :
- Darwin is sending correct "RTP timestamps" (changing when seeking)
- The LIVE lib "presentation timestamps" progression is not linear as it
   should be (with or without seeks, the "presentation timestamps" should
   be increasing at constant speed (time proportions) ).
I hope those graphics will help you to find out the problem.
Regards
-- 
Philippe Bridant
Philippe.Bridant at smartjog.com
    
    
More information about the live-devel
mailing list