Slashdot Mirror


WebCam Options for Linux?

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."

40 comments

  1. Linux USB Camera Support by Gefd · · Score: 2, Informative

    http://www.qbik.ch/usb/devices/showdevcat.php?id=9
    You'll probably find this page/list useful as a starting point

    - Gef

  2. Philips by benjamindees · · Score: 1

    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.

    --
    "I assumed blithely that there were no elves out there in the darkness"
  3. camera... by Alex+Belits · · Score: 1

    http://www.fhttpd.org/pub/qcwebcam/README.html

    Can be easily modified to use v4l

    --
    Contrary to the popular belief, there indeed is no God.
  4. Creative Video Webcam Plus by JimmyGulp · · Score: 2, Informative

    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? :)

    --
    Dirk stood in the Stanley
  5. brooktree / motion by zcat_NZ · · Score: 1

    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 two or three frames per second.

    --
    455fe10422ca29c4933f95052b792ab2
  6. USB 2.0 by tigersha · · Score: 1

    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 USB card!

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    1. Re:USB 2.0 by ColaMan · · Score: 1

      USB 1.0 cards are cheap, just whack another one in your PC for $15 and keep on plugging those cameras in :-)

      --

      You are in a twisty maze of processor lines, all alike.
      There is a lot of hype here.
    2. Re:USB 2.0 by tigersha · · Score: 1

      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.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    3. Re:USB 2.0 by molarmass192 · · Score: 1

      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.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    4. Re:USB 2.0 by tigersha · · Score: 1

      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.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  7. USB 2.0 != High Speed by benjamindees · · Score: 1

    I'm not being pedantic, just informative

    --
    "I assumed blithely that there were no elves out there in the darkness"
  8. Video4Linux by kinema · · Score: 3, Informative

    Slashdot really isn't the best place to ask a question like this. I would recomend the Video4Linux mailing list. You can subscribe at https://www.redhat.com/mailman/listinfo/video4linu x-list or you can find their web site at http://bytesex.org/v4l/ , subscribe to their mailing list at https://listman.redhat.com/mailman/listinfo/video4 linux-list or look at the (searchable) archives at http://marc.theaimsgroup.com/?l=linux-video&r=1&w= 2 .

    1. Re:Video4Linux by Anonymous Coward · · Score: 0

      WTF?? you like to post twice to the same question... with the exact same answer... come up with a good excuse and i won't mod you down every chance i get.

  9. Video4Linux by kinema · · Score: 1

    Slashdot really isn't the best place to ask a question like this. I would recomend the Video4Linux mailing list. You can subscribe at https://www.redhat.com/mailman/listinfo/video4linu x-list or you can find their web site at http://bytesex.org/v4l/ , or look at the (searchable) archives at http://marc.theaimsgroup.com/?l=linux-video&r=1&w= 2

  10. QuickCam Web by Dave2+Wickham · · Score: 1

    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.

    1. Re:QuickCam Web by Anonymous Coward · · Score: 0

      I don't know if you can have multiple cams though.

      You can.

      I have two cameras on a single machine running at work.

  11. You can't do anything wrong by maol · · Score: 1
    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.

    --
    --
    Du Deutsch -> Du gehe Symlink
  12. Use cameras made for the task by macemoneta · · Score: 1

    D-Link has some nice units that are OS independant.

    --

    Can You Say Linux? I Knew That You Could.

  13. iSight by Anonymous Coward · · Score: 0

    Go buy an iSight at your local Apple store. Just plug it into your FireWire port and you're done. Piece o' cake.

    What's that? You don't have a Mac? Oh, you poor DEAR!

  14. se401 by big.ears · · Score: 1

    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.

  15. Some of this has been done by swg101 · · Score: 1

    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,...

    --
    Like pi? Try 10,000 digits.
  16. The camera I use... by ErisCalmsme · · Score: 1

    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.

    --
    Chaos is Divine *
  17. "Webcam" no good for motion... by Kevin+Burtch · · Score: 2, Informative

    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).

    --
    - Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -
    1. Re:"Webcam" no good for motion... by cybermace5 · · Score: 1

      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 guts into a little pan/tilt base I hacked together one afternoon.

      --
      ...
    2. Re:"Webcam" no good for motion... by Kevin+Burtch · · Score: 1

      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 (the maximum hardware resolution) and see how many frames/second you actually get.
      The only time you'll get 30fps out of a USB camera is if you set the resolution to a tiny fraction of its already pathetic capabilities.

      --
      - Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -
    3. Re:"Webcam" no good for motion... by cybermace5 · · Score: 1

      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 devices like Barbie cams and cruddy Logitech freebie models.

      --
      ...
    4. Re:"Webcam" no good for motion... by Kevin+Burtch · · Score: 1


      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.

      --
      - Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -
    5. Re:"Webcam" no good for motion... by cybermace5 · · Score: 2, Interesting

      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.

      --
      ...
    6. Re:"Webcam" no good for motion... by Kevin+Burtch · · Score: 1


      Hey, and it has experimental Linux support.
      Very cool! Thanks!

      (the comment about speed was due to the fact that the topic of the Ask Slashdot question, and of my posting, was motion capture)

      --
      - Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -
    7. Re:"Webcam" no good for motion... by Kevin+Burtch · · Score: 1


      Ack... I spoke too soon.
      The ibot2 uses a CMOS sensor (not a CCD), which means it is horrible in low light conditions.

      --
      - Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -
    8. Re:"Webcam" no good for motion... by cybermace5 · · Score: 1

      Yeah, I sometimes wish CMOS sensors had never been invented. Then maybe they could have gotten the price point of CCD down so far they'd be just as inexpensive.

      CMOS sensors do work really well in good lighting. Which means 90% of the time you'd actually need to use the camera...except the other 10% they are useless.

      --
      ...
    9. Re:"Webcam" no good for motion... by kentborg · · Score: 1
      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 (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.

      And if you want to get all fancy and have the best possible picture, you want to design a camera with sensor that has significantly greater native resolution, shoots through a filter that blurrs enough to prevent sampling artifacts (jaggies), and then downsamples to wash out the softness of that earlier filter. (Annoying to be in a universe that apperently doesn't have negative light.)

      -kb
    10. Re:"Webcam" no good for motion... by michael_cain · · Score: 1
      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 which I dislike dealing. The MPEG profiles allow a maximum of 720 pixels per scan line for standard-definition video. And, as you say, 640 pixels per line by 480 lines gives nice square pixels and is, in practice, quite close to the actual resolution of the frame. Of course, there's that other ugliness that you're actually dealing with two 640x240-pixel fields, which have to be interlaced to provide a full frame. For many applications, I have found that grabbing 320x240-pixel images from odd frames only (or even frames, take your choice) provides adequate image quality without the interlace problem.

      It's been a while since I was doing anything with video on Linux, but I recall that frame grabbers based on the BT8x8 family do down-sampling of the image in hardware, so it's easy to choose a frame size that fits the application. Also easy to grab grayscale images rather than color, which involve less data and are faster to process, and may be entirely adequate for motion-detection work. The last time I used v4l one part of the project involved simple motion detection, and grayscale worked well for me.

  18. you are forgetting something by swg101 · · Score: 1

    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

    --
    Like pi? Try 10,000 digits.
    1. Re:you are forgetting something by Kevin+Burtch · · Score: 1


      I'm curious which USB webcam can do 640x480 at a reasonable frame rate, even if it does use hardware compression, that works with Linux.

      Please let me know, as I know a few people who'd love to get one.

      --
      - Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -
  19. Use video cameras + capture, not webcam by mercuryresearch · · Score: 1

    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.

  20. Use industrial cams by bob_calder · · Score: 1

    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 dedicated cards. As you know, the svhs cable carries luma separately. Also,, if you use this setup, you can vary the compression. If you use a DV setup, you are stuck with 3:1
    Your project sounds awesome.

    --
    Any preoccupation with ideas of what is right or wrong in conduct shows an arrested intellectual development. (Wilde)
  21. translation by Anonymous Coward · · Score: 0

    I am working on a video conferencing sytem so I can pick up chicks, and I plan to implement it with several webcams viewing my naked body 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, like the area around my crotch so the girls don't laugh.

  22. LinuxMediaLabs MultiChannel PCI Boards by major.morgan · · Score: 1

    I am putting together a security system for a client of mine. Wanted something reliable with software for a decent price.

    http://www.linuxmedialabs.com/

    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.

  23. Are there cheap cameras with exposure control? by hamjudo · · Score: 1
    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't want to use a PCI card, because I don't want anything that can shake loose.

    I played with the QuickCam Express, it's cheap, it works as long as nothing moves. Not good for my robot. I want to put cameras facing in all directions, rather than handle the complexity of tilt and pan.