WebCam2000 (WC2K) is a program for serving live still pictures on the
Internet. It can serve the picture as a JPEG image or a bitmap file and
can be used as a standalone web server or as the backend to a CGI script.
This version of WC2K requires:
Windows 95, 98, Me!, NT 4.0, 2000, or XP
a Video for Windows capture device and camera
a live internet connection such as a cable modem or DSL
connection. Dial-up will work also. Unlike some other picture server
programs, WC2K does not take pictures at intervals and upload them to
an FTP server. It serves the images live as users request them.
Therefore your computer must be online for WC2K to be able to serve
pictures. WC2K still runs if you are not connected to the internet, but nobody will be able to
WebCam2000 is copyright © 2003 by Jeffrey Carlyle. It is covered by the
"Artistic License." For more details on the copyright and the license, please
see the files COPYRIGHT and LICENSE included in this distribution.
WebCam2000 remains open source software. The source to WebCam2000 can be
downloaded from the WebCam2000 homepage at <http://www.stratoware.com/webcam2000/>.
WebCam2000 was originally written by Paul Chinn <http://www.1000klub.com/>.
Many thanks to him for all of his hard work.
WebCam2000 only has 3 files: "WebCam2000.exe", "overlay.bmp" and
"capoff.bmp"- to install, just put these files in the directory of your
choice. To uninstall, delete them.
Using the program.
After starting the program you will see a blank window and the menu:
File Video Options Help
The Video menu contains a list of all Video For Windows capture devices
on your system. Select the one you want to take pictures. After
you choose the capture device a checkmark will appear by it and you will see
the image it takes in the main window. Only one device can be selected at
a time: if you choose another device (assuming you have more than one on your
system) the first will be turned off. You can turn off the capture device
completely by selecting it again. (see below for information about the
Also under the Video menu are the options "Source", "Format" and
"Display". Which of these is available depends on your capture device as
does their function. Selecting them brings up dialog boxes that are
specific to your device but should be familiar to you from using other video
In the main window you can click the "View Preview" button to toggle a live
video preview of the image capture. Some capture devices consume a lot of
CPU power so you can turn the preview off if your system seems to slow down.
Checking "Enable Web Server" starts serving the images. You can see the
results by using your web browser and the URL http://localhost:8080/.
If the server is not enabled, people will be unable to contact your
computer and will receive an error message in their browser. See below
for information on the "capoff.bmp" file for another, user friendly, way to
disable image capture temporarily.
The Options menu contains two options.
"Web Server...", lets you alter settings related to the
image server. The defaults are probably fine for most people. The
options dialog looks like this:
Enable Image Server: This is the same as the check box in the main window and turns the server off
Image Server Port: This is the number of the TCP port on which
the server will listen for incoming connections. If you have a firewall
you will need to allow connections on this port for your computer.
Image Type: The image can be JPEG or bitmap. JPEG has the
advantage that browsers will display the image themselves "inline".
If you use bitmaps most browsers open the image in another program.
On the other hand JPEG compression causes loss in the picture whereas
BMP sends the picture uncompressed, so JPEG images are usually much
smaller than BMP images.
Create Access Log: When enabled, WebCam2000 will log each access
to your camera in the file "access.log". The log file is stored in WebCam2000's
working directory. The access log is written in the same format as the Apache web
server log files.
Include HTTP Headers: When this is checked the image is returned with full HTTP
describing the content. This lets WebCam2000 function as a complete
standalone web server that will properly serve the captured image to any browser. If
unchecked, the image will be served "raw" with no header. This mode is
useful when you want WebCam2000 to act as the back end to a CGI-script and want
an unmodified image for further processing.
Refresh Rate: When HTTP headers are enables, WebCam2000 can
request that the client refresh the image after a certain number of
seconds. Not all clients will honor this request. If you are having
trouble with images refreshing, set this to 0 to disable this feature.
Allow client to display last received frame if server is disabled:
HTTP headers must be enabled to use this function. If this option is
enabled, WebCam2000 will allow a client web browser to display the last
image it received if the camera has been disabled.
Password: Entering text here enables HTTP Basic password
authentication. This method is not 100% secure; however, it is
sufficient to keep a basic level of control over who can access your web
cam. WebCam2000 does not require a user name: simply ask those who you
wish to view your web cam to enter the same password you enter here.
You can also change several aspects of the image using the "Image..."
Image Size- Choose "Capture Default" to use the size of the image as
given by the video capture device. Or you can select whatever size you
want by entering values in the Width and Height fields. The captured
image is stretched or compressed to fit in these dimensions. In general
these values correspond to the number of pixels you want however the following
values have special meaning:
1 = use the captured image's size divided by 2
2-5 = scale the capture image's size by this much
For example- say your capture device gives a picture that is 100x100. By
entering 1 into the Width and Height fields you would get a shrunken image
50x50. If you put 2 in the Width field and 30 in Height you'd get an
Overlay Image- check this box to overlay the file "overlay.bmp" on top
of the captured image. WebCam2000 comes with a sample "overlay.bmp" but
you can replace it with any file you want of any size. By selecting "This
color is transparent" you specify the color that will be invisible when
"overlay.bmp" is copied on top of the captured image.
IMPORTANT NOTE: You must run WebCam2000 on a computer with TrueColor video
mode to use the overlay image. Otherwise you will get garbage overlaid on
This color is transparent- The color in the overlay image to be
replaced with your webcam image.
Rotate Image- Use this to specify the number of the degrees to
rotate the webcam image. Note that the image will not appear rotated in
the preview pane.
Rotate Image Background Color- This is the color to use in the
areas of the rotated image that are not covered by the original image.
JPEG Quality- Use this to set the compression level of your image.
"Excellent" = better image quality = less compression = bigger file.
"Poor" = reduced image quality = more compression = smaller file.
Experiment with the slider to find the optimal balance for your image.
Include Captions- you can have up to 6 different text captions overlaid
onto your image. To enable a caption click its checkbox and a caption
editor dialog (see below) will appear. To edit a caption that is already
checked simply uncheck it then check it.
When you check a caption in the "Include Captions" section you get the
Horizontal Position- Choose the horizontal placement of the
caption. If you want to specify the exact pixel location, choose the last
radio button and enter the value in the text box.
Vertical Position- Same as A but for vertical placement
Text Color- choose the color of the text
Background Color- select the first radio button to specify the
background color of the text. In this case the text will have a solid
rectangular background of the chosen color. If you choose "Transparent"
then the text will appear directly on the image. Example:
Font- brings up the standard system font selector dialog to choose the
font and size for the text.
Caption- Edit the text of the caption. You can use the percent
character "%" with letters to get various timestamp formats:
%a - Abbreviated weekday name
%A - Full weekday name
%b - Abbreviated month name
%B - Full month name
%c - Date and time formatted for locale. (Example in
U.S.A: "01/01/99 12:54:25")
%d - Day of month as number (01 – 31)
%H - Hour in 24-hour format (00 – 23)
%I - Hour in 12-hour format (01 – 12)
%j - Day of year as decimal number (001 – 366)
%m - Month as decimal number (01 – 12)
%M - Minute as decimal number (00 – 59)
%p - Current locale's A.M./P.M.
indicator for 12-hour clock
%S - Second as decimal number (00 – 59)
%U - Week of year as decimal number, with Sunday as
first day of week (00 – 51)
%w - Weekday as decimal number (0 – 6; Sunday is 0)
%W - Week of year as decimal number, with Monday as
first day of week (00 – 51)
%x - Date representation for current locale
%X - Time representation for current locale
%y - Year without century, as decimal number (00 – 99)
%Y - Year with century, as decimal number
%z, %Z - Time-zone name
or abbreviation; no characters if time zone is unknown
%% - Percent sign
You can use "Save Settings" under the File menu to save all the
settings which will be restored automatically every time you start the program.
Note: The settings provided in the various capture device specific
dialogs (Source, Format and Display) are not saved.
Whether these values are saved or not appears to be device specific and not
within WebCam2000's control.
Minimize to Notification Area
Once you've set the server up and are happy with the images it is capturing
you can minimize it to get it out of the way. An icon will appear in the
System Tray that displays the status of the image server:
- a little video camera alone means the server is off so no images will be
- a video camera with a globe means your camera is on The Net and live
to the world.
Double clicking the tray icon will restore the window to its normal size;
left clicking on the icon allows you to control WebCam2000 through a popup
If no capture device is selected but the server is on, the image in the file
"capoff.bmp" will be served to people who contact your server. Note
that the server must be on in order for "capoff.bmp" to be served. You
can replace this file with any bitmap file you like of any dimension. If
WebCam2000 is configured to serve JPEG images, "capoff" will be automatically
converted to a JPEG image. This way you can take your camera offline
temporarily but keep visitors informed via a message. The included
"capoff.bmp" contains a plug for the WebCam2000.
Using Multiple Cameras
If you have multiple cameras, you must launch multiple instances of
WebCam2000 and specify which configuration to use on the command line.
You can create a new configuration, by starting WebCam2000 with the
Where configuration-name is any name you wish. Configure your
camera however you wish, and then use the File menu to save your settings.
Example: If you have three different cameras, you could make three
shortcuts to WebCam2000 with the following command-lines:
- webcam2000.exe /config camera1
- webcam2000.exe /config camera2
- webcam2000.exe /config camera3
$Id: webcamdoc.html,v 1.7 2004/02/01 05:50:15 Jeffrey Exp $