[Live-devel] WM RTSP support for live streams

Derk-Jan Hartman hartman at videolan.org
Tue Aug 23 17:55:23 PDT 2005


Hi Ross,

I would like to support WM rtsp streams. However, it's M$, so they  
made a couple mistakes along the way :D

v=0
o=- 200508231004190599 200508231004190599 IN IP4 127.0.0.1
s=<No Title>
c=IN IP4 0.0.0.0
b=AS:289
a=maxps:1444
t=0 0
a=control:rtsp://streams01.hosting.nob.nl/test/
a=etag:{DFCCDC46-9312-F8FD-EDA6-78D9A2E5DFAF}
a=range:npt=3.000-3.000
a=type:broadcast
a=recvonly


This is for a live broadcast. A draw your attention to the a=range.  
Completely bull. 3.000 is actually the buffertime. (we verified  
this). Now this confuses VLC to continuously play 3 seconds  
(according to it's time position bar). The stream in itself is  
playing, but the bar is really annoying.

For comparison I paste the SDP for a on demand stream
v=0
o=- 200508231013460188 200508231013460188 IN IP4 127.0.0.1
s=<No Title>
c=IN IP4 0.0.0.0
b=AS:307
a=maxps:1444
t=0 0
a=control:rtsp://media2.hosting.nob.nl/nob/test.wmv/
a=etag:{E340CB23-1DE4-7264-0F45-98C43CEB5802}
a=range:npt=5.000-231.730
a=recvonly
a=pgmpu:data:application/x-wms-con

You see here 5 secs (again the buffertime), and the correct duration.  
Since liveMedia ignores a=range starttime, this poses no problem.
Now i would like to create a patch that basically does:

if server == WMServer && a=type:broadcast
then
ignore a=range.

Implementing this in itself (in MediaSession.cpp) isn't a problem,  
however I would like to ask you how/where I should implement the  
recognition of the server (i gather in RTSPClient.cpp). (Server:  
WMServer/9.1.1.3814) Where do you want me to add the fMicrosoftRTSP  
flag basically :D

After having fixed this, 1 problem still remains, and that is that  
the advised buffertime really should be handled, because it seems  
WMServer sends it's streams quite out of sync (and if the buffer is  
too small, then VLC cannot sync them).

DJ



More information about the live-devel mailing list