2 of the same Logitech webcams not working in OBS

IYB

New Member
Hi there,

I was wondering if someone knows how to get 2 C920 Logitech webcams to work in OBS. Both webcams work outside of OBS and inside OBS it's the one or the other. When both are connected, it's the first one that I use in a scene that will work. All other cameras (Macbook front cam and iPhone cam do work). I have a MacBook Pro Intel Core i7, MacOS Monterey. I've read somewhere that it might be due to the fact the webcams are the same model, so that I should buy a different model like the Logitech cam C922.

Hope someone has the answer, thank you in advance.
 

AaronD

Member
USB is supposed to be smarter than this, but cheap manufacturing combined with programmers' assumptions...



The very first communication of any USB device includes (among other things):
  • A vendor code (VID) that is assigned by the official USB organization
  • A product code (PID) that is assigned by the vendor
  • A serial number
The VID:PID pair is usually managed well, and Windoze uses just that to select a driver and disregards the detailed description that comes later. (great fun for hobbyists that use the same temporary VID:PID for *everything* they do!)
Linux does use the detailed description, and I wouldn't be surprised if Mac does too.

The serial number is often NOT managed well, especially for cheap devices. Officially, it must be different for each one that leaves the factory, but it's cheaper to make them all the same. Perhaps you can see where this is going?

On Windoze, the serial number is used as an identifier. (It's supposed to be different, right?) So a second device with the same serial either bumps the first one off, or is ignored. It can be tricked into using the other one, but an app like OBS, that just lets the OS handle it, will only see one of them.
On Linux, the USB tree is used as the ultimate identifier, with the software API translating that to a flat list of similar devices (/dev/videoX, for example, where X is a sequential number of video input devices). So they'll all work there, but the order may change as the race to configure has a different winner for various reasons, which affects everything that uses them.
Maybe Mac works more like Windoze in that sense?
 

schaferob

New Member
USB is supposed to be smarter than this, but cheap manufacturing combined with programmers' assumptions...



The very first communication of any USB device includes (among other things):
  • A vendor code (VID) that is assigned by the official USB organization
  • A product code (PID) that is assigned by the vendor
  • A serial number
The VID:PID pair is usually managed well, and Windoze uses just that to select a driver and disregards the detailed description that comes later. (great fun for hobbyists that use the same temporary VID:PID for *everything* they do!)
Linux does use the detailed description, and I wouldn't be surprised if Mac does too.

The serial number is often NOT managed well, especially for cheap devices. Officially, it must be different for each one that leaves the factory, but it's cheaper to make them all the same. Perhaps you can see where this is going?

On Windoze, the serial number is used as an identifier. (It's supposed to be different, right?) So a second device with the same serial either bumps the first one off, or is ignored. It can be tricked into using the other one, but an app like OBS, that just lets the OS handle it, will only see one of them.
On Linux, the USB tree is used as the ultimate identifier, with the software API translating that to a flat list of similar devices (/dev/videoX, for example, where X is a sequential number of video input devices). So they'll all work there, but the order may change as the race to configure has a different winner for various reasons, which affects everything that uses them.
Maybe Mac works more like Windoze in that sense?
The MacOS works fine. The three devices are listed the same but a little experimentation allows one to get 'em all mounted individually. Did anyone find a way to make Windows work?
 
Top