v Main
-> Latest
-> About
-> Photos
-v WebCam
-> Gallery
-> Archive
-v Info
-> Words
-> Graphics
-> Music
-> Links
-> Credits

> Site Map



The Cam . . .
This is the cam, getting a taste of its own medicine, and having it's own picture taken for a change.
(Much has changed since this was taken - we now have new desks, and have moved to a different office, so things now look a little different.)

The WebCam is something of a Heath-Robinson job. Ages ago at work, we bought a couple of parallel port cameras, supposedly to test the viability of a video conferencing system over the network. It didn't work, mainly due to the limitations of the cameras themselves, and the fact that they use the parallel port really limits the framerate. So the cameras sat there doing very little for a couple of years.

One evening a while back, I remembered that they existed, and had a look to see if they could be persuaded to work as a webcam, an application for which a decent framerate wasn't too important. Initial tests weren't good. I no longer had any of the camera packaging or documentation, and the cameras themselves are unmarked except for a serial number. I did have a driver disk - but for Win31 only. None of the readme files gave any indication of the company who made the camera, and web searches didn't turn up anything. So, I booted a machine back into the dark ages and fired up Win31. Hey Presto, the camera worked, although the software to drive it is worryingly flakey in places, and full of typo's and spelling errors. With a little work, it could be configured to take still images every x minutes, and save it as a bmp to a file. This functionality is somewhat broken in that the timer is very inaccurate - a setting of 1 image per minute actually results in 1 image every 5 minutes on a 200Mhz MMX pentium.

The snag was that in order to run this as a webcam, I would need to have a dedicated machine running win31 - the MMX machine was at the time the one I logged in on as Admin, and I needed it to be in NT. So, I had to build a PC from various odds and ends around the office. From various nooks and crannies, I put together WebCam1 with the following impressive specification:
*  AT case, power supply, floppy and 486 DX2 66 processor from our old CD writer machine, long since retired.
*  Two 4Mb simms from the stash of spares, giving a grand total of 8Mb RAM.
*  AT PCI motherboard with 128Kb cache and onboard IDE controller from my old machine before its motherboard upgrade. The original motherboard from the CD writer machine didn't have onboard IDE . . .
*  520Mb IDE hard disk from the suspect disk pile. One of those disks which have failed in the past in a strange way which prevents the machine from booting from them. It originally booted from the network, but since we withdrew this service, it now boots from a floppy. (The boot floppy has also undergone several iterations, starting out as a VLM based IPX client, but is now based on the DOS implementation of Client 32 and runs over IP).
*  PCI network card with blistering 100MBit/s performance. (This replaced the original 10MBit/s ISA one due to a lack of 10/100 ports in the office).
*  S3 PCI graphics card with an incredible 1Mb of onboard RAM.
*  Various odd cables etc to get the parallel port working. The serial ports still don't work, and as this is a box which will sit in the corner doing nothing other than capturing images, I couldn't be bothered working out what was amiss. Luckily I know my windows keyboard shortcuts.

The way the webcam now works is this:
*  WebCam1 is configured to take an image every minute.
*  It actually takes an image every 10 minutes (that timer really doesn't work properly), and stores it as a windows bitmap on a network drive.
*  Every minute, a script running inside a command prompt on the same machine examines the bitmap, and checks to see if it is newer than the last time it looked.
*  If a newer image is detected, a jpg version is generated (using a cjpeg.exe, a command line converter), and copied to the right place on the webserver.
*  A copy is also put into the archive with a name based on the current date.

On balance, this probably wasn't worth the effort, but it became a bit "I've started so I'm going to finish the *n*f*ing1 thing".

Things I'm unlikely to get around to include stopping it from putting files below a certain size into the archive (there being little point in archiving overnight images that are all entirely black).

1: This is a new swear word I just invented, specially for the occasion.

< WebCam. ^ Top.

Valid HTML 4.01 Copyright © 2006 Mike Sandells.
Last Modified: 12.7.2006