I'm playing with gstreamer rtsp.
I created a rtsp sink as this:
gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=10 pt=96 ! udpsink host=127.0.0.1 port=5000
I can't open it directly by VLC (with rtsp://127.0.0.1:5000) but with a vlc.sdp
file, it can be displayed. the vlc.sdp file is like:
v=0
m=video 5000 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 H264/90000
vlc vlc.sdp
The file above is copied from somewhere, I don't understand it well but I think the rtsp sink is and working. I think it's rtsp over udp since I see rtph264pay
and udpsink
in the cmd line above.
Then I'd like to use rtspsrc
to display it.
gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:5000 ! rtph264depay ! avdec_h264 ! autovideosink sync=false
But I have errors like this:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://127.0.0.1:5000
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not open resource for reading and writing.
Additional debug info:
gstrtspsrc.c(7469): gst_rtspsrc_retrieve_sdp (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Failed to connect. (Generic error)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
So what's wrong with my rtspsrc
command?