Dual CSI-camera recording not getting as many frames as expected

System Info
Platform: Nano B01
Gstreamer: v1.14.5
Two Raspi cams: v2.1 (IMX219) CSI-2

I can get 720p@120hz when using one camera, but when I add the second camera it only gets about 720p@60hz. The same issue persists even when I use 360p for both cameras and when I set the bitrate. The Gstreamer pipeline I am using is posted below. The metadata of the output files shows the bitrate at ~775kbps and the frame rate at 120, but when I open the files in ImageJ one of them always has ~120hz and the other is always around 60hz.

What can I do to get 120hz with both cameras?

gst-launch-1.0 nvarguscamerasrc sensor_id=1 num-buffers=2000 aelock=true gainrange=“1 1” ispdigitalgainrange=“1 1” exposuretimerange=“1000000 1000000” exposurecompensation=-2 ! ‘video/x-raw(memory:NVMM),width=640, height=360, framerate=120/1, format=NV12’ ! omxh264enc bitrate=200000 control-rate=2 ! qtmux ! filesink location=test.mp4 -e

EDIT: I think I’ve found the reason why the fps doesn’t increase when using a lower resolution. In the docs for the raspi cam v2 it says the camera has 8 sensor modes (including one for 480p), but when I run $ v4l2-ctl --list-formats-ext there are only 6 sensor modes, the lowest resolution of which being 720p. So when I try to reduce the resolution the camera is still sending 720p images to the jetson, which are then resized to 480p at a later, less efficient stage. I guess I need to try a different camera :(

TLDR: v4l2 doesn’t support any sensor modes <720p, so when I try a lower resolution I am still using 720p.

You can contact with camera partner to consult with higher frame rate design sensor for your request.

It seems like the issue is on the side of the Nano though, because the cameras both perform as expected individually. It is only when I have two of them recording at once that this happens.

Can you check with fpsdisplaysink to breakdown if framerate drop because the encoder or system loading cause it.