Good afternoon. I have a Jetson AGS Xavier and 2 Leopard Imaging LI-IMX390 cameras. the task is to get an image from two cameras simultaneously using gstreamer.
I use the following command
gst-launch-1.0 nvcompositor name=nvcomp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=1920 sink_0::height=1080 sink_1::xpos=1920 sink_1::ypos=0 sink_1::width=1920
! nvvidconv ! ‘video/x-raw(memory:NVMM), format=(string)I420’, width=3840, height=1080 ! nv3dsink
nvarguscamerasrc sensor_id=1 ! ‘video/x-raw(memory:NVMM), width=1920, height=1080, format=(string)NV12, framerate=(fraction)30/1’
! nvvidconv flip-method=2 ! nvcomp.sink_0
nvarguscamerasrc sensor_id=0 ! ‘video/x-raw(memory:NVMM), width=1920, height=1080, format=(string)NV12, framerate=(fraction)30/1’
! nvvidconv flip-method=2 ! nvcomp.sink_1
But it gives an error
gst-launch-1.0 nvcompositor name=nvcomp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=1920 sink_0::height=1080 sink_1::xpos=1920 sink_1::ypos=0 sink_1::width=1920 ! nvvidconv ! “video/x-raw(memory:NVMM), format=(string)I420”, width=3840, height=1080 ! nv3dsink nvarguscamerasrc sensor_id=1 ! “video/x-raw(memory:NVMM), width=1920, height=1080, format=(string)NV12, framerate=(fraction)30/1” ! nvvidconv flip-method=2 ! nvcomp.sink_0 nvarguscamerasrc sensor_id=0 ! “video/x-raw(memory:NVMM), width=1920, height=1080, format=(string)NV12, framerate=(fraction)30/1” ! nvvidconv flip-method=2 ! nvcomp.sink_1
nvbuf_utils: Could not get EGL display connection
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
GST_ARGUS: Creating output stream
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected…
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 59000, max 33333000;GST_ARGUS: Running with following settings:
Camera index = 1
Camera mode = 0
Output Stream W = 1920 H = 1080
seconds to Run = 0
Frame Rate = 29,999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Waiting until producer is connected…
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 59000, max 33333000;GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 0
Output Stream W = 1920 H = 1080
seconds to Run = 0
Frame Rate = 29,999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD… Exiting…
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc1: TIMEOUT
Additional debug info:
Argus Error Status
Execution ended after 0:00:02.923376928
Setting pipeline to PAUSED …
Setting pipeline to READY …(gst-launch-1.0:10234): GStreamer-CRITICAL **: 12:50:18.644: gst_mini_object_set_qdata: assertion ‘object != NULL’ failed
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD… Exiting…
CONSUMER: Done Success
GST_ARGUS: Cleaning up
GST_ARGUS: Done Success(gst-launch-1.0:10234): GStreamer-CRITICAL **: 12:50:19.089: gst_mini_object_set_qdata: assertion ‘object != NULL’ failed
GST_ARGUS: Cleaning up
Setting pipeline to NULL …
Freeing pipeline …
What could be the problem?
I run one camera at a time normally and they work
For single camera? I use:
gst-launch-1.0 nvarguscamerasrc tnr-mode=0 sensor-id=0 ! “video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, framerate=30/1” ! nvvidconv flip-method=0 ! “video/x-raw, format=(string)I420” ! xvimagesink -e