gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, width=1920, height=1080, format=BGR ! v4l2sink device=/dev/video14Setting pipeline to PAUSED ...
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.000844832
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
I cant find any solution how deal with “Video Capture Multiplanar”
Thanks for sharing, the reason your original GStreamer pipeline fails is not that the Khadas MIPI camera lacks capture. The MIPI camera exposes a Video Capture Multiplanar V4L2 interface, which many capture apps don’t negotiate by default.
works because it explicitly declares the output format.
To make your loopback solution work, you must specify valid formats and include conversion (e.g., videoconvert) before v4l2sink, so that caps negotiation succeeds. Otherwise GStreamer reports not-negotiated like in your log.
The supported method is to use explicit caps matching what the camera actually outputs or use the official GStreamer pipelines in the Khadas docs.