As also described in the topic OpenCV ops blocking for multi-camera capture with Gstreamer - Jetson & Embedded Systems / Jetson Nano - NVIDIA Developer Forums. I am having trouble when trying to use multiple IMX219 sensors in my Jetson Nano.
I am using the suggested pipeline to test both sensors:
$ gst-launch-1.0 -v nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM), width=1280, height=720, format=NV12, framerate=120/1' ! nvvidconv flip-method=2 ! video/x-raw, width=1280, height=720, format=BGRx ! videoconvert ! video/x-raw, format=BGR ! fpsdisplaysink text-overlay=0 video-sink=fakesink nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM), width=1280, height=720, format=NV12, framerate=120/1' ! nvvidconv flip-method=2 ! video/x-raw, width=1280, height=720, format=BGRx ! videoconvert ! video/x-raw, format=BGR ! fpsdisplaysink text-overlay=0 video-sink=fakesink
However it only runs fine for a couple of seconds before one of the sensors stop working:
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1738, dropped: 0, current: 98,54, average: 101,17
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1: last-message = rendered: 1789, dropped: 0, current: 101,26, average: 101,34
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1788, dropped: 0, current: 99,08, average: 101,11
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1: last-message = rendered: 1838, dropped: 0, current: 96,47, average: 101,20
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1839, dropped: 0, current: 100,17, average: 101,09
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink1: last-message = rendered: 1889, dropped: 0, current: 101,55, average: 101,21
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1889, dropped: 0, current: 97,47, average: 100,99
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1948, dropped: 0, current: 117,94, average: 101,43
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2010, dropped: 0, current: 123,88, average: 102,00
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2069, dropped: 0, current: 116,42, average: 102,36
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2126, dropped: 0, current: 112,76, average: 102,61
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2180, dropped: 0, current: 105,97, average: 102,69
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2238, dropped: 0, current: 114,31, average: 102,97
And in the logs I can see many errors. The daemon never recovers and fills the system with logs:
2021-03-26T09:47:01.416248-03:00 art-jetson nvargus-daemon[5245]: SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 667)
2021-03-26T09:47:01.416284-03:00 art-jetson nvargus-daemon[5245]: (Argus) Error InvalidState: (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
2021-03-26T09:47:01.416319-03:00 art-jetson nvargus-daemon[5245]: SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 667)
2021-03-26T09:47:01.416355-03:00 art-jetson nvargus-daemon[5245]: (Argus) Error InvalidState: (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
2021-03-26T09:47:01.416389-03:00 art-jetson nvargus-daemon[5245]: SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 667)
I tried running the same pipeline with 1920x1080@60fps and it also hang after a few seconds, then I tried with 1280x720@60fps, which ran for about 2 hours before hanging.
I am running # R32 (release), REVISION: 4.4, GCID: 23942405, BOARD: t210ref, EABI: aarch64, DATE: Fri Oct 16 19:44:43 UTC 2020