Grabbing 4 UVC cameras simultaneously

I’ve been sarching the forum for answers but haven’t really found definite answers…

I need to connect 4 cameras to one machine and combine their streams into 1 texture.

First and foremost I need to find out whether it is at all possible to hook up 4 UVC cameras at once? Does anyone have any experience with this and what should I be looking at?

Hello @Autofasurer,

I intuitively would first check that your system supports the 4 camera’s, meaning that it sees them attached and that you can capture from them individually. Surely you will need more USB busses in order to work with that many cams, also to provide enough power. This can be achieved by several pci (express) cards (or maybe this ? )

On the software side, there is an addon ofxUVC (OF 0.8.0, only OSX) and also a non OF lib libUVC built on top of libUSB. It looks quite transparent and is well maintained. You will probably need threading for capturing the data of the cams in order to not block the OpenGL thread too long. Beware that you can’t upload textures from anything but the primary OpenGL thread, so you would need some kind of mechanism to synchronize your frames and to get them together in one place (there are other people on this forum that are far better than me in giving you advice for this part :wink:)

Best,
V

Hey @Vjacobs, thanks for the info. I saw the ofxUVC addon, but unfortunately the installation will run on a PC so it’s not an option. I’ll look into the libUVC library and see if I can make any sense of it.
Upside is that it has enough USB ports or at least the possibility to add pci cards where necessary.
All in all it sounds rather complex and probably way beyond my capabilities right now. :worried:

maybe not related but why you want to use UVC, if its for the camera settings, in pc for example with a logitech camera you can use the camera software (logitech) to adjust settings an later in oF the video grabber (directshow) will get the camera preserving the settings (white balance, contrast, brightness…)

Hi @pandereto, thanks for the info. We’re using these cameras: ELP-USBFHD01M-L170 so there’s no software there. I was mentioning it because they are UVC standard cameras. I’m still very much learning openFrameworks and all things related so any info is welcome. I’m learning as I go for this specific project and unfortunately I don’t have the time to go through the tutorials to get an overview… i’m pretty much cherry picking the relevant topics and learning c++ at the same time…