Monday, January 11, 2010

Adding your private IP cameras to Live Cams

This is a tricky topic to approach so I'll cover the basics and perhaps write some more detailed blog posts in the coming weeks. Adding your IP camera to Live Cams can be very easy and straightforward if you are using one of the more common devices, but many older models require some patience because they require special handling or setup.

Lets start with an easy one. Let's pretend you have a Canon VB-C50i camera and it's available on the internet using a static IP address at:

http://204.117.196.50:65304

Try the link above and you'll see the camera interface for the WonderWorks Pigeon Forge Web Cam - Tennessee. This camera is already included in the app database but serves as a good working example of how to add cameras.

NOTE: If your camera uses an address without the ":" after the host in a browser then it is using the default port of 80. This example assumes that your camera settings have been customized to use a different port.

To add this you would:

1. Press the 'Select" button from the main screen in Live Cams (the thumbnail view).
2. Select "My Cams" to view your private camera list, which will be empty the first time you view it.
3. Select "Manage" to enter the camera management screen.
4. Press the + button to add a new camera to the list.
5. Scroll down to the section called "IP Camera" and find Canon - Generic. This profile should work for all Canon models except the VB150 which has its own profile listed below.
6. Enter a name like "Pigeon Forge Test".
7. The host should be entered as 204.117.196.50 (don't enter any url characters like http:// or others, we just want the host name or ip address here)
8. Erase the default of 80 for the port and enter 65304 instead.
9. Leave the username and password blank and ignore the camera number field. Save the camera.



You should get an error message saying that the camera exists. If you were entering your own camera it should save successfully and then you could find it by selecting "My Cams" from the thumbnail screen. If you entered something wrong or need to change settings (or delete the camera) you would select the grey box from the thumbnail screen and then use the "gears" icon in the video screen to alter settings.

That's it. If you are using a different brand then it can be tricky to know which profile to use. I generally create a generic "catch-all" profile for each brand to be used for the majority of cameras that follow a standard. If there are some models within that brand that require special processing or protocols then I create additional profiles for them and try to give it an appropriate name.

You'll notice that some brands like DLink and Trendnet have many profiles to choose from. This is because they never standardized their interfaces and each one uses a different technique to get to the video or control PTZ functions. Your particular model might not match the name that I have assigned so it sometimes takes a few tries to enter your settings with a profile, discover that it doesn't work and then delete the camera and retry with another profile. I am working on a web page that will allow you to enter details once and then the page will test all available profiles to see which ones match your device.

It's important to note that not all cameras can provide streaming MJPEG video. Some cameras can only produce still images (JPEG) and some can't do either via a programmatic interface. Live Cams can only communicate with cameras that support external applications requesting data/video via HTTP urls. Always update your firmware to the latest and greatest before trying to use Live Cams with your device. This may save a lot of hassle due to firmware problems that the manufacturer has since resolved.

That's it for now. I'll write some more posts soon to describe how to set up and configure dynamic DNS names so that your cameras are reachable via 3G and cell networks rather than just your local Wifi network. This is not a Live Cams feature but rather a standard networking exercise. As always, I recommend trying to reach your camera via Safari before you enter details into Live Cams. If your Safari browser cannot connect to the IP and port that you use then it's not worth trying the application because it will also fail. Safari will give you much better error information to help diagnose the problems before you try adding it to Live Cams.