How to build a PVR with minimal hardware
Ever since I switched to over-the-air HDTV I need a good method to record TV shows. Unfortunately after looking for months I couldn't find a good PVR box that would record TV shows from the antenna. Our satellite receiver does have a PVR, but it is full of bugs and I always ended up missing my schedules recordings. In Canada it's though to find a good online place to watch TV shows (Netflix is two weeks behind, Canadian networks can't get the video player right and show you the same commercial 12 times in half an hour and American networks or Hulu are blocked). TiVo works OK but it's expensive. Of course, I ended up paying the same amount of money trying different hardware combinations!, but I eventually came up with a great system that I enjoy using. So I thought I keep this documented so you didn't have to go through all the steps I went through. I didn't put much time into this, so please accept my apologies for any errors on this page.
Warning: This instructions require you to be fairly familiar with Linux, or at least have the guts to run some command line arguments.
The goal
Watch and record HDTV with minimal hardware requirements.
What I tried
- Windows (XP and 7): Slow! Plus you don't get the stand-alone PVR feeling. n-PVR is a good solution if you want to go with Windows, but keep in mind Windows always feels like a desktop PC.
- Linux with internal tuners: Just couldn't get them working. Two of the cards I bought didn't work at all. But a slight change in firmware might make a card unusable from a similar module that does work in Linux. I eventually bought a card that worked, but it required compiling drivers, etc. I just learned that HDhomerun has far more benefits even if the card is fully supported.
- Linux with HDhomerun: Works like magic! You don't need to install any components, which means you can go with a tiny cure box for your PC. You can also use it with multiple PCs (say watch TV on your laptop). But that still leaves you with an endless choice of distributions. Here's a few of those I tried:
- Mythbuntu: It's a good system, but not for a small stand alone box. MythTV is pretty heavy, you need a separate database server, etc.
- yaVDR: It's something you might want to try. If everything works out of the box you're lucky, otherwise it's harder to setup than a standard Ubuntu-based system.
- XBMC Live (with TVheadend): It's the best combination I have yet tried. Tvheadend is very young and doesn't have too many features, but as long as it does what you're looking for, it's the way to go. The problem was xbmc live required a full drive to install. Installation on a partition failed with an error.
- Build you own system (using Ubuntu): It's actually an alternative method recommended by xbmc. See below for details.
Build your own combination using Ubuntu mini OPENELEC
Note: If you'd like to use the XBMC/TVheadend combination, there is a much easier solution now: OPENELEC. Just follow their instructions. You will still find some of the items below useful for setting up the TVheadend backend and to grab TV listings. I'm all the instructions in case you would like to set up a custom combination (e.g., XBMC & MythTV) via Ubuntu mini.
I will walk you though the steps I took to build my own system using a minimal Ubuntu installation. This lets you install only whatever you need and nothing more.
Hardware
- A Atom PC with Nvidia ION (or an external Nvidia card with VDPAU support). In order to be able to watch HDTV with a weak CPU (e.g., an Intel Atom found in most mini-desktops aka. nettops) you will need a good Nvidia or ati card. I'm not personally familiar with ati but with Nvidia the card must support VDPAU. If you go with Atom-based PCs, you will need to make sure they have an ION cheapset. In my case, I ended up buying an external graphic card. This was simply because I initially bought an expandable case to have room for the tuner. If you go with the HDhomerun, one of those tiny Atom+ION cases will do just fine.
- HDhomerun (recommended) or an internal ATSC/DVB card supported by Linux (good luck finding one, trust me and just go with th HDhomerun).
- An HDTV ;-)
- To control xbmc you can buy a cheap USB HID remote control of eBay, use your smartphone or simply a keyboard
Howto