Home

How To Set-up A Webcam

First posted Feb 2, 2004
Last update Aug 14, 2012
Camera Index |  Current Cameras |  Older Cameras |  How To Set Up |  Live Images |  FAQ
All content, except as otherwise noted, is © Frank Harrell. Text may be reposted only if credit is given and a link is provided to CowboyFrank.net
This is a simple page intended to give you an idea of what is involved in setting up a webcam. It is not a comprehensive instructional manual covering exact procedures, cameras, or software programs. You will have to do some research on your own, and when you select your equipment and software, you need to become familiar with them.


Step 1     Get a web camera.

Just about any kind will do. There are many cameras for sale under $50 which are perfectly acceptable for most people. However, usually, you can get a better quality image from the cameras costing more than $75. See my WebCam Review page for a few examples.

A video camera can be used, but the process is more complicated. If you don't already have experience with capturing sequences from your video camera, you should consider purchasing a standard computer webcam to begin with.

Software and Drivers
Once you have your camera, you then have a choice to make; whether to install the software and drivers that come with the camera or not. A driver is a special piece of software that allows your computer to communicate with the camera. Many of the newer cameras are UVC, (Universal Video Class) compatible. This means the camera can use standard drivers which are built-in to your operating system (Windows, Mac OS, Linix) and you don't have to install the drivers that come with the camera. However, some features of the camera may not work without the drivers that come with it. Which features work, depends on the camera. For example, some of my auto focus cameras won't auto focus using the UVC driver, others will. Some cameras have various resolutions that arn't available without installing the drivers that come with it.

The reason I bring this up is because much of the software that comes with some cameras will use a great deal of your computer's processing power. If your computer is already slow, this can make your poor machine even slower. Much of the software included with most cameras contain things that many people never use, such as turning your face into a talking flower or animal, or special services unique to that camera or manufacturer. Having the camera put a gas mask over my face may be fun for some, but will you actually use it? If you are going to use a service (discussed further down the page) and the camera is UVC, then you have the option of not installing the extra software. Check the box or my review pages to see if your camera is UVC. If it is, then try the camera without the software first. If you decide you want the extra features later, you can install the software then. I genneraly recommend that you don't install any software that you arn't going to use. Every time you install software, your computer is altered by the installation process and removing the software doesn't always set your system back the way it was.

If you decide to install the camera software, or are required to because the camera is not UVC, then make sure you READ the instructions first. Some require that you install the software first, others require the camera to be plugged in first. If you do it in the wrong order, you may not be able to get the camera working at all.


Step 2     Choose a delivery system
How are your images going to get to your viewers? There are basically 3 choices. Scroll further down the page to see the details on each of the following options.
  1. Use a webcam service such as Yahoo, AOL or SKYPE or Google Video Chat. This is the simplest system for the beginner. However, this method requires the other person to install the same service in order to see your camera and usually gives the poorest image quality. There are also a number of pay webcam services, but I don't have any experience with them so they won't be covered here.
  2. FTP to your website. Use webcam software that uploads pictures to a website via FTP (File Transfer Protocol). This method is more complicated than #1 and you must have your own website which is FTP accessible. This may be the best method if you have a dial up connection, and expect to have more than one person watching at the same time, or your camera will be pointed out a window or at a scene that doesn't change much.
  3. In house server. Use webcam software that uses your computer as a web or streaming media server. This is not recommended for the beginner because of security issues and complexity of setup. However, this method can usually deliver the best quality images and can offer a much faster image refresh rate than the FTP method, providing you have a high speed Internet connection.

Step 2 Option 1

Use a service
This is by far the simplist system for the beginner. If you already have an Instant Messenger program such as Yahoo, MSN or AOL, then all you need to do is setup your webcam and activate it inside your Messenger. Check either your Messenger program's help menu or their web site for detailed instructions.

This option works well, but usually gives the poorest picture quality and is reliant on your Messenger host keeping the service available and running smoothly. It also requires anyone who wants to see your camera to have the same service. If you don't have a chat (or IM 'Instant Messenger') program, download one and install it from your favorite service.

Step 2 Option 2

FTP
If you don't already have a web page, or don't know what FTP is about, this is not the best choice for you to start out with. It can get quite complicated initially. Once set up and running, this method works quite well and is easy to operate. However, this is the system that tends to give people the most trouble getting started, especially if you don't have any experience troubleshooting FTP problems. Check my FTP page for more on File Transfer Protocol.

For this option, you will need to obtain a webcam software program. A few webcams come with free webcam software. My cameras now use TinCam which costs $19.00 US. Check my webcam software page for a few options, or search the web for Webcam Software. Prices can run from free or just a few dollars to very expensive, depending on brand, version and how you plan to use the software.

Once installed and connected to your webcam, you need to setup the FTP system within the program. Depending on the software, you may need to build and put in place a web page "wrapper" to show your webcam image. I'm not going to get into web page construction here because this can become complex and is beyond the scope of this article. Some webcam programs come with built-in web page builders, others don't; it depends on the program. The JavaScript I use for my wrapper page can be found on my JavaScript page. If you want to see how my webcam pages work, open one of my popup window webcam pages, right click on a blank area, and chose View Source. You will need to have a basic knowledge of html to understand what you are looking at.

Step 2 Option 3

In house server
This is the option I use, and I will describe my system further down the page. This method can range from quite simple to extremely complicated depending on numerous factors. I can't give you specific set-up instructions because every installation is different and there are too many variables to cover without writing an entire book on the subject.

Some webcam programs, including TinCam, come with a built-in web server. Once the camera and web server software are activated and configured, all a visitor needs to do is enter your current IP address in their web browser. As long as your computer is connected to the Internet, your camera should now work, unless your Internet provider is blocking the default port.

Huh? What? IP address? Port blocking? What in the #%& are you talking about?

I said this could get complicated.

When you point your web browser to a web site, such as CowboyFrank.net, you are actually connecting to a specific computer somewhere that has a unique IP (Internet Protocol) address. IP addresses are a series of numbers with dots between them like this (50.19.33.5). The Internet doesn't understand what you mean when you ask for "CowboyFrank.net", it only understands IP addresses. Being able to use a name like CowboyFrank.net, rather than having to remember the number, is a convenience developed to help us humans remember computer addresses easier. This process makes use of a system called DNS (Domain Name Service) which translates the requested name into the proper IP address for you, then your computer can find the website you are asking for. Check my DNS page for further explanations covering DNS and IP addresses.

Every computer connected to the Internet has a unique IP address assigned to it. No two computers connected to the Internet at the same time can have the same IP address. Usually you will get a different IP address each time you connect to the Internet, or, if you have high speed Internet, your IP address may change every few days. This is called Dynamic IP Addressing. Your IP address is a little like your phone number except it can change every day or two. Imagine what the phone system would be like if everybody's phone number was different each time you tried to call someone. Check my Dynamic DNS service page for information on how to get around this changing IP address problem.

I don't want to confuse the issue here, but it is important to know that there are "external" and "internal" IP addresses. If your computer is connected through a router, you will most likely have an "internal" IP address. Most "internal" IP addresses are in the range of 192.168.*.* where the * could be anything from 0 through 255. If you are connected directly to the internet, you will be using an "external" IP address. Your "external" IP address is how the world finds you. Your router sees your "external" IP address, assigns an "internal" IP address to your computer, and forwards everything from and to the Internet through its routing software.

You can not choose your external IP address; it is assigned to you by your Internet provider.

If you have a router, your individual computers' internal IP address are usually assigned by the router. It is possible to override the router and assign a specific internal IP address to a specific computer so it doesn't change. That is done from the network card settings in your computer. If you want to serve your webcam images from inside your home or business you should assign a fixed IP address to that computer. Then you will have to set you router to forward the desired port to your chosen IP address. (See below about ports.) Each router has its own configuration screens so you need to check your router's manual to determine how. You can't just assign any IP address, you have to use an address within the block your router is using to assign local addresses. This is frequently in a range of (192.168.0.*) but there are a couple of other blocks it might be using. Once you get into the router's configuration area, there is usually some help available on what IP address block is being used. What ever block of internal IP addresses your router is using, your chosen address must conform to the same group (the first 3 sections of the number) as the other computers on your network might be using. Forwarding won't work if you don't use the right IP address block. In your computer IP settings, you will also have to assign a DNS server address. You will see that on the same screen as the IP address settings. Normally you can use the base IP address of your router for this. On my system that is (192.168.0.1), but yours may vary.

This is your current "external" IP address   50.19.33.5

How do I know what your IP address is? When you retrieved this web page from my site, your computer supplied its IP address to my website so my server would know who to send the page back to. If you sent in one of those little "subscribe to us" notes that fall out of magazines, and failed to include your address, you would never get the subscription.

Ports are another thing. A port is a little like a CB radio channel. Software programs that are designed to connect to other software programs, listen for connection requests on a specific port. Like when your web browser connects to a website. When another program calls on the correct port, the program answers and the two programs can then talk to each other. (Who remembers "breaker-breaker one nine, I got a smokey on my tail"...?) When you open a web page, your web browser is calling up the website using the default port 80. Another common port used by some webcam programs is port 8080. There are some 64,000 software ports available on your computer.

Just about any port can be used, providing another program on your computer isn't already using the same port. However, if you use any port other than the default one, both the webcam program and the visitor's browser must know which port you have chosen. The catch with web servers is that some Internet providers block incoming port 80, so you must use a different port if this is your case. If you can see your camera from another computer inside your house, but someone on the outside of your home can't connect to your camera, then port 80 is probably being blocked, assuming everything else is setup correctly. The method for configuring a different port is dependant on your software, so you have to check the instructions.

For a visitor to pull up your webcam, they must first know your external IP address and the port number you are using. For example, lets say my current IP address is 68.100.43.74, and I am using port 8080, the visitor will have to type into the browser address bar, http://68.100.43.74:8080 and press "go" or "enter". Notice the http:// at the beginning and the colon : separating the IP address and the port number, both are required. (Don't' bother trying that specific number, you wont get anything). If you are using the default port 80, then the visitor dosen't have to enter the last colon or specify the port when they type in your IP address.

If you are using a router, you will have to set a fixed IP address on your computer and map the port you want to use through the router to your computer. If you don't know what a router is then you probably don't have one. If you do have a router, check the instructions for Port Mapping, Port Forwarding, Firewall settings, NAT [Network Address Translation], or NAPT [Network Address and Port Translation] (some of the technical terms for this).

About MSN and routers

A little research on Microsoft's website turned up the following point. MSN messenger (Version 7 and up) uses UPnP (Universal Plug n' Play) to communicate with and automatically configure your router to forward the right port to your computer. If your router was purchased before the beginning of 2006, it probably is not UPnP capable. If so, you will need to purchase a new router that is UPnP enabled. You may also have to turn on UPnP in your router.

If you install SKYPE, it selects a random port on its own. I am told you can find the selected port in the Skype Options menu.


Conclusion
Those are the basics for setting up a webcam. If you are just beginning with web cameras, I suggest you start with the first option of using a service, but don't stop there. Spend some time researching what you have learned here. Look through the help areas of your webcam software. Then experiment with your camera and try several web cam software programs. Many are share-ware, meaning you can try them out first before you have to buy them. That's the way I got started back in 1997, before we had Yahoo or AOL webcam options. Since then I constantly strive to advance and improve my system.


My system
  • Some of my webcams operate off of their own computer. Some are using a common computer but this can create some stability issues which require occasional resetting of the computer or USB hubs routing the cameras to the computer.
  • My still cameras are now using TinCam which costs $19.00 US. When available, my streaming camera uses Windows Media Encoder software.
  • Pictures are saved to my in-house server (a computer in my basement) over my network via local FTP.
  • I have a computer in my basement that I call "Media". This machine is the one that serves all my webcam images to the Internet. It also serves as my router running Windows Server 2003 standard edition.
  • I have Cox Cable Internet which gives me between 25 to 30 megs download and 3.5 megs upload speed.
  • The "Media" computer has Apache web server running on port 443. This is the server that you are connecting to when you view my cameras. Another web server which is very good but is much simpler to set up than Apache is Xitami. Both are free.
  • "Media" also serves the audio from my cowboy music page as wall as my streaming camera when on. There are also a few special items hosted on the same computer just for my friends.
  • Due to the fact that most Internet Providers, such as Cable and dialup services, give you a dynamic IP address (it changes from time to time), it can useful to obtain a dynamic IP DNS service. This allows you to have a fixed name associated with your computer. My webcam domain name is CliftonCreek.net. I use the dns2go.com dynamic DNS service, but there are a number of free services available. Search the Internet for dynamic DNS services.
  • I use a JavaScript to refresh the picture on my pop-up window pages which reloads the image without having to reload the entire page. This makes the image refresh quicker, and avoids a flicker which is common on webcam pages that refresh the entire page. This script is available on my JavaScript page. Some people use Java Applets to refresh the image, but the visitor has to have a Java enabled browser. Windows XP and Vista do not ship with Java. Java and JavaScript are not the same thing.
  • The dates and some of the text in my webcam windows are inserted using inline frames and Server Side Includes (SSI) from the Apache server. SSI is another story all together but you can find some help on them on the Apache website SSI tutorial.
Home Camera Index |  Current Cameras |  Older Cameras |  How To Set Up |  Live Images |  FAQLast update Aug 14, 2012