Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

WebCam Options for Linux?

Cliff posted more than 10 years ago | from the peek-a-boo dept.

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

cancel ×

40 comments

Linux USB Camera Support (2, Informative)

Gefd (562296) | more than 10 years ago | (#7188601)

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

- Gef

camera... (1)

Alex Belits (437) | more than 10 years ago | (#7188626)

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

Can be easily modified to use v4l

Creative Video Webcam Plus (2, Informative)

JimmyGulp (60100) | more than 10 years ago | (#7188660)

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

brooktree / motion (1)

zcat_NZ (267672) | more than 10 years ago | (#7188720)

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 [sourceforge.net] That should give me up to 9 cameras scanned at two or three frames per second.

USB 2.0 (1)

tigersha (151319) | more than 10 years ago | (#7188745)

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!

USB 2.0 != High Speed (1)

benjamindees (441808) | more than 10 years ago | (#7188764)

I'm not being pedantic, just informative [slashdot.org]

Re:USB 2.0 (1)

ColaMan (37550) | more than 10 years ago | (#7188854)

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

Re:USB 2.0 (1)

tigersha (151319) | more than 10 years ago | (#7189072)

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.

Re:USB 2.0 (1)

molarmass192 (608071) | more than 10 years ago | (#7210381)

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.

Re:USB 2.0 (1)

tigersha (151319) | more than 10 years ago | (#7216491)

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 (3, Informative)

kinema (630983) | more than 10 years ago | (#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 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 .

Video4Linux (1)

kinema (630983) | more than 10 years ago | (#7188907)

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

Re:Video4Linux (0)

Anonymous Coward | more than 10 years ago | (#7192871)

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.

QuickCam Web (1)

Dave2 Wickham (600202) | more than 10 years ago | (#7189159)

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 [sourceforge.net] . I don't know if you can have multiple cams though.

Re:QuickCam Web (0)

Anonymous Coward | more than 10 years ago | (#7192409)

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

You can.

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

You can't do anything wrong (1)

maol (177620) | more than 10 years ago | (#7189258)

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 [www.qbik.ch] if they work with Linux, and then use motion [sourceforge.net] to get the images.

Use cameras made for the task (1)

macemoneta (154740) | more than 10 years ago | (#7189349)

D-Link has some nice units [dlink.com] that are OS independant.

iSight (0)

Anonymous Coward | more than 10 years ago | (#7189516)

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!

se401 (1)

big.ears (136789) | more than 10 years ago | (#7189576)

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.

Some of this has been done (1)

swg101 (571879) | more than 10 years ago | (#7189663)

Video for Linux (v4l) (much info here [exploits.org] or the newer v4l2 [thedirks.org] are the places you want to check out as those above have men tioned. Also, check out this site [sourceforge.net] 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,...

The camera I use... (1)

ErisCalmsme (212887) | more than 10 years ago | (#7189810)

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.

"Webcam" no good for motion... (2, Informative)

Kevin Burtch (13372) | more than 10 years ago | (#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).

Re:"Webcam" no good for motion... (1)

cybermace5 (446439) | more than 10 years ago | (#7190808)

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 [macetech.com] I hacked together one afternoon.

Re:"Webcam" no good for motion... (1)

Kevin Burtch (13372) | more than 10 years ago | (#7190950)

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.

Re:"Webcam" no good for motion... (1)

cybermace5 (446439) | more than 10 years ago | (#7191065)

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.

Re:"Webcam" no good for motion... (1)

Kevin Burtch (13372) | more than 10 years ago | (#7191163)


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.

you are forgetting something (1)

swg101 (571879) | more than 10 years ago | (#7191464)

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

Re:you are forgetting something (1)

Kevin Burtch (13372) | more than 10 years ago | (#7191701)


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.

Re:"Webcam" no good for motion... (2, Interesting)

cybermace5 (446439) | more than 10 years ago | (#7192480)

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 [orangemicro.com] .

Re:"Webcam" no good for motion... (1)

Kevin Burtch (13372) | more than 10 years ago | (#7192839)


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)

Re:"Webcam" no good for motion... (1)

Kevin Burtch (13372) | more than 10 years ago | (#7192848)


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

Re:"Webcam" no good for motion... (1)

cybermace5 (446439) | more than 10 years ago | (#7192874)

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.

Re:"Webcam" no good for motion... (1)

kentborg (12732) | more than 10 years ago | (#7198047)

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

Re:"Webcam" no good for motion... (1)

michael_cain (66650) | more than 10 years ago | (#7199985)

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.

Use video cameras + capture, not webcam (1)

mercuryresearch (680293) | more than 10 years ago | (#7191879)

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.

Use industrial cams (1)

bob_calder (673103) | more than 10 years ago | (#7191889)

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.

translation (0)

Anonymous Coward | more than 10 years ago | (#7192274)

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.

LinuxMediaLabs MultiChannel PCI Boards (1)

major.morgan (696734) | more than 10 years ago | (#7195939)

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.

Are there cheap cameras with exposure control? (1)

hamjudo (64140) | more than 10 years ago | (#7201757)

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.

Check for New Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...