Run your own home-entertainment server with Linux and MythTV: we show you how.

by Jo Shields on 4 October 2007, 14:52

Tags: HEXUS, Linux

Quick Link: HEXUS.net/qajyv

Add to My Vault: x

Today, we have naming of parts

The important thing to do with a project like this is to decide just what level of functionality you want on day 1, and how much functionality you want on day 19 - that is, how much room for expansion you want to leave yourself from the get-go. If you want to watch HD material, then buy a decent dual-core CPU now - if not, don't worry. If you want to record weeks of programming at once, buy a number of TV cards and hard disks now - if not, don't worry. If you want to stick your machine in the living room now, go for an aesthetically pleasing low-noise case. If not, don't worry. It's all about choosing what you want to achieve and what you want to spend - and then making a decision. You can use that old Pentium 3 machine in the attic with a barely functional WinTV card, but you won't get remotely as enjoyable an experience as with a better machine with custom-selected components.

To help make the "wrong" decision less painful, MythTV's client-server design means you can have as many servers and as many clients as you like - so if you run out of capacity in one machine, you can add another rather than starting again from scratch.

For my project, I'm using 8 hard disks in a RAID5 configuration, powered by a hardware RAID card. The advantage of hardware RAID is disk performance doesn't affect the load on the processor (or vice versa) - and if I wanted to, I could boot a different OS on the machine without worrying about driver support in RAID mode. This gives, after RAID5 overheads, a massive 1630 GiB of storage, or approximately two months' worth of continuous recording space (assuming about 1 GiB per hour for a reasonable Freeview signal). I'm using an Intel Pentium-D 830 processor, which might not be particularly well regarded compared to Core 2, but is fast enough for everything the machine is likely to be asked to do. There's also 1 GiB of DDR2 RAM, a low-end GeForce card, and a DVD burner. Oh, and last but certainly not least, some TV tuners.

There are a number of ways to get a TV signal into a Linux machine, for MythTV to use. There are four main classes of device: A framegrabber, which grabs low-resolution bitmaps from the air using an analogue tuner, which your CPU must convert into something useful; An MPEG encoder, which takes an analog signal and turns it into an MPEG2 stream using its own hardware rather than your CPU; A digital tuner, which captures a pre-encoded MPEG2 stream from somewhere (terrestrial, satellite or cable); and an external digital-friendly set-top box such as a HDHomeRun or some satellite set-top boxes which will send video over a FireWire link. Check the LinuxTV wiki for digital device support, or the IVTV Project wiki for MPEG encoder support - most framegrabbers should just work. Some media providers in some countries are quite anal over which devices are allowed to read their signals (such as Sky or Virgin in the UK), which forces you to combine one or more of their set-top boxes with a framegrabber or MPEG encoder. For my machine, I'm using a pair of digital (DVB-T, Freeview) tuners, one of which has been paired with a Top-Up TV subscription (to access extra encrypted channels such as UKTV Gold).