Home

How To Set-up A Webcam

First posted Feb 2, 2004
Last update Apr 17, 2008
Camera Index |  Camera Reviews |  Lighting Comparisons |  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.

Once you have your camera, install the software that comes with it and you should be ready to go to the next step in this tutorial. Make sure you READ the instructions before plugging in the camera. Some require that you install the drivers 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. 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.
  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. I now use TinCam which costs $19.00 US. I have used both ConquerCam which costs $15, and booru WebCam which is free, but I can no longer recommend those programs. There are some bugs in both and they apparently aren't being updated or fixed. (It has been 4 years since ConquerCam was updated, and the author of booru WebCam doesn't respond to my queries on bug fixes.) There are many other webcam programs available. Check my webcam software page for a few, 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.

Many webcam programs, including TinCam, come with a built-in web server. (booru WebCam does not) 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 (38.103.63.16). 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.

This is your current "external" IP address   38.103.63.16

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. 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. 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. That's the way I got started back in 1997, before we had Yahoo or AOL webcam software options. Since then I have constantly strived 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. The streaming camera now uses Windows Media Encoder software.

    The still frame cameras use to use ConquerCam, however that program has had no updates in over 4 years and it has a number of problems. I used booru WebCam for about a year but a bug has developed in that software and I have been unable to get any responce to my quiries to the author so I can no longer recomend booru WebCam.

  • 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.
  • I have Cox Cable Internet which goes through a router. I have several ports on the router mapped through to my "Media" computer.
  • 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" runs Windows 2003 Server Standard edition, which serves the audio from my cowboy music page. 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 in the frame by using 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.


Camera Index |  Camera Reviews |  Lighting Comparisons |  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
Home Last update
Apr 17, 2008