Detect automatically caps for UDP streaming

sergio_ myxdiablo at yahoo.com
Mon Jan 27 00:56:48 PST 2014


Hello,
I try to stream using UDP.

//server
gst-launch -v filesrc location=big_buck_bunny_720p_H264_AAC_25fps_3400K.mp4
! queue ! qtdemux name=dem dem. ! queue ! rtph264pay ! udpsink
host=127.0.0.1 port=3000 dem. ! queue ! rtpmp4apay ! udpsink host=127.0.0.1
port=5000
//client
gst-launch udpsrc port=3000 ! rtph264depay ! ffdec_h264 ! ffmpegcolorspace !
mfw_v4lsink disp-width=200 disp-height=200

When I run the client I get the next error:
ERROR: from element /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0: No
RTP format was negotiated.
Additional debug info:
gstbasertpdepayload.c(376): gst_base_rtp_depayload_chain ():
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0:
Input buffers need to have RTP caps set on them. This is usually achieved by
setting the 'caps' property of the upstream source element (often udpsrc or
appsrc), or by putting a capsfilter element before the depayloader and
setting the 'caps' property on that. Also see
http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtp/

If I add the caps in the client it works:
gst-launch udpsrc port=3000 caps = 'application/x-rtp, media=(string)video,
clock-rate=(int)90000, encoding-name=(string)H264,
sprop-parameter-sets=(string)\"Z0LADZp0AoAt2AiAAAADAIAAABlHihVQ\\,aM48gA\\=\\=\",
payload=(int)96, ssrc=(uint)1986209123, clock-base=(uint)150257395,
seqnum-base=(uint)29138' ! rtph264depay ! ffdec_h264 ! ffmpegcolorspace !
mfw_v4lsink disp-width=200 disp-height=200

But I need a way to detect the caps automatically, this way it will work for
files with different encoding/caps. Does anyoine know how to do this,
automatically detect the caps for UDP stream?

Thanks a lot,




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Detect-automatically-caps-for-UDP-streaming-tp4664899.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list