raspivid vs v4l2 to rtspclientsink

Mark Raynsford list+org.freedesktop at io7m.com
Sun Nov 8 16:12:15 UTC 2020


I'm trying to collect video streams from multiple Raspberry Pi 4
devices on a central server. The devices have the standard Pi camera
module, and the following pipeline executed on each device "works":

gst-launch-1.0 \
  v4l2src device=/dev/video0 \
  ! capsfilter caps="video/x-raw, width=1296, height=972" \
  ! videoconvert \
  ! avenc_h263p bitrate=1500000 \
  ! rtspclientsink location=rtsp://rtsp.int.arc7.info:8554/$DEVICE_ID

The reason "works" is in quotes is because the frame rate is very
poor. There's only half a second or so of latency, but I'm seeing
maybe ~10fps when observing the stream.

Under the (possibly incorrect) assumption that this is a v4l2src
issue, I've tried piping the raspivid command line into gst-launch 
with an fdsrc, but everything I've tried has failed. Either the pipeline
fails before data can reach the rtsp server, or the clients (VLC,
mplayer, etc) can't read the stream with a variety of errors.

The distribution on the devices doesn't yet have a version of GStreamer
that has the rpicamsrc module, and I'd prefer not to build the old
gst-rpicamsrc codebase if there's any other alternative.

Note that I'm also having to use avenc_h263p in order to actually
get a stream that clients can understand, and this is dumb because
the Pi is giving me a raw H.264 stream already!

Does anyone have a working pipeline that clients such as VLC can
actually consume in this situation, and that gives a framerate
that I know the camera module is capable of?

Mark Raynsford | https://www.io7m.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 228 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20201108/ef7baf94/attachment.sig>

More information about the gstreamer-devel mailing list