[How-to] Use WebCamXP with Homeseer's Webserver

BraveSirRobbin

Moderator
How to Use WebCamXP with Homeseer's Webserver

by Brave Sir Robbin

If you are like most people you want to incorporate video into your Homeseer's web server.

This document will describe how to use WebCamXP with Homeseer’s web page. The end result will have a webcameras.html file associated with the Homeseer main web page. This webcameras.html will show a live video feed plus have the ability to view thumbnail images of images captured with the web camera (clicking on the thumbnail will bring up the full size image).

When this How-to is completed your webcameras.html file will give you the following example screen shots.

"Live Video Feed" with Links to Thumbnail Capture Directory and Homeseer Main Automation Page:

ScreenShot.jpg



"Thumbnail Directory Screen"

ThumbDir.jpg



"and Thumbnail Images (Clicking on Thumbnail Enables Full Size Image)"

Thumb.jpg



The trigger for the image captures is a “motion capture†that “senses†when the video image has changed. This setting is adjustable as a percent of video change that will enable a capture.

This document will assume that you have your web camera operating properly with your video capture card in your computer, you have an “always on†internet connection, you are using Homeseer, and you have a Linksys firewall between your internet connection and your computer.

Section 1. Enabling the Homeseer Web Page

Start Homeseer and go to the “Viewâ€, then “Options†Menu:

hs1.gif


Click on the "Web Server" tab:

hs2.gif


Check the “Enable Server†box and enter a “Server Port:†number. For security reasons do not enter a common HTTP port number such as 80 or 8080, for this demo we will refer to this port number as “3000â€. Also enter a Web Username and Web Password. You may want to check the “No password needed for the following subnets:†box if you are using other computers in your home to view this web page. Enter the first three internet address fields that you are using for the “LAN†side of your firewall (this will be explained later).

Close this page by clicking on OK. You may have to restart Homeseer for these changes to take effect.

Test to see if you can see your Web Server’s Home page by clicking on the blue globe icon in the top toolbar of Homeseer (or type http://localhost:3000 in Internet Explorer). Your Web Page should look similar to the one below.

HSWebPage.jpg


Section 2. Setting Up The Linksys Firewall/Router

The Linksys Firewall/Router enables the internal “LAN†side of the network to be isolated/protected from the external “WAN†side of the internet. Thus your home will only have one external IP address which is shared by all the internal computers in your home. The Linksys box should already be connected between your cable or DSL box and your computers.

You will need to setup "port forwarding" to view your web pages from an "external" internet connection. For this example you need to port forward the 3000 port request to go to the computer in your "LAN" that Homeseer and WebCameraXP are running on.

Please see the "How-to" document on "Setting Up Port Forwarding For Your Linksys Router" for details on how to do this.

Section 3. Setting Up No-IP.com for Dynamic Web Presence

You probably have your internet IP automatically assigned to you using DHCP by your internet provider. The problem is that this can change (i.e. it is not static). Using a utility called No-IP will let you keep a static presence on the web.

You should set up No-IP for your Homeseer web server if you plan on viewing your webserver outside your home. Please refer to this "How-to" in the How-to's section.


Section 4. Setting Up WebCamXP Software

Now it is time to download and setup your WebCamXP software. Download the WebCamXP software from http://webcamxp.com/download.html (select the “Pro†version 21 day free trial). This way you will not have to purchase the software if you decide not to use it (price is around $35). Choose the default directory to install it to.

Start the WebCamXP software. Select “source1â€, “directx video sourcesâ€, and then select your camera video card (in this case it is the “ati tv wonder conexant capture†card). You should see the following menus below when this is completed:

wxp8.gif


For the ATI TV Wonder capture card select the "composite" video input as shown below:

wxp9.gif


Go to the "web server" selection from the top menu as shown below:

wxp10.gif


For this example select the HTTP client type as java client and enable the HTTP server.

Go to the "options" selection from the top menu as shown below:

wxp13.gif


Select the following options: start on windows startup, start http server on startup, minimize on startup, detect WAN ip on startup, show notifications in trayicon, play sound on new visitor, and play sound on chat message.

Select the "site/gallery" tab as shown below:

wxp2.gif


Select a site title (in this example "Front Door Camera"). Select (check) the following options: show nav. links, show chatbox, show online gallery.

In the text box under the "enable file sharing" option enter "C:\Program Files\Homeseer\html\gallery. This is where the image capture files will be kept. (Note: Create the directory if needed).

Click on the "gallery options" button as shown below:

wxp3.gif


You can elect to have a picture automatically grabbed for a specific time interval if you would like (in this example we will grab an image for each motion detected). Enter how many pictures you would like displayed in the "captured images" directory screen (in this example its 500 pics).

Click on the "back to design" button, then click on the "generate HTML" button.

Click on the "overlay/fx" tab as shown below:

wxp4.gif


If you purchase the pro version you can elect not to display the webcamxp logo. Click on the "overlay editor" button as shown below:

wxp5.gif


Here is where you can add text overlays to your camera image. In this example the caption "Front Door" and the date and time were added.

Click on the "ok" button when you are finished with the overlay editor.

Now we will set up the motion detector settings.

Click on the "motion detector" tab as shown below:

wxp6.gif


The "interval[ms]" is the amount of time needed between storing image captures to the picture gallery. In this example 2000 milliseconds (2 seconds) is needed after the first capture, before another capture is recorded. The "detect on:" selection will let you select the type of video change needed before a capture is recorded. This example will use both (optimal setting for day and night). The "tolerance" setting is the percent of change that has to occur in the video before an image is recorded. In this example 15% video change is needed. You can see the real time video change in the "motion:" display on the right.

Select the "start detector" button to start the image motion detection.

If your tolerance number is close to the motion number only a small change in the video will enable an image capture. Be careful with this setting. To small a number will have you capturing images when a bird flys into a picture, to large will not capture when a person enters the video image. Experiment as needed (in day and night times) for optimal settings.

Click on the "alert manager" button as shown below:

wxp7.gif


Select the "add to gallery" and "save to web[jpeg]" options. Close this window (x in the upper right).

Go to the "web server" options in the top menu and select "HTTP settings...". You should see the screen below:

HTTPSettings.jpg


Select a port for your WebCamXP server to run on, in this case port 4000 was selected. Note that this can not be the same port number as your Homeseer software and this port must also be "port forwarded" in your firewall/router also.

Select the root directory of "C:\Program Files\HomeSeer\html as shown. Click on the "start server" button then click on the "search WAN ip" button. Also select the "verify WAN ip each" box and enter 30 minutes for this interval as shown.

This is one of WebCamXP's strengths in the fact that it will automatically search for your WAN IP (in this case every 30 minutes).

Go to the "options" selction in the top menu. You should see the screen below:

wxp12.gif


This will determine the streming options for your video. This example uses around 4 frames per second with a 100 percent (uncompressed) quality.

Enter the following under the "archives directory" text box: "C:\Program Files\HomeSeer\html\gallery\archives"

Click on the "file" selection on the top menu and save your settings.

That is all of the settings needed for WebCamXP. Closing this screen (x on the top right) should minimize the program in the system tray.


Section 5. Setting Up the webcameras.html file and links to the Homeseer Main Web Page

Remember in the No-IP How-to where we used a dynamic host name for the Homeseer web server? Well, we need to use that name in the webcameras.html file. Also, remeber to set up your local "Hosts" files on each computer in your home so you can view this webcameras.html file on computers on the LAN side of your firewall (Refer to How-to on Setting Up Your Computer With No-IP)

Open "Notepad" on your PC and copy and paste the following:

---------------------start of copy----------------------
Code:
<html>
<head>
<title>
My Web Camera's Running WebCamXP
</title>

</head><body bgcolor="#0080C0" topmargin="0" leftmargin="0" 

marginwidth="0" marginheight="0"><center><font face="verdana" 

size="5" color="#F3F3F3"><b>My Web Camera</b><br><br>

<table align="center"><tr><td>
<td><a href='/Gallery/index.html'>_CAPTURED IMAGES_</td>
<td><a href='stat'>_AUTOMATION MAIN_</td>
</tr></table>

<table align="center"><tr><td>
<OBJECT 

classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash

/swflash.cab#version=6,0,0,0" WIDTH="320" HEIGHT="240" 

id="webcamXP" ALIGN="">
<PARAM NAME=movie 

VALUE="http://myautomation.zapto.org:4000/webcamXP.swf?webcam=

[URL=http://myautomation.zapto.org:4000/cam_1.jpg&refresh=245"><PARAM]http://myautomation.zapto.org:4000/cam_1.j...t;><PARAM[/URL] 

NAME=loop VALUE=false> <PARAM NAME=menu VALUE=false> 

<PARAM NAME=quality VALUE=high> <PARAM NAME=scale 

VALUE=noscale> <PARAM NAME=salign VALUE=LT> <PARAM 

NAME=wmode VALUE=opaque>
<EMBED 

src="webcamXP.swf?webcam=http://myautomation.zapto.org:4000/cam

_1.jpg&refresh=245" quality=high WIDTH="320" HEIGHT="240" 

NAME="webcamXP" ALIGN="" TYPE="application/x-shockwave-flash" 

PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EM

BED></OBJECT>
</form></font></td></tr></table>
</div>	
</body>
</html>
---------------------end of copy----------------------

Notice where we had to use the dynamic host name "http://myautomation.zapto.org" that was created using the No-IP example. Port 3000 was used for the Homeseer Web Page and Port 4000 was used for the WebCamXP Page. For this webcameras.html file we need to use the "http://myautomation.zapto.org:4000" to refer to the WebCamXP webserver.

Save this page as "webcameras.html" in the "C:\Program Files\homeseer\html" directory.

You should now be able to open this file under your Homeseer Web Server and see the web camera image and links to the image captures page and the main homeseer web server page.

If you were following the examples in the three "how-to" series open the following in your internet explorer:

"http://myautomation.zapto.org:3000/webcameras.html"

You can also create a link to this file in your main Homeseer web page by editing the "links.htm" file (in C:\Program Files\homeseer\html directory).

Open this file using Notepad and add the following to the current links:

Code:
 | <a href="webcameras.html">My Web Camera</a>
 | <a href="gallery/index.html">Camera Motion Captures</a>

This will create links to the live image stream and the thumbnail image directory.


Well thats it. You should now be set. If you have any problems (there were a lot of settings to get right between this post and the other two "How-to" posts) let us know. :unsure:

BSR
 
BSR, this is an awesome post, you should post a link to it in the HomeSeer forum. This webcam software is great, and I think I may have to buy it!

I've played with the HS Webcam plugin, and boy it was a procesor hog! Now Ive got streaming video at about 1/2 the procesor usage (I'm at 10-15% vs 30+% with the HS plugin).

This "How to" was a really great starting point, and easy to customize to meet my needs!

Thanks!

John | My HomeSeer | HomeSeer Webring |
 
jrfuda:

Thanks for the kind words! Glad someone will use this, as it took a lot of time to put together!

I have been using WebCamXP for over a year (on my Homeseer machine) and it has never locked up. I recently had six people viewing my camera (last week during our Friday night HS chat) and had no lockups and everyone was able to see streaming video.

I'll make you a deal though. I'll help you out on your camera and you help me out when I get my SECU16I in (integrate variables with Homeseer). HEHE just kidding, we will all help you out with whatever you need. ;)

I also know that Electron has played with Vision GS webcamera software and is happy with it.

I just wanted to get something like this together so a member can "see the entire picture" of what it takes to get this integrated with their systems.

Thanks again!

BSR
 
BSR, I'll be glad to help you with the SECU, ;)

The only downside I've seen so far with the WebCamXP software is the $99 price of the pro-version... It looks like the pro version is the only one that does all the trick's I need.

On another note: I wonter if I could use email triggers to have WebCamXP comunicate with HomeSeer. The response would be slow, but it should work.
 
I have sent an Email to the author of WebcamXP to see if he could possibly give Homeseer users a discount (also sent link to this thread as well).

Will keep you posted!
 
Thanks, it would be great if we could get a discount!

I'm really interested in the Pro version features because of the password protection AND motion detection.

It stinks that the Private version has password but no motion detection and the Security version has motion detection but no password!

Wasn't someone over in HomeSeer land assembling a comparison chart of all the WebCam software packages? Maybe I should go see how they're doing.

Right now I can't imagine any other package being as complete as WebCamXP, but the price is a real discourager. I may have to shop around.

BSR, if I find something else, I may have to get your help setting up the streaming video on a website part (maybe another tut?)
 
yeah I am the one writing this webcam matrix, there is a lot of info in it, just need a few more entries, you would be surprised how many vendors do not list all the features. It should be online soon
 
I'm looking forward to the release of your webcam matrix.

In the little bit of research I've done, it looks like webcam32 is the next best (or best) thing, but I'm confused about their licensing.

Does their regular software (webcam32 6.0) support more than one source at a time? Or do you have to get WebCam Stat whose cost is based on the number of licenses you get:
1 camera / 20 user accounts - $99
2 cameras / 35 user accounts - $159
10 cameras / 50 user accounts - $395
25 cameras / 100 user accounts - $695
100 cameras / 250 user accounts - $1495

So for 5 cameras, I guess I'd need the 10 camera license and that's $395! Blessed Bovine Batman!

I'm leaning toward delaying my purchase of webcam software until the summer.. I'm going to be away from home from late Feb to Early April for a school, then in Mid-April, the movers come and I probably won't be up and running again until July... So I should have lots of time to makeup my mind.
 
jrfuda said:
On another note: I wonder if I could use email triggers to have WebCamXP communicate with HomeSeer. The response would be slow, but it should work.
Is quoting yourself taboo?

Anyway, A better way to have WebCamXP talk to HomeSeer occurred to me this morning as I was leaving the house, so I haven't been able to try it yet.

You can set WebCam XP to run an executable in response to motion, so you could use the HomeSeer Command line application: ftp://homeseer.com/pub/hsc.zip or maybe the HS Commander plugin or girder(to do it from WebCamXP running on a remote PC).

Then using DooMotion or some scripting in conjunction with an event, you could have WebCamXP run HS Command Line app to trigger an event to turn a virtual device on. You could, using DooMotion, give it a 1 minute failsafe, so it will go back to "no motion" after a minute of no motion.

BSR, do you know if you can specify a unique alert for each source? I currently only have 1 source so I can't try it.

If you can, you could have a unique webcam motion sensor virtual device for each webcam monitored by WebCamXP.

It's only a "one trick pony" solution (or maybe one trick per source) but it's better than nothing and should be much faster than my original email triggers idea.
 
I swung by the PX at lunch and found a cheapo webcam that was a customer return marked-down to $20 so I picked-it-up.

I'll give it a try as source#2 tonight and see what happens.

I'll give Vision GS a try too... Did I read something wrong at their sight or is it really free? It looks rather promising, if its anywhere near as stable as WebCamXp I may definitely switchover. It looks rather feature rich!

[EDIT] OK, I see the Business edition, for $24.95 is a bit more feature laden than the personal edition. But hey, It's only $24.95!
 
First off, running two USB WebCams on a single USB 1.1 controller (even though it has 4 ports) limits your resolution to 360x120, anything higher thanthat and I'd run out of USB bandwidth and could only get 1 cam to run at a time.

Second, WebCamXP does have independant triggers for each of it's fice sources, so you could, using the technique I posted above, have eachone trigger a different HS event.

Third, I'm only able to get streaming to work with WebCamXP using the Flash-based feed that BSR had in his tutorial. I can't get java applet-based streaming to work in either WebCamXP or VisionGS. Anyone know why?

Fourth, A $20 WebCam is not a very good WebCam!
 
OK,
I got two cams working with WebCamXP, but only at 120x160, and can only stream it using the Flash method that BSR posted. Here's a screenshot:
WebCamPageSample.jpg

It was actually easier than I thought. You just set up each additional cam like the first one (up to 5 total). then add an extra row (or two if you want a title row) to the table from the code in BSR's post, paste all the stuff from <OBJECT...> to </OBJECT> in the added row for each additional cam, and then change the cam_1.jpg entries to cam_#.jpg where # is the number of the camera.

I just wish I could figure out hoe to get the java client to work so I could give VisionGS a proper try.

Oh, and pic above is actual size, that's how small I had to make the feed from each camera to not run out of USB Bandwidth. Geuss I need some USB 2.0 stuff!
 
Back
Top