A few weeks ago I blogged about marrying my two favorite hobbies, Reef Keeping and Windows Home Server in which we installed a Digital Aquatics Net Module (webserver) and hooked it up to Windows Home Server. The master plan is to create a real time “dashboard” on my personal website that shows the current reef tank data (water temperature, PH levels, etc…) and places that information next to a live video stream of the tank. That way I can keep tabs on my tank remotely. Since the first post I have been able to take advantage of the XML data stream that the Net Module creates and used SQL Server to not only archive the data stream into a SQL database but also update my personal website with data from my reef tank via SQL Server Integration Services. And best of all, it is all automated! If anyone is curious how I did the SQL Server part I would be more than happy to let you know, but it is a little too nerdy to write about here. In this post we will look at the fun stuff, creating a live video stream and how Windows Home Server can help.
To create the video stream, I will need the following….
· A good webcam
· Video streaming service/website
· A computer that is running 24/7 to broadcast the webcam’s video
· A way to remotely control the camera when I am not home
A Good Webcam
Originally I thought I would use a wireless network camera, the appeal of this option was the “wireless” part. After a little research I decided to purchase a DLink DCS-930L. The camera worked great, and it had a server built into the thing so it was capable of broadcasting video to the internet. Un-fortunately, without hacking it, it was not capable of streaming the video to my website. Instead it operated in FTP mode, where at regular intervals, it would send up a still image to my website, not exactly streaming. Additionally, it didn’t like to play nice with my router, if I re-booted the camera it didn’t always re-connect to my network automatically, bummer. And finally, I could not add it to a computer to use as an video input source in the video steaming service mentioned later in this article. Needless to say I returned the camera and bought a more traditional webcam that connects to a computer via USB. The second camera I bought is the Orbit AF from Logitech and is capable of streaming HD video, has auto focus, and can orbit and track movement in the room.
What’s great about this camera is the video quality, and the fact that I can pivot the lens and zoom in/out remotely without having to physically touch the camera. Pretty sweet! The bad part is that it needs to be tethered to a computer via USB. After hooking it up to my laptop, I played around with positioning the camera next to the reef tank. It turns out that the closer to the tank I can put the camera the better the video quality since the zoom is a digital zoom and not an optical zoom. Here is a picture of the optimal camera position, front and center.
Video Streaming Service – Ustream.tv
Now that we have our video source we need to broadcast it. Taking a page out of the Home Server Show Podcast’s playbook, I decided to go with Ustream.tv. Past experience tells me that whenever you are embedding data or video into a website, it is best to “push” it up to the cloud as opposed to having the website “pull” it to the cloud. The idea is that I can control the push and there is just one push. If the website pulls it, I have no control over when and how many requests come into my network. If I get too many requests at once, my home network’s performance will suffer and possibly crash all together. Ustream.tv’s streaming service is really easy to use and the video quality on the web is pretty good; much better that my old school FTP style webcam option! Best of all, Ustream.tv makes it extremely easy to embed the video stream into my website!
A computer that is running 24/7 to broadcast the webcam’s video
So now that I have a camera and a video stream, all I need is a computer to actually produce the stream. Initially I thought I would use my production 2011 Windows Home Server. I installed the Logitech’s drivers and control software, the Ustream Producer software, and Apple Quicktime (a pre-requisite of Ustream) without incident, however no matter what I did; I couldn’t get Producer to actually run on Windows Home Server 2011. Crap. I could stream via a browser, but if you have ever tried to open up Internet Explorer on a Server, it is not a fun experience. I guess I could install Google Chrome and use that as a browser but my Home Server is supposed to be reliable and the more stuff you put on it, the less reliable it is (John Zadler aka DieHard can attest to that). Additionally the physical location of my Windows Home Server would require me to run a super long USB cable… Crap Crap Crap!!! Then I look over my sholder and see this…
This is my original Window Home Server (V1) that is now not being used since I have moved onto Window Home Server 2011. Sweet! It has a single core 1.8 GHz Intel processor and lives in a Chenbro case. I could load a copy of Windows 7 Professional on there, connect it wirelessly to my network, and stuff it in the closet behind my reef tank, sweet! And best of all, I don’t have to buy anything since I am re-purposing my V1 hardware! I get everything loaded and the hardware on my old WHS V1 is just not up to the task… bummer again! So now what? Then I think of another computer that I have, a media center PC that is not really used that much. It has beefier hardware and should be up to the task.
No your eye’s aren’t fooling you, that is a dresser valet with a computer built in. I bought the box from Ross for about $20 and threw a mini-ITX board inside. Still don’t believe me, take a look inside…
Here are the hardware specs…
And this is where my Reef Steaming Server will live; in a closet behind my reef tank… luckily I installed an outlet in the closet when I ran the electric line for the reef tank.
A way to remotely control the camera when I am not home
So we have our Ustream.tv feed running and streaming video 24/7, the last piece to the puzzle is how do we control the camera and Ustream feed remotely? This is the easy part, use Windows Home Server!!! Part of WHS is a remote access webpage that facilitates the ability to remote desktop into your computers away from home (as long as your client computer has a supported OS, the Reef Streamer Server is running Windows 7 Professional which is supported). All I need to do is add the Windows Home Server connector to the Reef Streaming Server, enable remote desktop connections and valla, I can interact with the computer as if I were there, pretty sweet!
Here is a shot of the remote access website…
Clicking on the connect to more computers button displays all computers on the network connected to Windows Home Server.
Clicking on “Bedroom-PC” (the name of the computer) initiates a Remote Desktop Session to the Reef Steaming Server!
You can see the controls for Ustream and the controls for the Logitech Webcam side by side. This is all I need to control the stream and the camera settings, and best of all I can do it from anywhere in the world via Windows Home Server! This is what the live video feed looks like on my website next to the data feed that is produced using SQL Server…
So that is how I used Windows Home Server to control a live video feed of my 20 gallon reef tank. For now, I think that is where I’ll leave my Reef Tank and Windows Home Server project, hopefully some of you out there have been inspired to think of ways you can use Windows Home Server to make your project a little easier.