trying to run 8 USB webcams on single computer

lksingh

Honorable
Mar 27, 2013
9
0
10,510
I am trying to run 8 webcams on a single computer simultaneously. A maximum of 2 cameras can be used per USB controller. Because of that limitation I have extended the number of separate USB controller/hubs available on a computer by adding PCI usb cards. The problem is even though I have enough separate controller/hubs on my computer to run 8 cameras total (2 per controller/hub), I cannot get no more than 6 to work.

I believe I am hitting a PCI bus bandwidth limitation or maybe a PCI controller limitation.

To the best of your knowledge, why do you guys think I can't run 8 USB cameras on a single computer? Any suggestions on a computer configuration that can handle 8 cameras simultaneously?

----computer configuration----

Motherboard info:
Dell ORF703
Intel chipset Q965
SouthBridge 82801 Hb/Hr

CPU: Intel Core 2 Duo E6400
 
Well if they use half a usb ports bandwidth(480/2=240) then you try for 8 x 240 = 1920. 1920/8 gives you 240megabytes/second.

In reality, I would guess that it is about half of that due to usb overhead, but yes, PCI is rated at 133megabytes/second. I would guess you are low on bandwidth. PCI is shared so other devices may well be taking from that bandwidth(also the devices have to take turns, so you may have a limit of that as well.).

It is strange to be that ANY webcam would need this kind of bandwidth.
 

lksingh

Honorable
Mar 27, 2013
9
0
10,510
So the interesting thing about my problem is I have no visibility into the issue. I does not seem like there is a tool available to prove or disapprove of my bandwidth limitation theories. Therefore, I keep trying to figure out how to prove my problem statements false and move on to the next one...

This is what I have done recently:
- I know I can get 6 cameras to work, but not 8. And I believe this is due to a PCI bandwidth limitation. So I added PCI "Express" USB cards and tried plugging the 7th and 8th into those usb ports. Still I could not get the 7th and 8th camera to work. From what i understand PCI express is point to point and does not run through the PCI bus. This scenario certainly does not help my theory that the PCI bus is overloaded.

Everlost:

The cameras are used in our product. I am creating a test rig that will allow us to test 8 cameras simultaneously in a temperature oven.
R&D wants to test 8 cameras at a time.

We have strong reasons to believe this is hardware related and are looking to order a new computer. So I need to figure what hardware is responsible for the limitation and order a new computer with hardware that can support our needs.
 

lksingh

Honorable
Mar 27, 2013
9
0
10,510
CPU goes to 50%. I am using multiple instances of VLC and using capture device functionality to view the feed from the cameras. i could only get up to 6 cameras max.
 
I am sure they have some(but nothing that comes to mind), but the problem is once you get on PCI-E, that should not longer be an issue. PCI-e has lots of bandwidth compared to the old pci.

I do not think you run into bandwidth issues between pci-e and the system or else video cards would not even be able to do what they do(they require FAR more bandwidth).
 

lksingh

Honorable
Mar 27, 2013
9
0
10,510


Thanks exactly what I thought!!!
 
I am not going to lie, I am stumped by this one. I have never tried to run so many of the same thing. It could be as simple as a driver issue.

I know I could never run more then one of the same WinTV PVR card with some older models. The drivers just did not let it happen. I could not even run a Wintv PVR 250 + Wintv GO FM together. In this case it was the drivers and I was unable to ever get past the issue.

I also know some firewire devices used to to things like that too. I could not run my 2 firewire enclosures(they are 100% the same) together for some reason(had to switch one to USB).
 

lksingh

Honorable
Mar 27, 2013
9
0
10,510
One thing I just noticed is depending on what port i plugged the camera into it uses usb 1.0 or 2.0 controllers. So i disabled most USB 1.0 controllers and made sure all cameras are routed to the 2.0 controllers. I have a max of 2 cameras per USB 2.0 controller.

Question -- I know controllers have a fixed bandwidth they are assigned. So If i had 10 controllers, does that mean the "system USB bandwidth" is shared among those 10 controllers. And lets say I disable 8 controllers leaving 2.... does that mean the 2 active USB controllers now have more bandwidth ?

Question2:
Also when I open device manager -> Universal Serial bus controllers -> usb enhanced host controller -> properties -> advanced

Here is what i see
Description Bandwidth
System Reserved 20%
USB Camera 48%
USB Camera 48%

So that totals --- 116%. Is that fine.? Does the controller know how to manage that? Maybe I can only plug in one camera per USB controller?
 
I think(I have not looked into it much) the system reserved is for all the overhead for usb it self.

I have honestly never seen a device list it self as 48%, those are some bad ass cameras or something.

My video capture card(mpeg2 hardware compression) shows 1% and my media center remote somehow shows 4%(i think this is just to ensure it is always able to do its job of changing channels)

My flash drives and external hard drives do not even show up in those lists.

If you had been running out of bandwidth, I think you would not even get the 2 cameras to work right.

By any chance does your system have extra unused usb headers on the board that you can use with a slot bracket that holds 2/4 more ports.

Google Image search - 10 pin to usb 2.0 slot bracket

Almost any computer store should have spares for cheap.

Maybe you can test this further that way.
 

lksingh

Honorable
Mar 27, 2013
9
0
10,510
no my computer does not have extra port header. I can try plugging in more usb external cards... but I do not need them at the moment... umm let me did further into this... and I'll try to post my discovery.
 

lksingh

Honorable
Mar 27, 2013
9
0
10,510
So this was all related to usb bandwidth. The cameras take up about 150 Mb/s ... according to a usb port monitor so you can only plug 2 usb cameras per 2.0 controller. also depending on what port my cameras were plugged into, the cameras would get picked up by a usb 1.0 controller ... which really did not work. To make this work i make sure there are max of 2 cameras per usb 2.0 controller. You can check what controller contains your usb camera by going into device manager.