CamStream is (going to be) a collection of tools for webcams and other video-devices, enhancing your Linux system with multimedia video. All written in C++ and with a nice GUI frontend. The interface is based on Qt, an excellent GUI framework.

The aim of this project is build a set of programs for:


2006-12-28: A few iterations further, one pre-release later and a new user manual heralds the announcements of CamStream 0.27! Yes, it's now available for download. About time, too....

2006-02-17: Weehee! I implemented the last features that I wanted in CamStream, so I'm getting ready for a new release! As far as I am concerned, there won't be code changes unless there are some real gross bugs in the software. I will need to update the documentation (esp. the user manual), so in the mean time I suggest you give it a thorough shake-out :) I'm labeling this release 0.27pre1 and will be available for download apart from the daily snapshots.

As I said, the documentation is not up to date yet so you will have to figure things out yourself. However, I think the program is easy enough to do that. The main changes are:

I want to thank the person that have provided feedback and waited endlessly for me to get around to things... The full 0.27 release is scheduled for February 28th.

2006-02-16: I fixed two problems:

Happy camming!

2006-02-05: Fixed a crash when stopping timed snapshots (infinite recursion)

2006-01-25: Right now, I'm busy with a 0.27 version of CamStream. I've done a lot of work on it, you probably won't recognize it :) So, at this spot I'll try to keep you better informed about progress on CamStream.

The last week I've tackled two problems: the 'square boxes' problem when you displayed text in your screenshot (Yay!!). Second, the TV tuning dialog is now fully functional, so you can actually use CamStream to watch TV. The only thing remaining is control of the channels from the Viewer itself, you can now only change channels from the tuning dialog. After that has been implemented, I'll start working on the documentation and then 0.27 should be out of the door...

2006-01-09: Odd. It seems messages from the past year have disappeared. Anyway, I'm still alive and kicking! CamStream is progressing slowly, you can try the daily CVS snapshots if you like. I always like feedback :) <plug type="shameless">In the mean time, you may want to check out Radio G-FM, an online Internet radio station me and a friend set up. It plays 24 hours a mix of dance, club, today's hits, 80's music and a bit of R&B and soul.</plug>

2005-02-19: The bugtracker system is back online. I've replaced my Internet server and it took me a little while longer than expected to transfer all data. Sorry about that.

2004-12-19: I've changed the daily snapshot script a bit... It only uploads a new snapshot when something has changed in the code. And despite the fact that I didn't write something in this News-section for over a year, I'm still busy coding. In fact, I've picked up the pace recently, so expect some real progress. I hope to implement good audio recording soon, followed by (simple) video recording after that. So keep tuned...

2003-11-22: CamStream 0.26.3 is out; this is only an interim release to fix compilation errors and solve the problem that your Qt header files could not be found.

2003-06-12: All is well at this end, currently. Last week, my ADSL started working, which means that the bugtracker is back online, and the daily snapshot of CamStream is now really a daily snapshot. Also, I would like to thank the people who try out these snapshots and send me feedback; it really helps to quickly eliminate stupid errors and omissions in the building process.

Right now I'm quite busy building sound support into CamStream, based on the ALSA drivers. In case you haven't installed those drivers yet, I would recommend you do so. Support for hardware is much better than the old OSS drivers, it has a decent API with documentation (though I admit the documentation is rather bare-bones), and includes some handy tools. The 0.9.* release of ALSA is now declared 'stable', so give it a try.

2003-05-08: In case you followed the thread on the PWC page, you'll know that I moved house. Now things are settling down (fortunately), and actually the fact that I'm without ADSL at the moment means I spend less time chatting, and more time programming :-))) Also I decided to make daily snapshots of CamStream available. This will hopefully encourage others to participate, fix bugs, send patches, etc. Plus the time between releases is way too long (part of my quality requirements, actually: nothing goes out of the door until I've thoroughly tested it and the documentation is complete). Of course, there's no support for the daily snapshots. If it doesn't compile, works or b0rks your kernel, tough luck :)

2003-01-27: I've set up a bug/change request tracking database for CamStream. Hopefully this will make it easier for you and me to keep track of changes and bugs.

2002-12-30: CamStream 0.26.2 is available for download. It fixes a problem with devices that only have the RGB24 or RGB32 palette available. I also fixed the camstream/configure script (would fail to build after a second run).

2002-08-25: A fix has been made such that CamStream will compile with GCC 3.*; you can either apply a small patch or download a whole fresh new version at the download directory.

2002-06-03: There are some issues with camstream 0.26 and OV511 based cams; people only get a black screen; appearantly CamStream 0.25 works normally. I'm not sure what the problem is, I've changed quite a few things. I bought a OV511/OV518 based webcam to test, but that cam doesn't work at all!

2002-05-17: CamStream 0.26 is out! Thanks to all the testers of the -pre versions! Get it at the usual place.

2002-04-30: CamStream 0.26 pre 2 is available. It hopefully fixes the compile error in and should work with the qt-mt library as well. See on the download page.

2002-04-27: A new version is out! CamStream 0.26 pre 1 can be downloaded here. It's a pre-version because the documention (most notably user manual) isn't updated. However, I would like your feedback on this. See the Changelog to see what has been fixed/added.

2002-03-10: So you may wonder what I've been doing the past 6 months... Well, a lot of things, including work on CamStream. But there are just a couple of delays... I've been busy with the Philips webcam drivers, but that work is largely finished now. And I've got a new job, and some other hobbies that take up time. Yes, I do have a life, you know :-)

What I have done so far on CamStream is speeding up the display process quite a bit, and added all the features for the Philips webcams. Currently I'm working on solidifying the FTP stuff, since the Qt classes simply don't do what I want, and the other code was barely working. I really hope to make a new release within the next 14 days.

2002-01-04: I'm going on vacation for 2 weeks, so don't expect an answer from me until the end of January... Wish me Hals und beinbruch :-)

2001-07-13: There's a bug in the Qt library regarding FTP uploads; unfortunately, there is no workaround available.

2001-06-20: Released version 0.25. It fixes a small bug in the palette detection logic of the video devices. Also, an old piece of documentation from the camstream user manual has been deleted.

2001-05-29: Complete revamp of the website, and the application. The app itself has been transformed into a MDI applications, and some of the dialogs have been redesigned with the Qt Designer (which I may recommend to anyone doing regular GUI design).

2000-11-27: I am releasing version 0.23; it contains a few bugfixes and should compile on Debian/woody systems (it just shows how Linux really is Linux... :-( ). In case you missed the announcement of 0.22: that's right. The website was unreachable from most part of this planet for a week (!), and just in that time I managed to released 0.22 :-). Anyway, everything is back to normal now.

2000-11-11: Version 0.22 is out; partly, this is an upgrade for the Philips webcam modules 5.07 and up; in addition it has somewhat better support for TV cards with multiple inputs and tuners.

2000-10-12: I added an errors page that lists known issues and (hopefully) some fixes. This in case I'm too lazy to release a new version with fixes and/or the code is in an unusable stage. So pleace check this page first before sending mail.

2000-09-25: Oops. camstream-0.21 requires Qt 2.1 (haven't tested 2.0.*). I am using some functions that are not available in 1.44 or 1.45. So I guess it's time for you to upgrade :)

2000-09-24: It took a while, but I'm still here. This version features simple FTP upload code, so you can do some "real" webcamming. But I disabled the video conferencing stuff since it was a bit in the way of some the class redesinging that I did.

2000-08-06: A new version, a new webdesign. And a lots of changes in the code. I don't think you'll recognize it back ;) I've spent a lot of time on implementing code that will turn camstream into a webcam/broadcast tool.


At the moment the first part, webcamming, is functional. For a full list of features, see this page.

There is also a small utility available, caminfo. Caminfo probes your video devices from /dev/video* and displays what it has found.

There is still a lot of work to do, so anyone who is willing to help is welcome! (provided you know how to program in C++, of course). See also the TODO list.

Supported hardware

Currently all webcams that are supported by the Linux kernel and TV cards are supported fairly well (some better than others: your kilometrage may vary :-) ).

For USB cams you will need a fairly recent kernel, like 2.4.* or >= 2.2.18. for more information on status, supported hardware and instructions.

A bit of history

CamStream was originally developed in parallel with the Linux USB drivers for Philips and CPiA based webcams (WebBlaster, Zoom and others). Since 0.21 it also support TV cards (in a limited fashion), and it should work with other devices that implement the Video4Linux API and have a read() or mmap() call.

I started working on these programs because I was dissatisfied with the available Open Source tools for webcams for Linux. Basicly I encountered 4 problems:

  1. The tools were designed for one piece of hardware only, and thus inflexible;
  2. They were hard to use, with obscure command-line settings;
  3. It was usually not possible to adjust settings from within these programs;
  4. The tools that were decent were commercial, binary-only programs.

I wanted to write something that was easy to use, with a GUI (Graphical User Interface), where you could just go point-and-click.

Feedback, etc

Your comments, ideas, bugfixes, patches etc. are always welcome! Send them to
Note: I speak both English and Dutch.


Linux drivers for Philips USB cams.

Graphics are done with The Gimp.

Uploading of this homepage is done with Weex.

Other software by me

- Nemosoft Unv.

Free counter and web stats