Saturday, 30 November 2013

Building a TV Server

For a few years already, I'm using my all-in-one server also to act as a TV server. This server is running Windows Server 2008 R2 and a number of Hyper-V virtual machines.

I have 2 FloppyDTV digital DVB-C tuners that get the Digital TV signal from my local Cable provider 'Ziggo' in the Netherlands. These tuners are plugged into the host via Firewire.

I use ArgusTV on this server to schedule the recording. The Hyper-V host has the recorder service running and the Scheduler service is running in a virtual machine. The TV guides are grabbed from the Internet by using Webgrab Plus. LiveTV and recordings are stored on a dedicated harddrive. There's an iPhone app available to connect to the server. I use XBMC on multiple clients to connect to the server to watch LiveTV and recordings. 

Running the TV server on the all-in-one has some disadvantages. The tuners stop responding a few times a year, might be caused by the cable provider, or maybe some other issue. In some cases, the only way to get it back to work is to reboot the entire host.

To mitigate this problem, I have chosen to build a server that is dedicated to running as a TV server. Should there be an issue with the tuners then my family can easily reboot this server.

Last week I bought a cheap used Dell Optiplex 745 (Pentium D Core2Duo, 4GB RAM, 400GB harddrive) that I configured as a dedicated TV Server. It is running Windows Server 2008 R2, ArgusTV and Webgrab Plus. Webgrab Plus is scheduled to run on fixed times via windows Task Scheduler. Windows Server 2008 R2 does not have BDA support (for the tuners), look here how to arrange for that. ArgusTV also needs a database (I installed SQL Server Express 2008 R2) and the .NET 3.5 feature installed. 

Screenshots of the Argus-TV Recorder and Scheduler console

Screenshot of XBMC 12 (Frodo) running LiveTV on a laptop

My all-in-one HyperV server (left), the TV server (middle), 
and a VMware ESXi 5.5 host (right)