I am currently working on setting up a imx415 Bayer sensor with Gstreamer. I have successfully worked with GStreamer on the Xavier NX with an Arducam and am now attempting to replicate that functionality (in my case running Object Detection using Deepstream) with the imx415 camera. However,
nvarguscamerasrc does not seem to work with my imx415 camera and immediately seg faults. Nvidia’s Camera Software Development documentation indicates that this is a valid use case.
Use the nvarguscamerasrc GStreamer plugin supported camera features with ARGUS API to:
•Enable ISP post-processing for Bayer sensors
•Perform format conversion
•Generate output directly for YUV sensor and USB camera
For example, for a Bayer sensor with the format 1080p/30/BGGR:
Here is some v4l2-ctl information about the camera.
vi-output, imx415 32-001a (platform:15c10000.vi:0): /dev/video0 NVIDIA Tegra Video Input Device (platform:tegra194-vi5): /dev/media0
v4l2-ctl -d0 --list-formats-ext:
ioctl: VIDIOC_ENUM_FMT Type: Video Capture : 'GB10' (10-bit Bayer GBGB/RGRG) Size: Discrete 3864x2192 Interval: Discrete 0.011s (90.000 fps) Size: Discrete 1296x720 Interval: Discrete 0.004s (260.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.011s (90.000 fps) : 'GB12' (12-bit Bayer GBGB/RGRG) Size: Discrete 3864x2192 Interval: Discrete 0.011s (90.000 fps) Size: Discrete 1296x720 Interval: Discrete 0.004s (260.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.011s (90.000 fps)
The GStreamer command I am using:
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory(NVMM),format=NV12' ! nvvidconv ! nvoverlaysink
Output of above GStreamer command:
Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock Caught SIGSEGV Got EOS from element "pipeline0". Execution ended after 0:00:00.274861312 Setting pipeline to PAUSED ... Setting pipeline to READY ... exec gdb failed: No such file or directory Spinning. Please run 'gdb gst-launch-1.0 8512' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
I am not sure where to start debugging this since the only output GStreamer provides is that a SIGSEGV was caught. Any idea where to begin understanding what is going wrong here?