Couldn' t able to access 4 GMSL(CSI) camera using Deepstream on AGX ORIN

Set up info:

Jetson AGX ORIN
Deepstream version : 6.3
Jetpack version: 5.1.2
TRT: 8.5.2

Issue: I am using MIPI board to connect with my GMSL cameras from leopard imaging(IMX490). I was able to stream two camera source using ‘deepstream-app -c config.txt’ command by enabling source properties in the config file. However, when I try to scale it to four GMSL cameras, it randomly takes two input streams leaving the other two as blank screen. Setting the caps, changing buffer size in nvstreammux, and adding queue elements using python scripts didn’ t resolve the issue.

deepstream_app_config_GMSL_camera.txt (1.5 KB)

Could you help me resolve the issue here?
PFA.
Thanks.

Can you please confirm whether the GMSL cameras work well outside DeepStream? For example, with the v4l2-ctl command described in Camera Software Development Solution — Jetson Linux Developer Guide documentation (nvidia.com)?

Yes. I am able to access all 4 cameras simultaneously through OpenCv and individually through ‘nvgstcapture-1.0 --sensor-id %d’.
Currently, my solution is to pass the frames from opencv to deepstream pipeline through ‘appsrc’ element in gstreamer. But, in order to do so, the streams are converted from ‘video/x-raw(memory:NVMM)’ to CPU memory ‘video/x-raw’ which I need to again convert it to NVMM memory using ‘nvvideoconvert’ in the deepstream pipeline.

I am not sure if repeated conversion will cause any performance issue. Do let me know if there’ s any better way to do it.

Also, Kindly look into the issue I mentioned before and provide a solution. Thanks.

Could you attach the log while run deepstream-app with GST_DEBUG=3?

Here’ s the log requested:

WARNING: [TRT]: Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors.
Deserialize yoloLayer plugin: yolo
0:00:04.115015599 42026 0xaaaad53c2260 INFO                 nvinfer gstnvinfer.cpp:682:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1988> [UID = 1]: deserialized trt engine from :/home/aiml-orin/DeepStream-Yolo/YoloV8m_model_b1_gpu0_fp32.engine
INFO: [Implicit Engine Info]: layers num: 5
0   INPUT  kFLOAT data            3x640x640       
1   OUTPUT kFLOAT num_detections  1               
2   OUTPUT kFLOAT detection_boxes 8400x4          
3   OUTPUT kFLOAT detection_scores 8400            
4   OUTPUT kFLOAT detection_classes 8400            

0:00:04.285711303 42026 0xaaaad53c2260 INFO                 nvinfer gstnvinfer.cpp:682:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2091> [UID = 1]: Use deserialized engine model: /home/aiml-orin/DeepStream-Yolo/YoloV8m_model_b1_gpu0_fp32.engine
0:00:04.318407554 42026 0xaaaad53c2260 INFO                 nvinfer gstnvinfer_impl.cpp:328:notifyLoadModelStatus:<primary_gie> [UID 1]: Load new model:/home/aiml-orin/DeepStream-Yolo/config_infer_primary_yoloV8.txt sucessfully
0:00:04.319011265 42026 0xaaaad4981f60 FIXME                default gstutils.c:3980:gst_pad_create_stream_id_internal:<src_elem:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:04.319081536 42026 0xaaaae08ef860 FIXME                default gstutils.c:3980:gst_pad_create_stream_id_internal:<src_elem:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:04.319180416 42026 0xaaaae08ef920 FIXME                default gstutils.c:3980:gst_pad_create_stream_id_internal:<src_elem:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:04.319301120 42026 0xaaaae08ef9e0 FIXME                default gstutils.c:3980:gst_pad_create_stream_id_internal:<src_elem:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id

Runtime commands:
	h: Print this help
	q: Quit

	p: Pause
	r: Resume

NOTE: To expand a source in the 2D tiled display and view object details, left-click on the source.
      To go back to the tiled display, right-click anywhere on the window.

** INFO: <bus_callback:239>: Pipeline ready

** INFO: <bus_callback:225>: Pipeline running

GST_ARGUS: Creating output stream
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

GST_ARGUS: Running with following settings:
   Camera index = 2 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Available Sensor modes :
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

CONSUMER: Producer has connected; continuing.
GST_ARGUS: Running with following settings:
   Camera index = 3 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
GST_ARGUS: Available Sensor modes :
CONSUMER: Producer has connected; continuing.
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

GST_ARGUS: Running with following settings:
   Camera index = 1 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   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.

**PERF:  FPS 0 (Avg)	FPS 1 (Avg)	FPS 2 (Avg)	FPS 3 (Avg)	
**PERF:  0.00 (0.00)	0.00 (0.00)	0.00 (0.00)	0.00 (0.00)	
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
nvstreammux: Successfully handled EOS for source_id=1
nvstreammux: Successfully handled EOS for source_id=0
**PERF:  0.00 (0.00)	0.00 (0.00)	25.62 (25.37)	25.62 (25.37)	
**PERF:  0.00 (0.00)	0.00 (0.00)	21.48 (21.74)	21.28 (21.56)	
**PERF:  0.00 (0.00)	0.00 (0.00)	19.99 (20.91)	19.99 (20.81)	
Quitting
nvstreammux: Successfully handled EOS for source_id=2
nvstreammux: Successfully handled EOS for source_id=3
GST_ARGUS: Cleaning up
GST_ARGUS: Done Success
GST_ARGUS: Cleaning up
GST_ARGUS: Done Success
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
0:00:30.194576984 42026 0xfffea40154c0 ERROR       nvarguscamerasrc gstnvarguscamerasrc.cpp:1675:consumer_thread:<src_elem> Error in pool acquire buffer
App run successful

Thanks.

It seems that there are no memory available. Could you check the memory loading when run the 4 camera?

Using Jetson-stats(jtop): In ‘deepstream-app’ command, I didn’ t observe any over-the-top surge in memory when the application began.

Kindly let me know if there’ s any specific log you need to see or any other element properties I need to set.

Could you change that mode to 4 MEM to check the memory usage? Or you can refer to the FAQ to get the memory info.

I checked it. I am using 64 GB ORIN device. If it is a memory issue as per the ERROR Msg, it might be the case of internal memory management.

Kindly let me know if any other steps I need to take.

Hi,
Please try the command and see if the 4 cameras can be launched successfully:

gst-launch-1.0 -v nvarguscamerasrc sensor-id=0 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 nvarguscamerasrc sensor-id=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 nvarguscamerasrc sensor-id=2 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 nvarguscamerasrc sensor-id=3 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0

It seems to be the same error and the behavior also remains the same. As you could see, it randomly took two camera sources (in this case, sensor-id 1 & 3) dropping the other two. When I ran it again, it took camera sources with sensor-id 1 & 2.

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink3/GstFakeSink:fakesink3: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink2/GstFakeSink:fakesink2: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1/GstFakeSink:fakesink1: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = false
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc3.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc3.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink2/GstFakeSink:fakesink2.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink2.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink3.GstGhostPad:sink.GstProxyPad:proxypad3: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink3/GstFakeSink:fakesink3.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink3.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc1.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1.GstGhostPad:sink.GstProxyPad:proxypad1: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1/GstFakeSink:fakesink1.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
GST_ARGUS: Creating output stream
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

GST_ARGUS: Running with following settings:
   Camera index = 3 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

CONSUMER: Producer has connected; continuing.
GST_ARGUS: Running with following settings:
   Camera index = 1 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

CONSUMER: Producer has connected; continuing.
GST_ARGUS: Running with following settings:
   Camera index = 2 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   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
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink3/GstFakeSink:fakesink3: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink2/GstFakeSink:fakesink2: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1/GstFakeSink:fakesink1: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1: last-message = rendered: 10, dropped: 0, current: 19.71, average: 19.71
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink3: last-message = rendered: 11, dropped: 0, current: 20.14, average: 20.14
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1: last-message = rendered: 21, dropped: 0, current: 20.02, average: 19.87
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink3: last-message = rendered: 22, dropped: 0, current: 19.96, average: 20.05
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1: last-message = rendered: 31, dropped: 0, current: 19.99, average: 19.91
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink3: last-message = rendered: 33, dropped: 0, current: 20.01, average: 20.04
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1: last-message = rendered: 42, dropped: 0, current: 20.00, average: 19.93
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink3: last-message = rendered: 44, dropped: 0, current: 20.03, average: 20.03

Thanks.

Hi,
Please execute the commands and check if you can launch the 4 cameras:
Jetson/l4t/Camera BringUp - eLinux.org

By default dynamic frequency scaling is enabled for CSI and ISP engines. For simultaneously launching multiple cameras, please run the engines at maximum clock.

I ran those commands. I have also enabled ‘sudo jetson_clocks’ long ago. However, I didn’ t receive any of the error messages listed in Jetson/l4t/Camera BringUp - eLinux.org

I also tried to enable more debug messages but didn’ t know exactly which log to look as it wasn’ t mentioned in the link. At the end, I received:

Error still persists.

Thanks for your response.

Hi,
Are you able to launch 3 cameras simultaneously? The issue is in the camera source. You would need to investigate why it cannot launch 4 cameras simultaneously. Once this is resolved, hooking the camera source with DeepStream SDK should work just fine.

Hi,
No. I should have mentioned this before. I can’ t able to access more than 2 cameras simultaneously. However, my project requirements needs 4 camera access anyway.

As I have mentioned before, I can access four cameras through ‘nvgstcapture-1.0’ running separately on four different terminal windows at the same time, and also through OpenCv. Both of which seems to rule out hardware limitations.

I couldn’ t find any other reference to my current scenario to explore new solutions.

Moving to Orin forum for better support.

@le.lokaram.t
Which driver are you using? Could you try below driver which should be able to stream 4 cameras simultaneously.

Hi,

Thanks for your response.

I double-checked. we are using the same driver mentioned above.

I can access four camera simultaneously through independent console windows. However, I am facing an issue while using deepstream or gstreamer pipeline.

For example, the Gstreamer command provided by DaneLLL doesn’t capture all the four cameras simultaneously:

gst-launch-1.0 -v nvarguscamerasrc sensor-id=0 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 nvarguscamerasrc sensor-id=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 nvarguscamerasrc sensor-id=2 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 nvarguscamerasrc sensor-id=3 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0

Could you try below gstreamer command to run all 4 cameras? (The sensor-id=0 can be changed to 1, 2 and 3)

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! ‘video/x-raw(memory:NVMM), width=(int)2880, height=(int)1860, framerate=30/1’ ! nvvidconv flip-method=0 ! ‘video/x-raw, format=(string)I420’ ! xvimagesink -e

Using the given command, I can access all four cameras simultaneously through independent terminal windows. However, error behavior is the same when I run it together as below:

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM), width=(int)2880, height=(int)1860, framerate=30/1' ! nvvidconv flip-method=0 ! 'video/x-raw, format=(string)I420' ! xvimagesink -e nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM), width=(int)2880, height=(int)1860, framerate=30/1' ! nvvidconv flip-method=0 ! 'video/x-raw, format=(string)I420' ! xvimagesink -e nvarguscamerasrc sensor-id=2 ! 'video/x-raw(memory:NVMM), width=(int)2880, height=(int)1860, framerate=30/1' ! nvvidconv flip-method=0 ! 'video/x-raw, format=(string)I420' ! xvimagesink -e nvarguscamerasrc sensor-id=3 ! 'video/x-raw(memory:NVMM), width=(int)2880, height=(int)1860, framerate=30/1' ! nvvidconv flip-method=0 ! 'video/x-raw, format=(string)I420' ! xvimagesink -e

Error message as follows: (Only two camera streams are visible and the other two are blank screens. Those two camera streams are chosen randomly every time I run the command)

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: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
CONSUMER: Waiting until producer is connected...
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

GST_ARGUS: Running with following settings:
   Camera index = 3 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

GST_ARGUS: Running with following settings:
   Camera index = 1 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2880 x 1860 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 11.000000; Exposure Range min 250000, max 19000000;

GST_ARGUS: Running with following settings:
   Camera index = 2 
   Camera mode  = 0 
   Output Stream W = 2880 H = 1860 
   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.
CONSUMER: Producer has connected; continuing.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink3: Pipeline construction is invalid, please add queues.
Additional debug info:
gstbasesink.c(1209): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink3:
Not enough buffering available for  the processing deadline of 0:00:00.015000000, add enough queues to buffer  0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink2: Pipeline construction is invalid, please add queues.
Additional debug info:
gstbasesink.c(1209): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink2:
Not enough buffering available for  the processing deadline of 0:00:00.015000000, add enough queues to buffer  0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink1: Pipeline construction is invalid, please add queues.
Additional debug info:
gstbasesink.c(1209): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink1:
Not enough buffering available for  the processing deadline of 0:00:00.015000000, add enough queues to buffer  0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Pipeline construction is invalid, please add queues.
Additional debug info:
gstbasesink.c(1209): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
Not enough buffering available for  the processing deadline of 0:00:00.015000000, add enough queues to buffer  0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.

Thanks.