Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Hardware Technology

USB/Firewire "Branching" -- Is it Possible? 55

Shaze asks: "I have been doing a lot of overseas web conferencing lately and have been playing around with my two webcams. I was suddenly intrigued by the idea of being able to 'span' or 'branch' both webcams together to create one device pulling signals from both. I did some quick research on the topic to no avail, however many of my colleagues believe this to be possible. Some even going so far as to say they have seen software or drivers that will turn your webcams into one Twain device. Aside from my own meanderings, I can't seem to find any information on anyone or anything even suggesting this is possible. What do you say Slashdot readers: Is this a new application waiting to be marketed or am I just seeing double?"
This discussion has been archived. No new comments can be posted.

USB/Firewire "Branching" -- Is it Possible?

Comments Filter:
  • by jam244 ( 701505 ) on Thursday October 23, 2003 @12:51AM (#7287888) Homepage
    Technically, it is possible to read simultaneously from 2 webcams. It is well within the bandwidth bounds of USB 2.0 and IEEE 1394.

    However, this would probably require a total software rewrite to enable. I don't imagine drivers would need major revisions, fortunately.

    My main question, though, is why? Unless you plan to red/blue shift the objects based on apparent depth and require people to wear stupid glasses, you won't see any interesting effects.

    I think we should be more concerned with bringing up the audiovideo quality of videoconferencing.
  • What??? (Score:3, Informative)

    by Stigmata669 ( 517894 ) on Thursday October 23, 2003 @12:53AM (#7287895)
    What I think the writer is asking is if it is possible to have two cameras and stitch the feeds together so it's twice as wide. Like having two monitors but as inputs rather than outputs. I'd assume that it is quite possible to write a program that would listen to both devices and put the feeds next to eachother but I'm not sure why you'd want to do this.
  • I've seen similar (Score:3, Informative)

    by Bastian ( 66383 ) on Thursday October 23, 2003 @02:03AM (#7288165)
    There are a number of computer vision devices composed of a pair of cameras that are treated as a single device. (They must be treated as such in some applications because the cameras must grab images in lockstep.)

    I've never seen something that uses one USB and one Firewire camera, though. To me, it makes just as much sense to use two FireWire cameras or two USB 2.0 cameras since the bandwidth of USB 1.2 is so small. I did some computer vision work as an undergrad with a single Logitech Quickcam Express. The camera grabbed 24 bit 320x244 images at a rather low framerate - something like 10 or 15 fps. This took up 90% of the USB's bandwidth!

    If you want to, you might be able to write a driver that allows you to treat the two as a single TWAIN device, but I imagine the possibility of such a task is highly OS-dependent. I haven't taken a good look to check, but it seems like it would be possible to do so under the Video4Linux framework. MacOS and Windows, I have no idea.
  • Re:Not pointless (Score:4, Informative)

    by Bastian ( 66383 ) on Thursday October 23, 2003 @02:10AM (#7288183)
    At my current job, we use dual FireWire cameras to capture simultaneous images in order to get two concurrent views of moving objects.

    Hooking two cameras to a computer is standard practise in computer vision (not what my current employer does, just another example). It's a really good way to get binocular views of a scene for passive stereo systems.

    Besides, you don't need goofy red/blue glasses to look at stereo pairs of images. Just cross your eyes, for goodness sakes!
  • by Animats ( 122034 ) on Thursday October 23, 2003 @03:53AM (#7288515) Homepage
    You can read two FireWire cameras simultaneously under Windows 2000. There seems to be a bit of occasional image tearing when two cameras are running. It won't work using the old Video for Windows interface, but the newer Windows API works. Get a pair of Unibrain Fire-i cameras and play with them.

    I have multiple cameras working quite well under QNX, but I wrote that driver. It only uses about 4% of the (1.5GHz) CPU per camera at 640x480 x 15FPS RGB, so it's a modest CPU load. I don't get the image tearing problem Windows does, so the hardware can do the job; it's a Windows problem.

    The Linux FireWire driver subsystem has some major problems in the bus reset area and doesn't handle multiple bus masters properly. The last time I looked at that driver, it didn't allocate isochronous channels properly; everything went on channel 0. That limits you to one active camera. But that may have been fixed by now.

  • by Sandman1971 ( 516283 ) on Thursday October 23, 2003 @06:32AM (#7288904) Homepage Journal
    Probably not exactly what you're looking for, but it is another possible solution. I've been using WebcamXP [webcamxp.com] to do just that, but HTML based. It can use up to 5 cameras at the same time (I've used up to 3 at the same time; 2 USB webcams and my camcorder plugged into my Firewire port). I've modified the HTML it generates to put the windows side by side. You'll get the small border around each window, but at least to me, that's not a huge deal.
  • by HughsOnFirst ( 174255 ) on Thursday October 23, 2003 @09:21AM (#7289628)
    The intel Open Source Computer Vision Library [intel.com] They have tools to process stereo usb cameras in real time
  • Where I used to work (Score:3, Informative)

    by phorm ( 591458 ) on Thursday October 23, 2003 @01:19PM (#7292298) Journal
    Wireless camera. TV input card with 2 input channels. Software fast-swapped between the channels and grabbed images.
  • by GoRK ( 10018 ) on Friday October 24, 2003 @02:16PM (#7302530) Homepage Journal
    Well actually no.. at least not if you use USB 1.1 cameras which most cheap webcams still are. The OS has nothing to do with it.

    USB1.1 devices on a USB2.0 controller can be difficult.. If you didn't put them on seperate controllers you'd have to put them on a USB hub with multiple USB1.1 USB2.0 TT's. The Transaction Translator is the device responsible for translating the USB1.1 data to USB2.0 and vice versa. There is typically only one TT per USB controller in the chipset. Webcams are especially nasty since they take up almost the complete bandwidth of USB1.1. If you have two usb 1.1 cameras and only one TT, they're still going to be fighting for that 12Mb/s bandwidth into/out of the TT, even though the bus is capable of a lot more.

    The problem is similar to the migration from 10Mb/s ethernet to 100Mb/s ethernet if you were ever doing that.. Some "dual speed" hubs only had a single switch path to get from 10 megabits to 100 megabits, so putting a 100Mb/s card in the server and leaving all the clients at 10Mb/s didn't actually create any performance increase. In many situations where idiot admins swapped in a 10/100 hub to replace 10Mb switches they killed their perforamnce. I had quite a few of those. The solution? Buy a 10 megabit switch with a 100Mb uplink port and plug the uplink into the 100 megabit hub. This is the same problem all over again, except that it's on your desk this time and not in the walls!

    Another cheap solution is to put one of the USB1.1 cameras directly into a port from the motherboard and another one on a USB2.0 hub. That way one camera will use the chipset's TT and the other one will use the hub's TT.

    ~GoRK

Happiness is twin floppies.

Working...