Camera selection

As you may or may not know, my computer systems mainly run Debian GNU/Linux. Somewhat contrasting with this, I also follow some video services online, such as YouTube and ustream.tv. Sadly they require Flash. Anyhow, I was inspired by several videos online and thought it would soon be time to post one of my own. This led me to search for a camera.

After much digging around, I settled for a Logitech QuickCam AF. After attempting to use it for a while, I can only conclude this was not the best choice. It has good sides – resolution up to 1600×1200, frame rate 30fps (up to 800×600), panning and tilting, UVC interface, JPEG compression and motorized focus. As simpler webcams go, it’s fair. But it doesn’t have true autofocus like the Vision Pro, or 30fps 720p like Microsoft LifeCam Cinema.

I found a few programs to cooperate with the camera, most notably mjpg-streamer, but it’s not very polished. I mucked about a little bit with javascript and wrote a simple page adding clickable panning to that as an experiment, but it needs the feature to tilt and pan in the same operation. It does have the advantage of needing very little CPU, and demonstrates working control of pan and tilt – which neither luvcview nor v4l2ucp do, in the packaged versions.

The most jarring problem I’ve encountered has to do with lighting. This camera wants light – lots of it. It defaults to solving this by raising exposure time, leading to awful frame rates and blurred pictures. On the other hand, I really do have a shortage of light, so manually lowering exposure (why are there two settings to make it manual?) leads to visible flicker and colour distortions.

In all, I find there’s a need for some better processing applications. Something to help control the focus, recode (as with ffserver), and target (either manually or motion detection). I’m aiming for video conferencing, so I’ll want audio with echo cancellation as well. On that note, the mono mic in the webcam is limited to 16kHz sample rate. It appears BruteFIR is the program for that, but how to set it up properly is a mystery.

Has anyone heard of any decent solutions?