I’m looking for a solution to read a CSI camera using gstreamer/v4l2 directly into NVMM such that I can continue processing the data using the GPU/VPI based on Nitros.
Is there an exisiting implementation or pointers to a good solution?
I’m looking for a solution to read a CSI camera using gstreamer/v4l2 directly into NVMM such that I can continue processing the data using the GPU/VPI based on Nitros.
Is there an exisiting implementation or pointers to a good solution?
Hello @dubi,
I think you should be able to use nvarguscamerasrc to capture images from your camera directly into NVMM. Then you can pass that unified memory pointer straight into CUDA or your NITROS pipeline.
Are you able to capture using nvarguscamerasrc or do you need to capture from a non-bayer camera so you need to skip ISP?
best regards,
Andrew
Embedded Software Engineer at ProventusNova
Hi,
We have the nvv4l2camerasrc plugin. You can install nvidia-l4t-gstreamer package to get it. The source code is also public:
Jetson Linux Release 36.4.4 | NVIDIA Developer
Driver Package (BSP) Sources
For information, do you use AGX Orin with Jetpack 6.2.1 r36.4.4?
Thanks a bunch for the quick reply!
I’m using Orin NX.
Where can I find the source code?
Is the best starting point this demo app: Jetson Linux API Reference: 12_camera_v4l2_cuda (camera capture CUDA processing) | NVIDIA Docs ?
Thanks for the reply! Unfortuantely, my camera is v4l2 based, so I cannot use argus :-(
Hi,
The source code is in Driver Package (BSP) Sources. You can see the link in Jetpack release page.
Thank you @DaneLLL
Can you please point me to the correct subfolder?
Or is it: .. Linux_for_Tegra\source\gst-nvv4l2camera_src\gst-nvv4l2camera?
Also, is there a sample NITROS code that demoes a node the wraps around this?
Hi,
Please extract the source code package, and then extract gst-nvv4l2camera_src.tbz2
@DaneLLL perfect. Got it. And is there also a sample showing how to integrate this with a NITROS node / demo app?
Hi,
There is no existing sample for this use-case. You would need to do the integration.
I figured how how to get it to work, but it seems like gstreamer doesn’t support greyscale to NVMM?
hence with greyscale images I’m forced to copies and use the CPU
What am I missing?