I’m working on the following gst command:
gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg, width=1920, height=1080, framerate=60/1 ! nvv4l2decoder mjpeg=1 ! nvvidconv ! video/x-raw,format=I420 ! videorate ! video/x-raw,framerate=30/1 ! fakesink sync=false -v
What I’m trying to achive is to capture the image from the
/dev/video0 at 60 fps but then before I’ll do anything else with reduce it to for example 30 fps or any other framereate that may not be supported by the webcam. I thought that by putting the
videorate I’m going to achieve my goal but this just results with the following error:
Setting pipeline to PAUSED ... Opening in BLOCKING MODE Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error. Additional debug info: gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: streaming stopped, reason not-negotiated (-4) Execution ended after 0:00:00.000753128 Setting pipeline to NULL ... Freeing pipeline ...
If I change the command just so the framerate for capture and then videorate are the same everything works.
How can I capture at 60/30 fps but then reduce that to something like 10 fps?