Installing a Web Cam

Enough people have asked me how to do this so I have decided to write out the instructions

 

Web cams are easy to setup and use, but there are some minimum requirements your PC must meet :

smchk_gr.gif (158 bytes)  Most camera's nowdays require a 166MHz processor.  Read the box that your camera came in.  A couple I have found require a 200Mhz processor.  You may not see much difference between a 400MHz and a 550MHz, but the lower speeds may cause jerky video.  

smchk_bl.gif (160 bytes)  You will also need a monitor with 16-bit color , but 24-bit is recommended.  Image and video colors are washed out with lower color depths.

smchk_cy.gif (161 bytes)  Because most Web cams use USB, you will need an available USB port and a USB friendly operating system.  That means those of you holding out with Windows 95 are going to have to get the OEM Service Release (OSR) 2.1 or 2.5.  Personally if you are going to run a Web Cam you should upgrade to Windows 98.   Don't use NT4 cause it doesn't support USB, but you can use Windows 2000.

smchk_lb.gif (160 bytes)  OK now we are talking memory.  Bottom requirements are 32MB of RAM but you all know thats totally ridiculous nowdays.  64MB RAM is the absolute bare minimum I would recommend, but 128MB is optimum.

smchk_or.gif (161 bytes)  Next is hardrive space.  Around 100 to 150MB of free space on your hardrive

smchk_pi.gif (161 bytes)  A CD-Rom drive to install your software

smchk_rd.gif (160 bytes)  Now let's talk connection.  Everyone says 28.8Kbps is minimum, but that is stupid, we are not even talking video here!.  56k modem at the very least.  But nowdays ADSL and Cable so easy to get ,  The slower the video the choppier the video.

 

OK now lets shop around for a camera.   There are dozens of companies that make Web cams of differing image quality, features and prices.  Here is the most important features you need to look for:

smchk_yl.gif (165 bytes)  Resolution:   One of the more important features is measured in pixels and denoted in width by height dimensions (320 x 240).  Pixels are tiny dots that make a grid-like pattern on your computer's screen creating an inage.

Better camera's display at 640 x 480 but let's you choose a variety of settings from 128 x 96 up to 1280 x 960.  The higher the resolution are better for capturing still images while the middle and low resolutions are better for video clips.

smchk_bl.gif (160 bytes)  Color Depth:  Look for a camera with 24-bit color depth which is capable of displaying 16 million colors.   Every digital image is encoded with the number of colors it can handle.  The more colors available to each pixel, the larger the image file size.  Images shift further from an object's true color with lower bit depth.

smchk_rd.gif (160 bytes)  Frame rate:  It takes 30fps (frames per second) to depict true-to-life motion, so the higher the frame rate, the smoother the video.  Web cams usually run from 25 to 30 fps.  Cameras with lower frame rates can be used for nice still shots, but users may become annoyed with the choppy video they produce.

smchk_cy.gif (161 bytes)   Contrast and Brightness:  Some Web cams automically adjust to low-light conditions.  If the room with your Web cam does not have a window or you'll be using it at night, you will need to adjst the image or it will be to dark to see.  The ability to adjust contrast and brightness in the software is a must have feature.

 

There are 4 cameras out there that meet my criteria:

     3Com Home Connect PC digital Camera

     Logitech Quick Cam Pro

     Kodak DV325 Digital Video Camera

     Intel PC Camera Pro Pak

 

I am going to make a big leap of faith here and assume you all know how to install your camera!  If you don't RTFM!!!

 

Once everything is installed, I suggest you start using the software to record video clips and make stills.  Take the time to adjust the focus, and adjust the contrast and brightness.  When you get the picture you want, you are ready for the next step.

The easiest and most popular method of publishing Web cam images live to the Web is through FTP (File Transfer Protocol), upload, sometimes called a client pull.   It involves using FTp to send periodic images from your camera to a Web Server.   The Web page containing the image can then be set to refresh, periodically updating itself with the new images for viewers to see.

FTP comprises a client and a server.  The client is software that resides on your computer; it retrieves and sends files.  The server is the software that resides on the server machine, such as the ones your ISP uses, where the files are stored.  Most ISP's that provide Web hosting also allow FTP connections to their machines for transferring files.

Using special software, you can specify the interval when your Web cam will take a snapshot  and then FTP the image to your Web site.  If that image is called into a web pagem it will show the latest snapshot every time it is refreshed.   Many Web cams refresh every 30 to 60 seconds.

 

To configure and use FTP, you need to know several things:

smchk_bl.gif (160 bytes)  The name of the FTP server (such as ftp.geocities.com)  or

smchk_cy.gif (161 bytes)  The IP address (such as 38.31.126.151)

smchk_lb.gif (160 bytes)  The user ID and password for the FTP server

smchk_gr.gif (158 bytes)  The directory where you want to save the files

 

Of the four camera's I suggested, two have the software that automatically updates at timed intervals that the user specifies.  Logitech's software generates a Web page and uploads image and page together.  You determine some simple settings, such as time between refreshes and the message on the Web page.  Then the software's built-in FTP uploads everything.  Viewers can reload the page by typing the number of seconds they want in the time delay ont he Web page and pressing enter.

The 3Com Home Connect camera comes with Webcam32, a shareware program you can also download at  http://www.surveyorcorp.com/webcam32.    when you download Webcam32 you have a trial period, but then register it for $25.  With Webcam32 you will need to build your own web page. Using a minimal number of grahics on the page will speed up download times.  Place the image that Webcam32 colntinually updates in your Web page.  Using the software's default file name the HTML code looks like this:

      <img src="webcam32.jpg">

To force the page to reload and show the new image, use the following code inside the <head> tags:

   <meta http=equiv="refresh" content="60">

   <meta http-equiv="pragma" content="no-cache">

 

The first line of code reloads the page every 60 seconds.  Change the number for longer or shorter times between reloads.  The second line tells the browser to load the image from the server on every reload,  not from the browser's cache, or temporary files used to speed loading times.

Another way to refresh your image is with a Java applet.  Place the applet anywhere within the page and it will refresh the image without reloading the whole page.  You can also download the JavaCam Applet from the Webcam32 site:

http://www.surveyor.com/webcam32help/java.html

Streaming Video

Streaming video, also known as server push, gives viewers a live video feed, but it also takes a lot of resources and bandwidth to make it work correctly.   Your Web cam software acts as the server allowing views to look directly at the images coming from your PC.  In the HTML code, specify your machine's IP address.   If you use a dial-in ISP, you probably get a different address assigned to your machine each time you dial in.  This makes it difficult to place code in an HTML page since the address always changes.

If you use Webcam32 with a 56kbps modem to achieve a video stream, using your IP address on Port 81 to view the video,  the HTML code looks like this:

     <img src="http://38.31.126.151:81">

You will find the full motion video, however inbetween each frame was a blink of white space, making it look choppy.  So we recommend using a higher bandwith connection such as DSL or Cable.

If you are trying to do this from a network behind a firewall, you may need to ask to have Port 81 enabled