[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