Friday, August 10, 2007

Turn your Linux box into a Media Center with Freevo

I've been playing with the notion of turning my PC into a PVR for some time now, but I never got around to it. About a month ago I got my hands on some cheap kit for this purpose & got the setup working. Just a few days later my TV blew up, it was a spooky coincidence. Fate would have it that my PC will have to be the TV until I get a new TV.

This is the kit:
- Hauppauge WinTV PVR 150 TV-Card (PCI)
- Phillips RC6 Windows MCE IR Remote Control with USB Receiver

With the hardware installed, the next step was to make sure it all worked in my Mandriva 2007 box. The PCI card was detected but the required firmware & configuration tools were missing. This was easily solved by grabbing these packages from RpmDrake:
- ivtv
- ivtv-firmware-audio
- ivtv-firmware-enc
- perl-Video-ivtv

Next the MCE Remote was detected as well, but again the required tools needed to be installed. These were:
- lirc
- lirc-remotes
- python-lirc

Now comes the crucial part, the Media Center software itself.

I looked around quite alot for what would be the best software to use. Everything seems to point me to MythTV, which I couldn't get my head around because it was a feature monster, far beyond my needs and terribly complicated.
I also tried out Elisa, which was nice but didn't work well with IR remotes (yet).
I finally settled on Freevo, a small, compact & surprisingly featureful Media Center that provided all the functionality I needed in a small footprint with good support for IR Remotes.
Freevo is installed from RpmDrake using just 1 package: Freevo

Next challenge was tying it all into a cohesive fluent interface that just works.
The Freevo wiki helped alot.

I first configured the PVR card using ivtv to tune-in to the correct frequency for my favourite TV channels TV3, NTV7 & 8TV. (This is harder than usual because NO online XML TV listings existed for Malaysian TV)

Once the TV was sorted. I worked on getting the remote configured.
I configured the remote using a downloaded copy of the lircrc.mceusb config file that had the basic bindings for working with Mplayer, Xine & even MythTV. To this I added support for Amarok through DCOP commands & used IRExec to launch Freevo when I pressed the big green MCE button.
Freevo has it's own set of lirc bindings which take effect only when Freevo is running. These can be customised to give full access to every freevo feature. (If anyone is interested in any of these config files, please let me know)

So I had my Freevo setup with these functions:
- Watch TV (Obviously)
- Play Media on the Hard Drive (or any removable drives)
- Autoplay CD/VCD/DVDs using Xine (with DVD Menu)
- Favourite RSS News Feeds

Disabled the following unused features:
- TV recording
- Radio
- CD ripping, burning & encoding
- Web Browser

As you can see Freevo is pretty damn feature rich for it's size. I might get around to setting up the other features like the web browser, but for now it's serving it's purpose as a replacement for my TV. Good thing I got myself that 22' Wide LCD monitor. ;)

No comments: