Jetson AGX Xavier read MIPI CSI-2 without I2C capture and store raw frame via gstreamer

Hello NVIDIA Developers,

I use a Jetson AGX Xavier running L4T 32.4.3 to read a 2-lane MIPI CSI-2 without I2C from a IMX290 sensor.
The IMX290 sensor do not have I2C connection to AGX Xavier, it is initial by external device.

I have modified the sensor driver, and I used the below command can receive frame and show the stream:
gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 ! ‘video/x-raw(memory:NVMM), width=(int)1948, height=(int)1096,format=(string)NV12, framerate=(fraction)30/1’ ! nvvidconv ! xvimagesink
it’s work, and I get the video is 1948 x 1096, 30fps.

The question is …
I would like to be able to store the frame original raw data, is there have any command I could use? or do I need to develop a new plugin for gstreamer calling?

I have tried :
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RAW12 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=test.raw
and tried to use v4l2src plugin, but it’s not working.

Thanks a lot!
Josh

  1. Modify the command like below to try
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1948,height=1096 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=test.raw
  1. Have reference to below sample code to get PIXEL_FMT_RAW16 data.

./samples/cudaBayerDemosaic