Cameras, lots of them (hopefully)

I have a kind of odd / general question about cameras. How many USB or FireWire cameras can you have connected to your computer with or without extra hardware. Can you buy a USB hub and shove 5 webcams onto it? Can you buy two USB hubs and shove 9 cameras on to them? If not, could you buy PCI card USB extensions and have somewhere around 10 cameras connected to your computer? Would they all work in vvvv :)

i’d say that vvvv is not the limit here but always data-bandwidth of the used bus. be it usb, firewire or pci. you’ll always have to sacrifice in framerate if you connect too many cams to one bus. there are pci-express cards with 4 or 8 cam inputs, two or three of those should be your best (spell: most expensive) option.

Also keep in mind that if you use USB cameras, they will, depending on your machine, most likely use 5-15% of your CPU power each.

My current experience:
Placing two cameras on a usb hub and connecting that hub to a usb port on my computer makes one camera render at 25 fps and the second at 15 fps. Adding a third one makes it render at less than 5 fps. I don’t know why the fps is not the same for each camera.

What is better (and cheaper) is to buy pci usb cards (like this: http://accessories.us.dell.com/sna/productdetail.aspx?sku=A0577787&cs=19&c=us&l=en )and stick them into your computer so that you have extra buses. Then you can just put one camera per bus port. (Unfortunately usb hubs do not create extra bandwith but just split the upstream port’s bandwidth)

in general i made the experience of performance loss when driving USBcams via hubs.

you could try to get hand of some devices called quad splits, which are used in supermarket surveillance systems to put four video images on one video monitor. use that a couple of cheap and fast pci cards like the hauppauge impactvcb

if it helps, I can add that multiple firewire cams - with or without FW Hubs - don’t work well. Last connected cam gets all the bandwidth, streams break down unexpectedly, switching takes multiple seconds. This was on winXP, decent processor, didn’t even try to capture to disk.

When using multiple USB cams, be aware that consumer products sometimes can’t differentiate the cams (identical machine IDs), so you may have a hard time telling which cam is where. Industrial USB cams won’t suffer from that.

When using multiple USB, it may be wise to learn all about isochronous transfer mode and what it means (don’t ask me, I don’t know).

acutally multiple uncompressed (not DV) firewire cameras can work quite well at full frame rates. they usually come with bandwidth for different framerate/size settings and it can easily be calculated how many of them can go via one bus.

i only noticed when using an ieee1394 extension card that some don’t seem to be compatible with some others on board. if they are not compatible you get the behaviour described by max above. in such cases try to find a card with a different firewire chipset.

eventually i had at least 2 uncompressed firewire-cammeras running at stable 60fps.

Interesting, that is some good information. After doing some research I found that everything was pointing to bus size, which definitely makes sense. I did run into this website while looking around:

http://www.ni.com/vision/

They have some really cool camera hardware that might be of interest to someone else.

Kind of on the same topic, but what about still cameras? Does anyone know of good still cameras that have IO for controlling when they take the picture? More often than not when still pictures are needed people use webcams, but would you be able to have more cameras (say as many as 30) if you were actually using still cameras? It would be easier to manage the data flow that way, especially if you could capture images simultaneously with all the cameras and then download image data. It seems like the “CameraLink” system might be setup to do something like that. I’m not exactly sure what I should be looking for though in terms of hardware keywords.

i have two unibrain fire-i cams on one firewire port. you can daisychain them and the limit is only the available bandwidth. two cams work well with vvvv. on the mac mini, noadditional power adaptors are needed. the two cams get their power via firewire…