How and why v4l2src able to take YV12 format?

Nicolas Dufresne nicolas at ndufresne.ca
Mon Nov 18 17:54:51 UTC 2019


Le lundi 18 novembre 2019 à 07:39 -0600, jeyp4 a écrit :
> I modified GST_V4L2_USE_LIBV4L2=1 in a shell. But still v4l2src can't take
> YV12 format?
> 
> nvidia at jetson:~$ echo $GST_V4L2_USE_LIBV4L2
> 
> nvidia at jetson:~$ GST_V4L2_USE_LIBV4L2=1
> nvidia at jetson:~$ echo $GST_V4L2_USE_LIBV4L2
> 1
> nvidia at jetson:~$ gst-launch-1.0 -v v4l2src device=/dev/video0 !
> 'video/x-raw,format=(string)YV12,width=1280,height=720' ! xvimagesink
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal
> data stream error.
> Additional debug info:
> gstbasesrc.c(3055): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> streaming stopped, reason not-negotiated (-4)
> Execution ended after 0:00:00.000127687
> Setting pipeline to PAUSED ...
> Setting pipeline to READY ...
> Setting pipeline to NULL ...
> Freeing pipeline ...
> nvidia at jetson:~$ gst-inspect-1.0 --version
> gst-inspect-1.0 version 1.14.5
> GStreamer 1.14.5
> https://launchpad.net/distros/ubuntu/+source/gstreamer1.0

On master, it throws an error about colorimetry. I suspect libv4l2 does
not emulate that very well. Try commenting out that check, might work
for you, works for me on master. I'll need to investigate for a proper
workaround.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/blob/master/sys/v4l2/gstv4l2object.c#L3627

> 
> 
> 
> 
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list