Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Selectable USB Video Input

  1. Jul 22, 2011 #1
    Hi all,
    Love the forum, just signed up but have been reading for a while. I'm not an EE and I am working on some image processing, so I need some hardware help. What I want to do is to have ~20 USB webcams, of which any 4 are selectable to feed into MATLAB. I have the software side running, but I'm trying to figure out how I can avoid having 20 USB cables running into my computer.

    What I'd like would be some sort of board that has 20 cables running in, and 4 cables running out to the computer. Physically, I can imagine a slider sliding between the inputs and connecting the ones I want at any given time. My question, is there a chip that does something like that?

  2. jcsd
  3. Jul 22, 2011 #2


    User Avatar
    Science Advisor

    Welcome in out of the cold!

    Have you considered using USB hubs? You can even cascade hubs on top of hubs (up to 127 devices per USB host chip, I believe). This way, you only have to run one or two cables back to your computer (choose USB ports on the computer serviced by different hub chips--especially if you're running into throughput problems). This also allows you to power your cameras off of an AC adapter to your hub, rather than from the USB itself (assuming these cameras consume non-negligible current or don't have their own AC adapters and are powered off of the USB power).

    The thing with USB MUXing is that when you disconnect and reconnect, you may or may not have the USB devices properly disconnected and re-enumerated, depending on driver / operating system. Instead, you can just have 4 USB hubs, with 5 cameras plugged into each, and each running a single cable back to your computer, and you don't run into these problems.
    Last edited: Jul 22, 2011
  4. Jul 24, 2011 #3
    I have considered USB hubs, but I thought those only eased power loads via the AC adapter, I'm much more concerned with the bandwidth used by the cameras. I believe USB hubs don't reduce bandwidth at all, they just provide more ports and draw power from the wall. Could be wrong there though. What I'm looking for is a way to reduce the bandwidth demands on the USB root controller(s) to that of 4 selectable cameras instead of 20 so MATLAB doesn't yell at me for exceeding bandwidth when I have 20 cameras attached.

    This has me thinking, if no program is trying to access the camera, will it still draw bandwidth just by being plugged in? My thought here is, if I just delete the image object related to the camera before I open a new image object for a different camera, I might be able to avoid maxing out my bandwidth... Off to test it. Thanks for the help
  5. Jul 24, 2011 #4


    User Avatar
    Science Advisor

    If your cameras aren't sending anything, they aren't using up bandwidth (aside from maybe some keep-alive or station keeping stuff). It's also highly unlikely that you have 20 separate USB root controllers on your motherboard anyway.

    Your approach sounds like it could work--let us know how it works out!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook