[ News | What | Why | Status | Download | CVS | Shots | Contact | Last Words | Spider | Forums ]
iCam2 is a webcam application built around Video4Linux and Imlib2. The purpose for creating iCam2 was that, after (finally!) getting my parallel-port QuickCam VC operating, I needed some software to make use of it, but the only programs readily available either didn't support all the features I wanted, or required a camera that supports mmap(), which mine (currently) does not...So, after spending some time tweaking the webcam application that is shipped as a part of the xawtv package, I decided to set out and create my own app. And this is it.
The primary design goals of this application are:
1) Provide an extensible, flexible, and quality webcam application.
2) Allow the app to run with an X11-preview interface. This used to be a
three-window interface, but that annoyed me to no end, so now it is one window
that shows a realtime image from your camera, after all applicable post-processing.
3) Provide a dynamic interface to plugins and filters. Check out SDLcam if you
want to know why I think filters are cool. :)
Because it's based on Imlib2. And this is the second generation of the program. So, think of it as "Imlib2 Cam, 2nd Generation"... :) Ok, whatever...anyway...
5.Jul.2004 - v1.1 released, with very little fanfare. I've had it running for awhile now on my home machine (about two weeks straight) without any memory leakage or unexplained crashing. I would consider this, most likely, the final 'stable' release for quite awhile; I'll add bug fixes as needed, and if anyone still has issues with the initial './configure' routine, I'd like to fix that, but there won't be any new features in the v1.x line. v2.0, on the other hand, will add dynamic filter support. I expect to see some memory leakage and unexplained crashing during that time.. :)
23.Jun.2004 -
iCam2 v1.1 (currently in CVS), running under Gnome. It's been running on my box for days without any signs of memory leakage, window refreshing seems OK, CPU usage isn't too high, and it otherwise looks stable to me. Hopefully the next release will follow shortly.
19.Jun.2004 - New CVS revision. One X window, threads, FTP, MPEG, all the usual gadgetry. It's got preliminary YUV420P palette support (but I have no camera to actually test this with), and will shortly have YUV420I support (but again, no test camera!). Once this is done, I'll package up a new version and see how it goes. Oh, FYI- MUCH cleanup and fixing to the configure scripts. If you had problems in the past with them, hopefully this will take care of your issues!
04.Jun.2004 - v1.04 released! In Downloads, of course. Has lots of niftiness, including support for external commands to run pre- and post- snapshot, implementation of Imlib2 dynamic filters, a lot of code cleanup. Of particular note, it now integrates libcurl (optionally) to allow built-in ftp of snapshots to remote servers. Probably better off using the post_func to use scp (security, you know) but hey.. :)
02.Jun.2004 - #3 - v1.03-motion released, look in Downloads
02.Jun.2004 - #2 - new rev in CVS, v1.03-motion. ./configure --enable-mpeg if you have libfame installed and want MPEG recording capabilities. Look in proto-icam2rc for the [video] section to see what makes it tick. Also, setting either delay or mpegdelay to 0 has an effect of storing frames as rapidly as possible (your webcam image file for delay, or new frames into the mpeg file for mpegdelay). Something like delay = 0 mpegdelay = 10 is good for a streaming webcam with timelapse video, or delay = 10, mpegdelay = 0 if you're trying to record video, and only want a frame here and there to get snapped to a static image. Oh, yeah, added nph-webcam.cgi, when used in combination with delay = 0 (or delay = 1), makes a great example of how to make iCam2 stream (doesn't work with IE tho)
02.Jun.2004 - Holy ****. It's been 1.5 years since I did anything with iCam2, but here I am. :) Soon as I finish up a few 'technical' difficulties, I'll have a new rev of iCam2 out. Doesn't fix any of the old bugs (that I know of), but adds time-lapse video recording to MPEG via libfame. Now, just gotta figure out how to use SourceForge again... :)
19.Sep.2002 - v1.03 released. X11 "works" without crashing/leaking mem! Not perfect yet, but works well enough.. :)
16.Sep.2002 - v1.03 In Progress: New Features: Auto-whitebalance adjust, and "status" overlay (dump various cam stats on top of cam input image, using a tiny, fixed font). More to come...this will most likely be the final release focusing on anything other than the X extensions; once the X stuff works, it's on to dynamic filters, and then maybe some last-minute features, and a final release!
16.Sep.2002 - v1.02 Released
v1.02 is out. v1.02 is vastly improved over v1.01. You should use it.
You can always get the latest revision out of CVS, of course.
Here's all you need to know:
I'll get some screencaps of the X11 windows once I get that working as
well...all in due time, all in due time.. :)
What you see above is, from left to right:
Hopefully that'll give you a little taste of what iCam2 can do...A lot of the
options used above are only available in v1.02, though.. :/ I'll have a release
soon! I just realised that there /might/ be a small memory leak in that though,
so I'd like to investigate before releasing. Just be a day though, really!
And forgive the horrible image quality...all I've got is this crappy QuickCam
VC. Nice little camera, but it isn't exactly "modern technology" and the Linux
driver only works in 6bpp mode, so color is nearly non-existant...I'd like to
get my hands on some other hardware to get some other palette modes working
(right now only RGB24 works), and to get some decent camera pics.. :) One of
the Philips 740 cams would be nice...some day..
Email mholger@users.sourceforge.net. I'll try and get back to you as soon as I can!
Go easy on me! This is the first C app I've coded in .. 4+ years. It's also
the first time I've written code to use Imlib2, V4L, or X. So, it's probably
bad. But it works. :) Also, I've never used autoconf and such before, so
that's a pretty basic setup right now, but again -- it works. At least, for me.
YMMV...if you've got any ideas/thoughts/patches/etc., feel free to send them
over, but if all you've got are nasty comments...go burn. If you don't like it,
don't use it. :) (Or, rip off my code, and start your own OSS webcam project!)
Here's a pic of the spider that (will soon) be present in my tank, in case
you're interested. The pic is (c) 2001 Swift's Inverts.
So far, things that work: image vertical/horizontal flipping, autobrightness
adjusting, timestamping/message printing using TrueType fonts, custom "away"
image, alpha-blending said image with current cam data, and dynamically changing
configuration variables (most of them, anyway) through a "tweak" file. Mostly
working are blur/sharpen routines (I think something is whacked in Imlib2 -
these are the stock routines as provided by the library, and under Imlib2 1.0.5,
if you enable blur but not sharpen, or sharpen but not blur, after the second
iteration, the whole thing segfaults...Downloads
Package Version Notes
iCam2 v1.1 More and better threading, X11 interface redone, ... iCam2 v1.04 FTP, dynamic filters, external commands... iCam2 v1.03-motion Now with added MPEG! iCam2 v1.03 The iCam2 source..with more or less functional X11 support iCam2 v1.02 The iCam2 source.. Imlib2 v1.0.6 Required library for image handling libfame latest Optional library, needed for MPEG capabilities CVS Access
cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/icam2 login
Password: <hit return>
cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/icam2 co iCam2
Snapshots
1) The inside of the house of my spider. Or, well, the spider isn't there yet,
but it will be soon. :)
2) Same as above, with blur=10 and sharpen=1.
3) The "away image" -- a random pic taken when I was running the same camer
under Windows, using ChillCam (a killer app, BTW :)...the camera is still
showing the same thing as in the first picture, but I have "away" turned on.
4) This is away turned on, blur=10, sharpen=1, and blendaway=60. The "away
image" (previous pic :), is being blended on top of my live camera data (the
pic before the last pic).
Contact
Last Words
The "Spider"
The spider itself is one Brachypelma smithi (F.O.P.-Cambridge), otherwise
known as a "Mexican Redknee" - a docile, ground-dwelling, "New World" spider.