How SDP/RTSP works? (still confused)

Eric-BTG eric.chaloin at bt-ground.com
Wed Mar 25 06:59:19 PDT 2015


Hi everyone,

I know this is a prety prety old Thread, but like Ibra and Mazahir
Poonawalla I'm playing with test-sdp example. And like them I didn't manage
to properly use it.. :(

May be we both didn't underdood this example, I give you my results in hope
you can explain to me what I'm doing wrong.


I'm trying to split RTP stream and RTSP server using test-sdp example.

(Using version 1.4.5).

First I start RTP stream:

gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay pt=96 ! udpsink
host=127.0.0.1 port=5000

Then I launch RTSP server:

./test-sdp stream.sdp

With this custom stream.sdp file:

v=0
o=- 1188340656180883 1 IN IP4 127.0.0.1
s=test-sdp example with RTP H264 stream
i=rtsp-server
t=0 0
a=tool:GStreamer
a=type:unicast
a=control:*
a=range:npt=now-
m=video 5000 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 H264/90000
a=control:stream=0

And try to connect to RTSP stream:

gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8554/test ! decodebin !
autovideosink



Here is the full RTSP dialog:

OPTIONS rtsp://127.0.0.1:8554/test RTSP/1.0
CSeq: 1
User-Agent: RealMedia Player Version 6.0.9.1235
(linux-2.0-libc6-i386-gcc2.95)
ClientChallenge: 9e26d33f2984236010ef6253fb1887f7
CompanyID: KnKV4M4I/B2FjJ1TToLycw==
GUID: 00000000-0000-0000-0000-000000000000
RegionData: 0
PlayerStarttime: [28/03/2003:22:50:23 00:00]
ClientID: Linux_2.4_6.0.9.1235_play32_RN01_EN_586
Date: Wed, 25 Mar 2015 13:30:57 GMT

RTSP/1.0 200 OK
CSeq: 1
Public: OPTIONS, DESCRIBE, GET_PARAMETER, PAUSE, PLAY, SETUP, SET_PARAMETER,
TEARDOWN
Server: GStreamer RTSP server
Date: Wed, 25 Mar 2015 13:30:57 GMT

DESCRIBE rtsp://127.0.0.1:8554/test RTSP/1.0
CSeq: 2
Accept: application/sdp
Date: Wed, 25 Mar 2015 13:30:57 GMT

RTSP/1.0 200 OK
CSeq: 2
Content-Type: application/sdp
Content-Base: rtsp://127.0.0.1:8554/test/
Server: GStreamer RTSP server
Date: Wed, 25 Mar 2015 13:30:57 GMT
Content-Length: 170

v=0
o=- 1188340656180883 1 IN IP4 127.0.0.1
s=Session streamed with GStreamer
i=rtsp-server
t=0 0
a=tool:GStreamer
a=type:broadcast
a=control:*
a=range:npt=now-

As we can see SDP content is overwritten and is not my stream.sdp??? I don't
understand why my sdp content is not givent to client in order to connect to
RTP stream...

>From my understanding (and previous reporters I suppose) test-sdp example is
a RTSP server who serve given file.sdp. It does not manage stream and
doesn't rely PLAY/PAUSE events but manage RTSP dialog to client to let him
play stream described in sdp file. Isn't it?


(However if I play it directly from sdp file and sdpdemux it works):

gst-launch-1.0 filesrc location=stream.sdp ! sdpdemux ! decodebin !
videoconvert ! autovideosink


Does any one have a simple test-sdp working example?

Regards,

Eric



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/How-SDP-RTSP-works-still-confused-tp4110135p4671315.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list