Follow Slashdot stories on Twitter


Forgot your password?
Hardware Software Linux

WebCam Options for Linux? 40

Doesn't_Comment_Code asks: "I am working on a motion capture system, and I plan to implement it with several webcams viewing the same space from different angles. I have looked into some webcams and drivers for Linux, but I'm not sure which are best. Specifically, I need to connect three, four, or five cameras to a single machine. Can any current Linux drivers accommodate this? Also, I'm looking for basic, no-frills cameras, as automatic gain control and other features may amplify dark parts of the image that I need to stay dark."
This discussion has been archived. No new comments can be posted.

WebCam Options for Linux?

Comments Filter:
  • by Gefd ( 562296 )
    You'll probably find this page/list useful as a starting point

    - Gef
  • Google sez: The Philips driver has multiple camera support [].

    Remember you'll have to choose the camera based on the 'chipset', not the brand name.

    Can be easily modified to use v4l
  • I have a Creative Video Webcam Plus, its USB, uses the ov511 driver, and according to the module info, can support multiple cameras, and you can apparently turn off the auto brightness stuff, but I've not tried it. Why not modinfo a bunch of webcam modules? :)
  • I use a brooktree card, and in the past I've used the parallel port to switch between 6 different cameras on a single composite input, managing one scan every ten seconds on my P200.

    However, there are many different cards based on the bt878 chipset which support two or more inputs and if I was mad enough to do it all again I would probably use two or three such cards in a dedicated (and slightly faster, perhaps 400MHz) camera server, and scan them using motion [] That should give me up to 9 cameras scanned at
  • The Philips Webcam driver above warns that the bandwidth of USB may not be enough for more than 5 cameras.

    Now, The Philips is a USB 1 device, but USB 2 has MUCH more bandwidth than 1. Try sticking an external CDROM into a USB 1 port one day and you will see what I mean.

    So a USB 2.0 camera would probably be better, but I do not know if there is any such thing. A USB 2.0 PCI card is quite cheap though, although on my Suse 8.2 box the !"! machine does not boot completely if there is nothing stuck into the US
    • I'm not being pedantic, just informative []
    • USB 1.0 cards are cheap, just whack another one in your PC for $15 and keep on plugging those cameras in :-)
      • Probably also an option. But here (in Germany) a USB 2 card costs 5 bucks more than a USB 1 card which would sort of obviate the waste of PCI slots. Besides, a modern motherboard has USB 2 plugs on board.
    • machine does not boot completely if there is nothing stuck into the USB card

      I'm running SuSE 8.2 and the same thing happens. I'm willing to bet you have an ASUS board. Anyhow, I get around this by appending "noapic" to my boot string but YMMV. I can confirm that everything "just works" using 2.6-test5 so I'm hoping the 2.6 kernel in SuSE 9.0 allows me to run without the apic kludge.
      • Yeah, its an ASUS board. Thanks for the NOAPIC tip. Its not that serious for 90% of the time I do have something stuck into the card anyways, but I will try it.

  • Video4Linux (Score:4, Informative)

    by kinema ( 630983 ) on Saturday October 11, 2003 @05:13AM (#7188788)
    Slashdot really isn't the best place to ask a question like this. I would recomend the Video4Linux mailing list. You can subscribe at x-list or you can find their web site at , subscribe to their mailing list at linux-list or look at the (searchable) archives at 2 .
  • Slashdot really isn't the best place to ask a question like this. I would recomend the Video4Linux mailing list. You can subscribe at x-list or you can find their web site at , or look at the (searchable) archives at 2
  • I have a Logitech QuickCam Web, there are only working kernel modules for 2.4 though (no 2.6 experimental goodness) - you can grab 'em from the sourceforge page []. I don't know if you can have multiple cams though.
  • v4l has supported multiple video sources for years, as do all webcam programs. Just access the different cameras on /dev/videoX.
    Just to be sure if a specific driver is multi-device capable ask the developer if it's not specified on the website.

    I suggest you go find the cheapest three webcams, look them up in the USB devices database [] if they work with Linux, and then use motion [] to get the images.

  • D-Link has some nice units [] that are OS independant.
  • I've got 2 se401 webcams hooked up through USB on Linux, they go to /dev/video1 and /dev/video2 or something. Much better than I was able to pull off in Windows. I'd imagine 3 webcams would be a piece of cake as well.
  • Video for Linux (v4l) (much info here [] or the newer v4l2 [] are the places you want to check out as those above have men tioned. Also, check out this site [] for some code to used as a starting point. Attaching multiple cameras is no problem as the different USB cameras just map to /dev/video0, /dev/video1,...
  • is a Xirlink. I wasn't sure which camera I could use either a few weeks ago, so I figured I should just look in the kernel to see what was supported. I enabled V4L support in the kernel, and then looked around in the USB section and found the Xirlink driver (among others). I got the xirlink cuz it was 9.99 ;) Even with 7 bucks shipping it still came out cheaper than any of the other cameras I could find. Works great too, though I've only really used it with gnomemeeting.
  • by Kevin Burtch ( 13372 ) on Saturday October 11, 2003 @02:10PM (#7190573)
    If you're talking USB(1), then even a single "webcam" is useless for motion-capture unless you're talking about using really low resolutions. USB is just too darned slow.

    As another person stated above, get some capture cards with BrookTree chips. The Bt848 and Bt878 are very well supported in Linux, and have been for many years (used to use one on a 486).
    The cards can be had around $50-$75 usually, sometimes as cheap as $20-$25 at local computer shows.

    According to the docs for the bttv driver, the PCI bus doesn't get saturated with 4 cards, so this is probably the way to go.

    Another plus is the fact that not only are these capable of much higher resolution than any USB camera out there, the signals you can pipe into these cards can be much higher quality and from a variety of sources (old camcorder, mail-order pinhole camera, DVD-player via S-video, etc.).
    In other words, you can use a high-quality CCD rather than a low-res/low-quality/low-light-sensitivity CMOS imager (that nearly all USB "webcams" have).

    Another possible option is ieee1394 ("firewire") cameras.
    Anyone know if any firewire webcams (not camcorders) are supported in Linux? (I've only seen two brands, years ago)

    BTW: I have an IBM and a Labtec USB webcam. While both work with Linux, both suck horribly in every category compared to my Sun Camera connected to my Bt878 card (which also contains TV and FM tuners).
    • Much higher resolution? No. A lot of USB cameras out there have native 640x480 resolution, which is better than anything you could possibly get out of an NTSC frame.

      However I do agree about the flexibility of input sources, as well as the importance of CCD versus CMOS. I have a nearly antique Connectix QuickCam VC, which was CCD until Logitech bought the line and made them CMOS. Though the resolution isn't great, it does give very clear pictures even in low light. The case broke long ago, so I built the gu
      • NTSC has 525 (or is it 575?) lines of resolution
        (since it's analog, horizontal is indeterminate).

        Every USB "webcam" I've seen maxes out at 352x288 (at best).
        This is a limitation of the hardware itself, they use 352x288 1/4" CMOS imagers.

        USB cameras interpolate to 640x480.

        BrookTree cards can handle 640x480 streaming real-time (30 real frames per second).
        That data rate is impossible with USB(1).

        The question was for motion capture.
        Forget the misleading labels on your webcam box, try and capture at 352x288
        • You are about five years behind. Why don't you actually go look at cameras for sale and read their stats? The sensors are capable of 640x480 and even 1024x768 sometimes. I happen to have used a 640x480 webcam, and verified that the resolution was not interpolated, over three years ago.

          The reason is that with the progression of digital camera resolutions, the high-pixel-count imaging sensors are rock-bottom priced and find their way into webcams. QCIF sensors are used only in the dirt-cheap bottom end devic

          • Brand and model please?
            Please give examples of these magical webcams that can do 640x480 at 30fps over USB1.

            We should use this wonderful technology to get a few orders of magnatude higher throughput over all serial data lines!

            You're not going to convince anyone that you can do real-time video at any reasonable resolution with USB1.
            • Grandparent is correct. The "magic" in this is called compression. The chipsets actually use compression in sending the stream to allow for higher framerates at these resolutions.

              That said, I still think that a capture card is the best bet because it allows you to change the camera at a later time without worying about breaking your Linux support
            • I never addressed any part of your statement referring to speed. I only discussed resolution.

              That said, naturally USB 1.1 even in Full Speed won't do 640x480 at 30fps. But USB 2.0 is getting pretty common, so you could try this camera for $99 [].
        • NTSC has 525 (or is it 575?) lines of resolution.

          No. Not in the sense in which you are using the number. The 525 lines of NTSC includes all of that groady analogue stuff from the start of one frame to the start of the next frame: vertical blanking, synch, et al. The number of lines of picture is more like the familiar 480 (or maybe 486, depends on which standard you ask).

          (since it's analog, horizontal is indeterminate)

          Not completely. There are bandwidth limits to color NTSC that are well defined

          • Not completely. There are bandwidth limits to color NTSC that are well defined (horizontal bandwidth has to be limited so there is a place to put the color information). To digitize an analogue signal at 720 pixels per line is sensible with good starting material. If you want easy to compute square squares and circular circles, 640 isn't that bad a figure. Strange values in between have been seen too.

            IIRC, NTSC bandwidth translates into a nominal 704 pixels per scan line -- non-rectangular pixels, with

  • I've done something similar using black and white video cameras as I needed really good low-light capability. My solution ended up using Philips+Nogatech based video capture-to-USB dongles and Video 4 Linux drivers.

    As someone else mentioned, forget it if you want motion. In that case, PCI/1394 is the only way to go.
  • First, collect the best information. That means a good camera and exact positioning. If you don't use a good camera, you won't get good edges. If you don't position it accurately, your edges won't end up in the right place. So I expect that webcam housings will be just too difficult to work with. ALSO, usb cables the length you will have to use are dodgy. All you are interested in is the luma channel, don't worry about colors. Maybe you ought to use super vhs cam output and capture only luma with several de
  • I am putting together a security system for a client of mine. Wanted something reliable with software for a decent price.

    Check out the LMLBT4M card (listed under all products) 4 channel multiplexed or the LMLBT44 with 4 channel full-rate.

    They have free software with motion capture.
  • I've plugged multiple crappy webcams into my Linux box. The performance doesn't get worse as long as I limit myself to one camera per USB controller.

    I could tolerate 10 frames per second and 160x120 pixels, but I can't tolerate the motion blur. I want to do stereo vision, so I want all the cameras to capture an image at the same time.

    What's the cheapest USB or firewire camera which allows control of the exposure time and timing?

    My computer has USB 1.1, 2.0 and firewire ports on the motherboard. I don

Nothing is finished until the paperwork is done.