This post is about two things: “Universal Video Class” (UVC) USB Webcams, and my specific experiences with the “Creative Live! Cam Socialize HD” – a great camera with a completely unwieldy name.
Webcams and drivers: what horrible experiences most of us remember. And if you’re running camera software on Linux the driver problems are only magnified.
UVC (“Universal Video Class” or “USB Video Class”) is a standard that describes capabilities of generic video devices like webcams. UVC drivers are now built into Linux (Linux 2.6.26 on), Mac and Windows. UVC webcams can be used directly with Linux and get mounted as /dev/video0 automatically. No drivers to install!
UVC cameras have been around for quite a while. (I have an old Aiptek pocket video recorder that can be used as a UVC webcam.) It seems that more UVC cameras are showing up on the market, but they aren’t always clearly marked. If the box says support for “Linux Kernel 2.6” then it’s UVC.
I found an off-brand UVC webcam at OfficeMax for $20 and brought it to the lab to test with our embedded Linux video server. Yuck. The picture jittered occasionally as if there was a horizontal-sync problem. You get what you pay for!
There is a site dedicated to UVC webcams. It has not been a great resource for me, but it’s something.
Thus, it was with great pleasure I found a brand-name UVC webcam for a reasonable price. I found the “Creative Live! Cam Socialize” at Fry’s for $69. It’s HD with a 720p sensor. It works great with Linux. It has a rock steady picture, and automatically adjusts color and lightlevel. I have been loving this little camera and use it as a stationary surveillance device: I don’t use it to chat.
This week that I found out that Creative had expanded the line and reduced the prices. The names of the products have only gotten worse though. Here they are.
Creative Live! Cam Socialize HD 1080
Creative Live! Cam Socialize AF
Creative Live! Cam Socialize Chat
The “HD 1080” is a true 1080p sensor, has stereo microphones and lists for $89. The “AF” model has a 720p sensor. The “AF” stands for “autofocus.” It lists for $69. The “Chat” model also has a 720p sensor and it lists for $39. I’ll probably be using a lot of the “Chat” models.
This announcement seems to have driven a price-drop on the current model at Amazon. The old Socialize HD model is available for $37 today.
In previous posts, I’ve described how to set up a DCS-920 IP-Camera and an iPhone to upload images to Sensr.net using FTP. These articles have been helpful and fun for a number of people. In this post I’m going to show how to use a Mac, an external USB Camera and a program called EvoCam to upload image streams to Sensr.net.
This article is divided into the following three large sections:
Install and configure EvoCam to upload image streams.
Macam: USB webcam support for Mac OSX
The Mac works well with built-in iSight cameras but doesn’t easily handle external USB cameras, which are cheap and widely available. I find an external camera useful because I can point it at something I want to record and still use the built-in iSight for video chats. Having an external camera with a long cord and a tripod allows me to record all sorts of things.
Macs don’t recognize external USB cameras, however. This is where a little piece of software called “Macam” comes in:
This great piece of free software adds USB camera support to Mac OSX. Download it and install it as directed. It consists of two parts: a driver and an application. Make sure you install both.
Now, plug in your external USB camera and start up the Macam application. If your installation is successful, you will see a screen like the following.
Press the “PLAY” button (“>”) to see if your camera is working. You should see a large preview image from your camera. If you are not happy with the image quality, open up the settings drawer and fiddle with the settings. I have found the settings sliders to be somewhat unpredictable and overly responsive, but they do work. If you have more than one external USB camera (which could be cool!), Macam has a “Next Camera” button you can use to find the camera you want.
We are now done with the Macam application. Please make sure you QUIT Macam so that it releases the camera for other software to use. Later steps in this article require that the Macam is shut-down.
At this point you have successfully installed Macam and confirmed that it works with your camera. You now know that you can get video out of your USB camera and into your Mac. Now we’re going to work on getting the video out of your Mac on onto the internet at Sensr.net.
EvoCam has a 15-day evaluation period, so you can try all of this out without paying anything. It’s a nice piece of software and I think it is reasonably priced.
Now, start up EvoCam. It will probably default to showing your built-in iSight camera. The first step is to configure EvoCam to use your USB camera. To do this open up the menu item “Options >> Video Input” and select the “Source” tab. On my computer, EvoCam found my built-in iSight and the external USB camera from Macam. Mine was named “macam #0: Aiptek Pocket DV 4100M.” Make sure you can select your external camera.
For reference, I’ve included screenshots of the other two tabs in the “Video Options” panel. I’ve left the settings as their default values.
We are going to set up EvoCam to upload images to Sensr.net using FTP. Open up the “settings” panel below the preview (by clicking on the little triangle). The first thing we have to configure is the FTP server. This is where the FTP credentials from Sensr.net will be entered.
Configure the server type as “FTP Server”. In the location, you must type an FTP URL indicating the Sensr server. An FTP URL looks like this
where the SENSRSERVER is the server name given to you by Sensr.net. The filename I chose here is “evocam.jpg”. You should use “evocam.jpg” too.
The information you should put in the Username field is the one given to you by Sensr.net: it is a value like “camXXX”. The password you should enter is the FTP password from Sensr.net.
Before we leave server configuration, we are going to open up the “Advanced” tab and set a few advanced settings for FTP. See the panel below. I suggest checking the “Stay Connected” option. This lets EvoCam re-use the same connection for all of its images, helping to streamline performance.
Now lets move on to the Refresh tab. This is where we set how often the image is refreshed and what is done with it. You can choose to upload images continuously or only when motion is detected. (I like to upload continuously.) Make sure “Upload image to server” is checked!
And just for reference, here is a screenshot of the “Status” tab. I find this useful when setting up EvoCam. It shows you the network operations it is performing as it is doing them. If you are having trouble, this may be helpful for debugging.
You can shorten the EvoCam window when you are all done by toggling the settings closed. Next time EvoCam starts up it should remember your settings and begin uploading immediately.
At this point, you are done! EvoCam is uploading images to Sensr.net from your external USB Webcam. Go to http://sensr.net and find your camera to see that images are uploading. A good way to check that it is all working is to use the “View Live Stream” feature to see your camera live as re-broadcast from Sensr.net.