Technical information about the files in this directory, which support The Amazing Chez Inwap Backyard WebCam.
Note: The original set up was a Pentium running Windows-95 and SnapCAP. It was replaced October 1998 by a 486-DX33 running Linux and a Sun SPARCstation working in tandem. Last major hardware change: 9-Feb-1999.
By Joe Smith.



Image Capure

The Linux box that drives all this has two entries in crontab.
*   * * * * backyard/get-vfc
*/5 * * * * backyard/send-vfc
The first one runs get-vfc once a minute. That perl script decides whether it is time to grab a picture. If so, it connects to the SPARCstation and runs vfc-snap there to snap a video frame capture on the appropriate input port. The captured image is converted to JPG format and text is added. The top says "Chez Inwap Outdoor Web Cam" or "Chez Inwap Indoor Web Cam" and the bottom has the current date and time.

SPARCclassic SBus card img/video in SnapShot Cables

SPARCclassic workstation, running SunOS-4.1.4.
VideoPix SBus card.
Closeup of video input connectors.
The SBus card says "SnapShot   Sun".
Cables; RCA to BNC for Video-1, RCA for Video-2, S-Video.

Image Transfer

The second 'cron' entry runs send-vfc every 5 minutes. This perl script selects the outdoor image during the day and the indoor image during the night. It then copies the selected image and capture.txt to the public_html/backyard directory on our primary web server.

Image Archiving

Two perl scripts are run every twenty minutes via 'cron' on the primary server
03 * * * * backyard/ 00; backyard/ -q
23 * * * * backyard/ 20
43 * * * * backyard/ 40
The first one,, copies the current JPEG file (and its thumbnail GIF) from the current-hour directory into the current-today directory.

Image Rotation

The second script,, moves anything older than 24 hours out of the current-today directory to the current-yester directory. Anything older than 48 hours is deleted.

Image Display

I had to resort to a bit of trickery to get the URL with backyard/capture.jpg to work. ArteMedia's Wall of Snap and other sites refer to "capture.jpg", but the actual image name keeps changing. The key is to convince the web server to run a CGI script whenever "capture.jpg" was requested. This script,, reads capture.txt for the name of the JPEG file. It then sends the image (Content-type: image/jpeg) without a Last-modified header so that browser won't cache the file.

That same script performs a different function when invoked as <!--#exec cgi="capture.cgi"--> - it returns

<A HREF="mmDDHHSS.jpg"><IMG SRC="mmDDHHSS.jpg" WIDTH=320 HEIGHT=240></A>
This tells the browser to display the image at half size; clicking on the image will display the full picture.

See also: Description of original set up (Win95), recent pictures and our gallery.
Maintained by Joe Smith