Some time ago I was asked what would it take to get a live webcam feed of the osprey nest next to our Marine Operations Building. We have an osprey couple – Ricky & Lucy – and people love to check in on them throughout the summer months when they come home to Lewes.
I thought I’d share the software and hardware lineup that I selected to do the job and explain some of my choices. The equipment I ended up ordering was:
- Sony SNC-RZ30N PTZ (pan + tilt + zoom) IP Webcam (~$1,100)
- Dotworkz D2 Outdoor Enclosure with heater/blower (~$500)
- Videolarm APM3 Pole Mount Bracket (PDF) (~$60)
- WebcamXP network camera monitoring, streaming & recording software (~$99)
- Some sort of intermediary computer to run the WebcamXP software
- 100′ Outdoor Extension/Power Cord
- 100′ Underground Double-shielded Cat5 Network Cable
- Uninterruptable Power Supply (UPS)
- Desiccant packs, Velcro Tape & a Plastic Container
- RainX and Marine Silicone RTV
Why I picked what I did
We wanted to mount the webcam on an existing antenna tower next to the Marine Operations Building, thus the pole mount bracket. The webcam needed to have a short shopping list of features – including:
- Stand-alone operation and a physical network jack for IP (network) streaming – we didn’t want to potentially impact building wifi performance and we just wanted to be able to run a network line up to it (no USB webcams need apply). Doing this with a network cable tied into our building switch meant that the packets the camera generated would not negatively impact the rest of the users.
- It needed to have sufficient intelligence that we could remotely log into it to position it and/or program preset camera stops and zoom factors.
- A healthy optical zoom so we could zoom up close on the nest for an up-close experience.
- Image stabilization built-in so that when we did zoom in, any sway or vibration in the antenna pole wouldn’t give us a jittery image.
- FTP/FTPS functionality – where you can have the webcam automagically FTP a still frame to an outside server at a user-defined interval. We used this feature to amass the still shots that we used in our (award winning) time lapse videos for the Lewes wind turbine construction. (We stopped the camera from moving for the 2-3 weeks it took to complete construction.)
We selected the Sony SNC-RZ30N for the job, but before you go out hunting for one, they seem to have been discontinued. In its stead now is the SNC-RZ25N (slightly lesser 18x optical zoom than the 30N) and its replacement, the SNC-RZ50N (26x optical zoom) which does both motion JPEG and H.264 streaming. The SNC-RZ30N camera has its own built-in web server so we could control it via a web browser. It has a 25x optical zoom so we can get up close and personal with the osprey nest. Don’t be fooled by some webcams which tout a zoom without specifying that it’s an optical zoom. If it doesn’t say “optical zoom” it’s most likely a digital zoom, meaning a lower resolution subset of the total number of pixels the camera can capture.
The SNC-RZ30N supports up to 16 presets, which allows you to position the camera where you want it pointed at the zoom factor you want, and to save a “preset”. You can then have the camera cycle itself through the various presets at a user-specified panning speed, stopping at each stop for a user-specified amount of time. Quite handy when we are cycling the webcam to look at various points of interest on campus, and even handier for removing the osprey nest preset from the mix when the ospreys head south for the winter.
As you can see, the webcam is pretty close to the ocean, so we needed to find an enclosure for it that could:
- Survive a salty marine environment
- Remain water-tight
- Provide space for desiccant packs to remove any excess moisture so that the inside of the enclosure didn’t fog up on cold mornings
- Provide an automatic heating of the enclosure on cold mornings to prevent frosting up of the outside dome
- Provide power for the camera inside
We chose the Dotworkz D2 Enclosure with optional heater. It has two sealable penetrations that allowed us to get power to the unit by cutting off the end of a heavy-duty outdoor extension cord, tinning the tips and tightening up the screws onto it to power the power supply and heater inside (green circle). The other end of the extension cord is plugged into a UPS/Surge Protector in the radio room below since the webcam is strapped to a huge metal pole sticking up into the (sometimes lightning filled) sky. An underground double shielded network cable was run up the tower and inserted through the second penetration – after which we crimped a RJ45 end onto it and simply plugged it into the back of the webcam. The power supply came with an end that was already compatible with the power connector on the back of the webcam (orange circle) so powering the camera was a cinch.
The enclosure also came with a magic universal mounting bracket and stand-offs of various heights to ensure you can position a compatible webcam at the right height to see out the bottom dome.
Here is a picture of the connectors on the back of the webcam:
We attached the camera as high as we could and still reach it with a scissor lift that facilities owns. The first time we installed the enclosure, we had it mounted by the pole climbers that were doing maintenance on the antennas at the top of the tower (no way I could ever do that – waaayyy too high up). We relied on the seal built into the enclosure to handle sealing out the moisture, but unfortunately it slowly started amassing some moisture inside which started pooling up inside the dome over several months. Since we didn’t have the requisite climbing gear to climb the tower, we ended up having the tower climbers move the enclosure down the pole just high enough for us to reach with the scissor lift when they came back again. We didn’t take any chances this time. We went along the exterior seam and penetrations with some marine RTV (silicone sealant) and I used some velcro tape to secure a plastic container filled with desiccant packs on top of the black mounting plate to keep the inside as dry as possible. The velcro would keep any tower vibrations from storms and the like from working the desiccant packs over the edge and down onto the dome.
We made sure to loop some additional network and power cable up the tower just in case we needed to move the enclosure to a different height or to another side of the tower. Make sure to make a “drip loop” with any cables that dips down from the enclosure and then back up away from it. This keeps water from flowing down the cable and running against the penetration, thus minimizing the likelihood of water making its way into the housing. Remember that the cables are exposed to the elements, which includes ultraviolet radiation (UV from sunlight) which can break down most plastics and vinyl cable sheathing. We selected an extension cord which listed UV resistance and selected an outdoor network cable to stave off the UV damage to the cables.
One last treatment I did was to apply Rain-X to the outside of the dome. It’s like a wax coating for glass that makes water bead up and roll down the dome rather than stick to the outside and fog up your view.
WebcamXP
One last topic I’d like to cover is the use of WebcamXP as a bridge between the webcam and the outside world. The problem with most webcams is that of security and scale. The internal web server in most webcams can handle about 25-50 simultaneous users. If you have more than that number, attempts to view the feed by users 51 and up will fail. To overcome this limitation, we purchased WebcamXP as an intermediary. The software installs on a desktop or server and it makes a connection to the webcam and handles the task of streaming it to the web server that you’re embedding the feed on. By acting as the intermediary, WebcamXP offloads the streaming load from the webcam. In our case we embed a Flash SWF file on the external webserver that gets its stream from WebcamXP.
The second issue that you run into with many webcams is that of security. They have some basic security built-in, but in order to stream the video from many of them, you have to expose the ability to control and position the webcam to the end-user. The last thing we wanted was for random users repositioning the webcam. Our solution was to give the webcam an internal IP address that was not accessible from outside our border routers. The system running WebcamXP was given a publicly accessible IP address and an internal IP address so that it could access the webcam video stream and serve it up externally.
Other nice features of the software are:
- Watermarks – the software allows you to embed a watermark image over your video stream, thus branding your video with your logo and/or text.
- Ability to expose the video stream via Java, Javascript or a Flash client.
- Ability to handle multiple IP webcams simultaneously. If you want to grow the number of webcams you want to expose, you would only need one system running WebcamXP to stream the feeds from multiple webcams simultaneously.
- A free version, which can handle a single webcam. This allows you to kick the tires and make sure the software does what you want before you buy. (Note, the free version does not allow watermarking your logo on the video stream)
I had initially looked into using either Silverlight and/or the IIS Streaming Server to handle this roll, but it was early in their development when we set the webcam up and it was more expedient to use WebcamXP. I’d still like to look into having our actual web server do the work of connecting to the internal webcam and handle streaming the content using Silverlight or some other non-Flash mechanism. If you have some feedback as to how to accomplish this, I’m all ears. I think it would make a much more flexible mechanism to handle the various browsers (including mobile, iPad etc.) that are coming online.
Thanks for enduring the long post and please feel free to comment if you can think of things I missed or have any suggestions on how to improve things.