Rob Mapes
Rob Mapes

Reputation: 11

gstreamer pipeline saves my camera stream to a file, but I need a pipeline to stream it live to my monitor

ok, this works

This gstreamer pipeline works well to save my camera video stream to a file on my raspberry pi.

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,framerate=30/1,format=UYVY' ! v4l2h264enc ! 'video/x-h264,level=(string)4' ! filesink location = test_video6.h264

but what is the correct pipeline to display a live video stream from my camera in order to watch it in real time on my monitor, instead of just saving it to a file to view it later with VLC.

For example, I have tried adding ! videoconvert ! autovideosink to the above pipeline, but it does not work.

Upvotes: 1

Views: 6382

Answers (1)

Spiros
Spiros

Reputation: 99

Try this: gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,framerate=30/1,format=UYVY' ! v4l2h264enc ! 'video/x-h264,level=(string)4' ! decodebin ! videoconvert ! autovideosink

If this doesn't work you can use the general example of a video pipeline from here and use:

gst-launch-1.0 v4l2src ! decodebin ! videoconvert ! autovideosink

from there you can add the settings you want.

EDIT: Another implementation is creating a tee of your file and send it to play through a queue in this case you do:

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,framerate=30/1,format=UYVY' ! v4l2h264enc ! 'video/x-h264,level=(string)4'! tee name="source"! queue ! filesink location = test_video6.h264 source. ! queue !  decodebin ! videoconvert ! autovideosink

Upvotes: 2

Related Questions