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?
> 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?
The easiest way for this might be to use gst-rtsp-server. The client
then connects to the server via TCP, gets all the setup data (ports,
formats, etc.), and can then set up UDP/RTP streaming based on that