I have 8 cameras (UVC) connected to a USB 2.0 hub, and this hub is directly connected to a USB port. I want to capture a single image from a camera with a resolution of ×ばつ3490 in less than 2 seconds.
I would like to capture them all at once, but the USB port's bandwidth prevents me from doing so.
A solution I find feasible is using OpenCV's VideoCapture, initializing/releasing the instance each time I want to take a capture. The instantiation time is not very long, but I think it that could become an issue.
Do you have any ideas on how to perform this operation efficiently?
Would there be any advantage to programming the capture directly with V4L2?
1 Answer 1
The bandwidth is main limitation. Can do a work around like connecting the cameras into a USB3.2 hub, the host would be fallback to USB2.0 since the devices are USB2.0 type. Let give this a try.
v4l2-ctl --list-formats)