Can i use four USB 3.0 cameras on NVIDIA Jetson nano board without loosing speed of video streaming?

Which low cost USB 3.0 camera is available in India for NVIDIA Jetson nano?

Hi amolj,

I don’t know which USB camera is available in India, but you may find camera product info from Jetson Partner Supported Cameras | NVIDIA Developer to see if able to find it at India.


Thanks Kayccc …for your response.

FYI, something to consider, is whether the USB3 root HUB can handle four cameras.

If the four cameras are USB3.1 gen. 1, and not some higher performance high resolution system, then probably two cameras would work on a 5Gb/s USB3.1 gen. 1 root HUB. If the cameras were higher performance, then there wouldn’t be enough data bandwidth on a gen. 1 root HUB. Bandwidth used depends on frame rate and resolution.

If the root HUB is USB3.1 gen. 2, then probably four of those above mentioned cameras would work. A gen. 2 root HUB has double the bandwidth of a gen. 1 root HUB.

Putting some cameras on a different root HUB than another would give more bandwidth, but not every platform has more than one USB3.1 root HUB (of either gen. 1 or gen. 2). Most older platforms (including TX2) don’t have gen. 2 root HUBs. To see what you are working with run this command:
lsusb -t

This “tree” view adds a speed specification at the end of the root HUB line:

  • 480M is USB2.
  • 5000M is USB3.1 gen. 1.
  • 10000M is USB3.1 gen. 2.

Thanks linuxdev for your response.I am using four USB 2.0, 08 Megapixel cameras on NVIDIA Jetson nano. But it didn’t work for me. So i tried to use 02 USB 2.0 with two Raspberry pi v2 NOiR Camera. But it slows the whole system. Please let me know the better approach to use four low cost (Project constraint) cameras without slowing the system.

I don’t have any particular camera recommendations, but having multiple USB2 cameras, if they have a USB3 root_hub as an end point without a USB2 HUB limiting them, should work.

I need to explain the part about “without a USB2 HUB limiting them”. If you run the command “lsusb -t”, you will see the tree view of USB devices. At the end of each line will be an indicator for what speed the device runs at. USB2 device should have “480M” on the end of the line. All cameras should be going through a HUB since there are not enough connectors on the Jetson for four cameras.

The HUB itself should be USB3 or this won’t work. A purely USB2 HUB will throw away the bandwidth of a USB3 root_hub, so it cannot be used for this purpose. A super cheap USB3 HUB also won’t have what is called “multi-TT”, or multiple Transaction Translators. The purpose of the TT is to allow the main line of the USB3 HUB to stay at USB3 speeds (either gen. 1 5000M, or gen. 2 10000M under “lsusb -t”) and have individual devices (cameras in your case) run at their own USB2 speeds (480M) without reducing the speed of other devices. The “other devices” includes the trunk of the HUB such that this part can continue to run at USB3 speeds even if the cameras plugged in to it run a USB2 for each camera.

This main shared trunk of the USB3 HUB would show 5000M or 10000M, and would go to a “root_hub” (which is integrated with the Jetson and determines the best possible speed). If for some reason that HUB shows 480M, then this is why there is a slowdown…it would imply the HUB itself is causing four cameras to share the bandwidth which only supports one camera. If the main trunk of the HUB shows anything USB3 going to a USB3 root_hub, then you should be good to go and there is a different problem with slowing which is unrelated to USB speeds.

With all four cameras plugged in, what do you see for “lsusb -t”?

Thanks linuxdev for your response. I will try it as soon as possible.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.