GNOME Bugzilla – Bug 335067
Need RTP ASF depayloader
Last modified: 2009-04-01 22:19:00 UTC
Current implementation of RTSP is incompatible with servers running Windows Media Server. Example is rtsp://mms.studios.tiscali.nl/StreamGate41 . Works with Windows Media Player, GStreamer gives "Invalid OPTIONS response.". With an Ethereal sniffing, it appears that Windows Media Player RTSP client does not even asks for OPTIONS, but issues a DESCRIBE immediately
The OPTIONS response does not contain Allow or Public on this server. This is however not required. Following patch should fix this. Next error is a 401, not allowed, which is a different issue. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_open): the OPTIONS request result is optional so don't fail on it.
Created attachment 61874 [details] Output of Ethereal's Follow TCP Stream Actually, I get an Unsupported Transport. Should a new bug be opened, ot is it enough to reopen this?
Created attachment 61875 [details] Output of Ethereal's Follow TCP Stream when using WIndows Media Player Apparently Windows Media Player appends unicast;interleaved=0-1;ssrc=<some session id> to the SETUP
I reopened this bug not because the original problem was not solved (it was), but because the title of this bug is vague enough to include the following problem encountered. And the following problem is: the server replies to the SETUP request with RTSP/1.0 461 Unsupported Transport
still getting 401, might have something to do with the fact that this is only available to members.
Works fine now. someone needs to make an rtpasf depayloader though. Changing topic now to reflect this.
Alternative demo stream (always get 401 with the above): rtsp://wm1.warpnet.jet-stream.nl/jet-stream/windowsmedia.wmv
Created attachment 74350 [details] [review] ASF depayloader, first attempt Here's a first attempt at an ASF RTP depayloader, based on the docs which can be found at http://sdp.ppona.com/. Not sure how correct it is, probably needs some more fine-tuning. asfdemux needs some love to work with this too.
*** Bug 362342 has been marked as a duplicate of this bug. ***
Created attachment 90653 [details] [review] udpated patch Updated patch. Same as above basically, but applies cleanly to CVS. Sink caps also have been updated: the encoding-name string is now upper-case.
The proposed depayloader should just copy timestamp and duration from incoming buffer to out buffer as is explained at gst-plugins-good/gst/rtp/README. The depayloader should keep the header until first buffer arrive and push it with the timestamp of the incoming buffer.
*** Bug 530264 has been marked as a duplicate of this bug. ***
*** Bug 560081 has been marked as a duplicate of this bug. ***
What the state of this patch? I need access to a stream that is encoded with that format
I applied this patch to cvs version, and it WORKS!. gst-launch rtspsrc location=..... protocols=0x4 ! rtpasfdepay ! filesink location=test.wmv ^^^ Works perfectly, resulting WMV is playable in totem, and no artifacts, no connection drops, works just perfectly. Only problem is that it doesn't work in totem due to "protocols=0x4", this I think is a bug in rtspsrc. It should try both TCP and UDP,(here debug output tells me that server doesn't support udp) Totem just shows nothing. Thanks a lot, Maxim Levitsky
The above problem with UDP (probably Unsupported Transport response to a SETUP request even though server reported it as supported) is most likely due to what is described in bug 552650 (patch given there may or may not apply to current HEAD CVS).
Commited a newly rewritten version. commit f0078ebae4a09800db8c5d486b99c223479384ab Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Fri Feb 20 13:48:08 2009 +0100 Add ASF depayloader Add ASF depayloader based on latest public MicroSoft docs (MS-RTSP). Fixes #335067.
Wow! Thanks
*** Bug 577654 has been marked as a duplicate of this bug. ***