On 4/8/20 12:28 PM, Fabio Estevam wrote:
Hi Steve,
On Wed, Apr 8, 2020 at 4:16 PM Steve Longerbeam <slongerbeam@xxxxxxxxx> wrote:
You have to set a format at the capture interface as the last step
before streaming can start:
# v4l2-ctl -d /dev/video1 --set-fmt-video=pixelformat=RGB3
Thanks. After running this line the stream can start via --stream-mmap:
# v4l2-ctl --stream-mmap -d /dev/video1
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.03 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.03 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.03 fps
but it fails with Gstreamer:
# gst-launch-1.0 -v v4l2src device=/dev/video1 ! kmssink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1024
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 768
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3072): gst_base_src_loop ():
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
Should I change the Gstreamer pipeline?
It works for me, I'm running gstreamer version:
arm:~/scripts % gst-launch-1.0 --version
gst-launch-1.0 version 1.14.5
GStreamer 1.14.5
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0
Also, I'm streaming to an HDMI monitor at 1920x1080 (passing
connector-id=54 to kmssink).
I can't tell from your gst output whether you are having an issue with
pixelformats or frame dimensions, but anyway here is my gst pipeline:
gst-launch-1.0 v4l2src device=/dev/video1 ! kmssink connector-id=54
name=imx-drm sync=0 can-scale=false
It might also be the can-scale property, you might need to provide
can-scale=false to tell kmssink that imx-drm cannot scale 800x600 to
something else.
While streaming, I checked what pixelformat the pipeline finally settled on:
arm:~/scripts % v4l2-ctl -d1 -V
Format Video Capture:
Width/Height : 800/600
Pixel Format : 'XR24'
Field : None
Bytes per Line : 3200
Size Image : 1920000
Colorspace : sRGB
Transfer Function : sRGB
YCbCr/HSV Encoding: ITU-R 601
Quantization : Full Range
Flags :
Steve