I am working on a project with the following setup:
Jetson Nano 4GB
IMX 477 CSI Camera
I have a web application which I have to host on the jetson nano. The web application uses webRTC for capturing video feed from webcam. The CSI camera is not supported for the same.
So, I tried to enable v4l2loopback to sink the IMX 477 camera streams to a linux video node(/dev/video5), as recommended by the link - https://forums.developer.nvidia.com/t/csi-camera-not-seen-by-browser/167742
Then, I build v4l2loopback and created a v4l2loopback device at dev/video5.
Using nvarguscamerasrc, gstreamer is able to sink the output to autovideosink -
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' ! nvvidconv ! 'video/x-raw, format=I420' ! autovidesink
However, when I am trying to link the nvvidconv element to v4l2 sink -
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' ! nvvidconv ! 'video/x-raw, format=I420' ! identity drop-allocation=true ! v4l2sink device=/dev/video5
I am getting the following errors-
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: Internal data stream error. Additional debug info: gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: streaming stopped, reason not-negotiated (-4) Execution ended after 0:00:03.055207182
Any advice on how to pass the nvarguscamerasrc to v4l2sink?