Issues displaying 2 camera streams at once

So we’re planning to display 2 camera streams at the same time for the driver, but when we tested the code on the driver station, there was an issue with the USB bandwidth limit set for streaming to the driver station and the error message suggested to try a lower resolution or different pixel format, but our camera is set at 15 fps and 240p with MJPEG pixels.


CS: ERROR: Front Camera: could not start streaming due to USB bandwidth limitations; try a lower resolution or a different pixel format (VIDIOC_STREAMON: No space left on device) (UsbCameraImpl.cpp:714)

Anyone else having similar issues or would that be a problem in the code?

The USB driver has a hard bandwidth limit, only so much can be supported.
At camera startup the USB driver checks for remaining available bandwidth and generates that error when the bandwidth requested by the new camera cannot be supported.
Some choices are:

  • Reduce frame rate/resolution/increase on camera compression on one or both cameras
  • switch to a different model camera that can support lower rate/resolution/ on camera compression
  • Enable only one camera at a time and driver’s switch between views as needed

Two other issues I’ve seen:

  • opening both cameras and then lowering the resolution/frame rate, etc. In this case the USB bandwidth is used up by the default settings. One camera should be opened and settings changed, and then other camera should be opened and settings changed.
  • when lowering frame rate, resolution, etc, choosing a combination that is not natively supported by the camera. The camera will send the data over USB at the default resolution/frame rate, but the roboRIO will downsample and recompress. This saves wireless bandwidth transmitting to the driver station, but does not save USB bandwidth, and uses additional roboRIO processing. For example, some cameras may not support 15 fps. So instead of 320x240x15fps, the camera will use it’s default of 640x480x30fps. But 320x240x30fps could be supported and would be lower bandwidth.

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