Question / Help Issue using multiple USB webcams in OBS

KBITCE

New Member
Hello,

I am trying to use multiple cameras in OBS. Both simultaneously and non-simultaneosly.
I use 2x2 different cameras: 2x Logitech Brio, 2x Logitech C922.
The hardware is something like: Intel Xeon, 128 GB RAM, NVidia Quattro K6000, Windows 10. I use the most recent version of OBS.

The main use of these multiple cameras is: Having one camera per scene (=> 4 scenes, 1 camera each), but I might want to use them simultaneously in one scene as well. I tried a lot of things: I used the original Logitech driver and the Windows generic one. I tried it with just 2 cameras in a lot of different USB slots.
When I open the default camera app in Windows I can switch between these 4 cameras, as you want it to work (like the "switch camera" button on your smartphone's camera app, where you switch between front- and rear-camera).
In OBS I can use these 4 cameras non-simultaneously, if I enable the option that cameras will be deactiveted, if not used (= if I switch to another scene).
In XSplit I can use all of the cameras in any way I want it without a problem: Display all 4 cameras in one scene simultaneously and it just works out of the box.
So techincallywise it is definitely possible and not an issue with the computer itsself.

Has it worked in OBS already and it is not possible in the current Windows version 22.0.2 due to a bug or something? Or is it NOT possible in OBS? Will it be possible in a future update?
It works in XSplit for me, but not in OBS, but I do want to use OBS instead of XSplit, so a solution would be nice.

Thank you for helping me in advance.

Karsten
 
I've used 5(!) webcams on a single host PC; Brio, Rally, C920, C922 & C930e. This can work, but you need to be attentive to USB bus assignments and limitations.

First, all the cameras should be using MJPEG encoding to minimize USB bus bandwidth requirements. This is the single biggest change you can make that will help get this combination working.

Next, You have not mentioned the USB ports on your host.
Each Brio should be connected to a USB 3 port. Ideally, a port on it's own controller.
Each C922 can be connected to a USB2 port, presuming that's convenient.
You can probably use a USB 3 hub to connect one Brio and the C922s to a single USB3 port if you want.
 

KBITCE

New Member
Thanks for your reply.
Sorry, I forgot to mention, that every single USB-port is a USB 3-port, no matter, whether if it's front, rear or hub.
There are plenty of USB 3-ports in that system and I didn't even get a 2 camera-setup working (meaning: I just had 2 cameras plugged in: one to the rear, one to the front).

I already read about MJPEG encoding, but I could not select it, if I remember correctly, but I have to check this and I will google how to enable it.

Thank you!
 

carlmmii

Active Member
Not sure about multiple Brio's, but a single Brio and 2 C922's should have absolutely no problem at all. Just make sure you're not trying to add each webcam multiple times -- if they need to exist in multiple scenes, you should select the already created webcam source when adding to the other scene.

Other than that, it's just a matter of making sure each webcam has the necessary usb bandwidth, as mentioned. Btw, each USB3 host will have an associated USB2 host that goes along with it, using its own separate bandwidth. However, it can be very possible that front-panel and rear-panel USB ports actually use the same host controller. The only way to really make sure is to use a usb profiling utility to determine your actual connection tree.
 

KBITCE

New Member
Thanks for your reply as well, @carlmmii
I know about selecting already created sources instead of using a webcam multiple times. I should have mentioned that. Sorry.
The USB host controller-thing is something I will definitely have to check, as soon as I visit the studio again. It seems to be really easy with the tool in the link you posted.

So I got 2 things to check / configure correctly:
- I have to make sure to use MJPEG encoding
- I have to check whether the cameras share USB host controllers or not

Thank you!
 

mrgusse

New Member
Replying to a really old post here, but I struggle to connect a C920 + C922 at the same time, the cameras stop working. They even disappear from device manager on my pc.


According to Logitech you should change driver for the C920 to UVC drivers and even though I did, it just won't work.
Any ideas??
 

carlmmii

Active Member
Follow the link above to use USBview to see how your webcams are connected, and make sure they aren't sharing host controllers.

If they are on separate controllers, then that would definitely point toward them just not getting enough power when both are connected. In that case, you may need to try separate USB ports, or try using a powered USB hub to act just as power delivery (don't connect multiple devices, just use this as a relay).
 

deliastone

New Member
Follow the link above to use USBview to see how your webcams are connected, and make sure they aren't sharing host controllers.

If they are on separate controllers, then that would definitely point toward them just not getting enough power when both are connected. In that case, you may need to try separate USB ports, or try using a powered USB hub to act just as power delivery (don't connect multiple devices, just use this as a relay).

I installed the SDK kit for debugging and checked my USB Device tree; I am using two USB 2.0 supported ports for two USB 1.0 webcams. Both of these USB ports are connected to a single USB controller / Root Hub with the following settings:
-----------------------------------------------------------------------------------------------------------------------------------------
Hub Power: Self Power
Number of Ports: 8
Power switching: Ganged
Compound device: No
Over-current Protection: Global
High speed capable: No
High speed: Yes
Multiple transaction translations capable: No
Performs multiple transaction translations simultaneously: No
Hub wakes when device is connected: No
Hub is bus powered: No
Hub is root: Yes

-----------------------------------------------------------------------------------------------------------------------------------------
As this says that it is incapable of multiple transaction translations, this means that it cannot simultaneously receive two active inputs from these encoded web cameras and output a display for them, correct?
I do not know much about the inner-workings of computer systems nor have I researched them before asking for your guidance. I assumed that it would be much simpler to ask someone who is experienced, such as you.

PS. Also, as I was viewing the settings I saw a lot of settings related to "MJPEG Frame Type Descriptor" for both ports, so does this means that the cameras are already set to be encoded in MJPEG?

Edit: Also, if the hub controller cannot perform translations from multiple inputs may I ask why this is the case? And would there be any way to artificially create another USB controller that can enable me to use these two webcams at once? Or a technique perhaps, like how the CPU and the OS can perform multithreading with some applications?
 

Inverge Design

New Member
I am having a similar problem on Linux with two C922-Pro webcams.
On starting OBS one of the two will light up and work, but the other will not.
It even alternates depending on which one I fooled with last in the properties.
Upon one reboot I had them both working PERFECTLY, but after a week I had to reboot to install new RAM and now I'm back to square one.
 

DonkTV

New Member
Only one camera was working at a time. I got both working by lowering the resolution. Not ideal but I'll take it..
 
Top