Setting up a Live WebCam

April 14, 2007

So we’re going away for a couple weeks (going to the AIIM conference in Boston, and then visiting family), and the wife was worried about the cats. We’ve been talking, amusingly, about setting up a streaming web cam to watch the little buggers – and I thought it might be a fun challenge to actually get one set up.

So, thus began the adventure. So how does one start these things? Same way you start everything – hit the search engine and see what comes back, further qualifying keywords until you actually get something useful. I eventually came across a few different FAQs and some ‘this is how I did it’ – but many of them are a few years old – and thought I would contribute another ‘this is how I did it’ page into the multiverse that is the web.

Web Camera
When we upgraded to Vista, we tried installing our web cameras from the 1998-2000. The only issue is companies like Logitech want you to upgrade to the latest and greatest hardware – so they don’t upkeep the drivers and thus one is left with a hunk of plastic that only works on 5 year old operating systems. Looking through the forum, it was evident that I wasn’t alone, but no new release seemed imminent…and no one seemed to feel enterprising enough to write their own driver. Since I am definitely not so inclined to write one myself and not stupid enough to hold my breath waiting – we bought a new one.

After looking at a few different models, we decided on a Microsoft LifeCam VX-6000. Once we installed it, I was happy we did – it’s amazing how far these small little cameras have come over the past 7 years! The lighting still has a lot of issues when taking a shot from the computer screen, but that’s more our issue than the camera…we didn’t design the desk area with a web camera in mind.

Encoding Software
I had initially tried Windows Media Encoder. But because I’m running Vista at home, I needed to also install a hot fix (per KB 929182). But when we tried it out, it chewed up huge amounts of the CPU – it pegged it at around 100% the entire time it was running.

So we went back to the drawing board and looked at a couple other options. From the results that I found on various how-to sites, there were a couple references to VisionGS. I installed VisionGS PE (Personal Edition) and the thing worked like a champ – CPU ran at about 10% load from the software, worked perfectly with the web cam, and even provided the HTML to insert into the server.

The code that you have to add to the server is as follows (replace 127.0.0.1:8000 with your IP address and port number):

<!– VisionGS Stream Code Begin –>
<object id=”MediaPlayer1″
width=320
height=265
classid=”CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95″
codebase=”http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701″
standby=”Connecting..”
type=”application/x-oleobject” align=”middle”>
<param name=”FileName” value=”mms://127.0.0.1:8000/”>
<param name=”ShowStatusBar” value=”true”>
<param name=”DefaultFrame” value=”mainFrame”>
<param name=”ShowControls” value=”false”>
<param name=”ShowDisplay” value=”false”>
<param name=”enableContextMenu” value=”false”>
<embed type=”application/x-mplayer2″
pluginspage = “http://www.microsoft.com/Windows/MediaPlayer/”
src=”mms://127.0.0.1:8000/”
width=320
height=265
showcontrols=0
showstatusbar=1>
</embed>
</object>
<!– VisionGS Stream Code End –>

The only downside to the software is that the PE version is limited to 5 minutes of streaming, so I am now in the process of upgrading to the BE (Business Edition?) so that I can keep the thing on while we’re away. The for-pay version isn’t pricey – it’s only about $30 – but they do the order processing manually. When I placed the order, I got an e-mail saying that they would process it within a day (and typically within 12 hours). Since their website says they are in Germany, and I’m in the Pacific Northwest, this means they are 9 hours ahead of me and thus tucked into bed and sleeping on their Star Wars velveted pillow. As such, I’ll have to post back up how the paid version works out.

Setting Up Everything the Web Cam
Now that we have all the ingredients for a live web cam – what did we actually do? Here’s the breakdown:

  1. Install the VisionGS software
    1. Download VisionGS software
    2. Install the bits using the installation wizard
  2. Configure the VisionGS software
    1. Add the web cam device
    2. Configure the device to use a port other than 8000
  3. Configure the personal firewall on Windows Vista
    1. I use OneCare, so I opened up OneCare and then selected to the option on the left of the window to edit the settings
    2. Select the firewall tab and then pick advanced firewall settings
    3. Add the port for the streaming server you want to use (if you didn’t change it in 2.b., then this would be port 8000)
    4. Apply/save the settings
  4. Configure the firewall port settings on the router
    1. Log into your router
    2. While you’re in your router, note what your external IP address is
    3. Go to Port Forwarding option
    4. Add in your port (again, this is based on what you set in 2.b.) to port forwarding and direct it to your machine’s internal IP address
  5. Set up the webpage on our DotNetNuke v4 website
    1. Create a new page for the web cam pictures
    2. Add an ‘HTML’ frame
    3. Add the HTML code to stream the camera feed
    4. Remember to modify the two 127.0.0.1:8000 strings with your IP address and port number.

A screen shot of the end result:

After that, we had a streaming video up to our website. We then locked the page down that had the streaming video and everything was good. Of course, it times out after 5 minutes, but we’ll get that fixed once we get the download for the BE version. I’ll post again and let everyone know how that goes.

Cliff Simpkins

Posts