Raspberry Pi Low-Latency Stream with GStreamer

waymond91 waymond91 at gmail.com
Fri Oct 27 01:21:05 UTC 2017


Thank you guys for the help! Adding the queue seemed to do the trick!
Now my receive side pipeline looks like this:
*gst-launch-1.0 udpsrc port=5000 
  ! gdpdepay 
  ! rtph264depay 
  ! avdec_h264 
  ! videoconvert 
  ! tee name = t 
  t. ! queue ! autovideosink sync=false 
  t. ! queue ! filesink location=tee.h264
*

I am quite happy with this solution because all the decoding takes place
before the tee. Is the video being displayed and saved synchronously?

Any ideas for how to timestamp and save an invidual frame as it is
displayed? Would converting the stream to MJPEG before displaying and saving
the video add a lot of latency? Or should I just be streaming in MJPEG in
the first place?

I tried removing the gdppay from the source device and the gdpdepay from the
sink device, but now I get the following error from the sink device:

*GstPipeline:pipeline0GstRtpH264Depay: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. *

Reading the post from freedesktop, the gdppay seems to create some sort of
serial buffer specific to gstreamer. Not sure why I need it or if finding a
way around it would help with performance.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list