Building a media centre is a killer way to watch or stream your favourite movies and TV shows. If you miss being able to watch live TV or want to record it so you can watch it later, you can turn your XBMC box into a personal video recorder (PVR). Here's what you need to do.
XBMC 12 Frodo finally brought official PVR support to our favourite media centre software, and it integrates very nicely. It still takes a bit of setting up to get running though, so we're here to detail all the steps involved for your XBMC media centre. If you don't have one yet, check out our guides to building one yourself and setting everything up.
The Pros & Cons
Putting together a DIY PVR can be very handy, but it won't be quite the same as having a commercial DVR in your house.
The main advantage of adding PVR functionality to your media centre is that you can then do anything you want with your recordings. You can add them to your regular XBMC library or put them on your phone or tablet for watching later. You can also customise your list of channels, so you don't have to see channels you don't like if you don't want to.
The disadvantage to setting up a PVR this way is that it just doesn't work quite as efficiently as a dedicated product. Your experience won't be quite as smooth and seamless as it would be on a dedicated product. For example, on our main test machine, things worked fairly well, but changing channels was noticeably slower than on a regular TV, picture quality varied, and occasional freezes or crashes are a fact of life. PVR support in XBMC is still very young, so this will definitely improve over time, but it's unlikely you're going to get the same experience right now you will on a custom-designed PVR.
Overall, I'd say my experience has definitely been a positive one though. I bought a very cheap TV tuner and have been able to watch and record TV right from my home theatre PC for much less than any other device, which is awesome, and being able to have everything available from the XBMC interface is great. Let's get started.
Step One: Install A TV Tuner Card
In order to get live TV on your home theatre PC, you'll need to install a TV tuner card. In our box, we're using the simple and cheap Hauppauge HVR-1250. It isn't the most feature-filled card around, but it works well for watching and recording simple over-the-air signals (it can only do one channel at a time). Once you've bought your TV tuner, install it into your computer and be sure to download and install the latest drivers before you continue.
Step Two: Install Your PVR Backend
You'll need two different pieces of software to run your PVR: a backend and a frontend. In this case, our frontend — the program from which we watch live TV and control our recordings — is going to be XBMC via an add-on. The backend is the program that actually interfaces with your TV tuner, decodes the signal, and does the recording. Some backends come with their own frontends built-in, but allow you to use another frontend instead, like XBMC. You have a lot of choices depending on your operating system, but here are the instructions for two of the easier backends around.
Windows Users: NextPVR
For Windows, we recommend NextPVR because it's easy to set up. Here's what you need to do:
- Download and install NextPVR. You'll also want to download the latest patch files to ensure everything runs smoothly — just drag the files into your NextPVR program files folder.
- Start up NextPVR. Right-click anywhere in the window to access its settings.
- In the left-hand sidebar, click on Devices, then select the one you want to use (for example, your ATSC tuner if you're using an antenna, or your QAM tuner if you're using cable). Click the Configure button.
- Click Scan and wait for it to find all your channels. When it's done, it will say "Scan Complete" and you should have a full list of available channels.
- Go to "Recording" in the left sidebar and set the folder where you want recordings to be stored. You can also tweak other settings here. We recommend checking the "Background Recording" box as well.
- Go to Misc in the sidebar and set your Live TV buffer folder.
That should be everything you need to get started. Head to "Live TV" to try watching TV. If you don't get any picture or sound, you may need to use a different decoder to get things working well.
To change your decoder, open up NextPVR's settings and go to "Decoders". The decoders you want to worry about will depend on your device. For example, my HVR-1250 uses MPEG-2 and AAC to stream and record TV, so the MPEG-2 and AAC codecs are the ones I needed to change. You may find other codecs in the respective dropdown menus on this settings pane, but if you don't (or if none of the available ones work well), you'll need to download a new one and try it out.
This is the more arduous part of the process. Different codecs are going to work well for different people, so you'll have to experiment. A good place to start would be the SAF codec pack for NextPVR, though you can install and try other codecs too (check the NextPVR forums for suggestions based on your equipment). Keep trying different codecs until you find one that gets you the picture quality, smoothness and sound that you want, and then continue to step three.
Linux Users: Tvheadend
Tvheadend is a simple backend for Linux that is very easy to install, and can be managed from a web interface — which means you can manage your recordings from any computer in the house, without even entering XBMC. Here's how to install it on an Ubuntu-based system:
- Run the following three commands, one after the other, to install Tvheadend:
sudo add-apt-repostory ppa:adamsutton/tvheadend sudo apt-get update sudo apt-get install tvheadend
- As Tvheadend installs, it will prompt you to create a username and password for its web interface (which you'll use to manage the program). Create one as instructed and continue the installation.
- When it's done, open up your browser and head to
http://localhost:9981. Alternatively, you can access it from another computer by heading to
192.168.0.11is the IP address of the machine on which Tvheadend is installed). Enter your username and password when prompted.
- You should be greeted with the Tvheadend web interface. First, click the Configuration tab, then click the TV Adapters tab under that. From the dropdown menu on the left, pick your TV tuner.
- Click the "Add DVB Network by Location" button. Choose your location and the type of signal you're looking for. For example, if you're hooked up to an over-the-air antenna, you would choose the ATSC option.
- Click the "Add DVB Network" button on the left to continue. Now, look to the box on the right. At the bottom, you should see a line that says "Muxes Awaiting Initial Scan." This will slowly drop to 0 as it scans channels. When it finds channels, the number under "Services" will increase.
- When "Muxes Awaiting Initial Scan" reaches 0, you should have a number of Services scanned and ready to go (if not, try a different signal type or make sure your tuner is working). Click "Map DVB Services to Channels" to finish the channel scanning process.
Tvheadend doesn't have its own frontend for watching TV as many backends do, so to test if your setup worked, you'll have to continue to step 3 and try it out in XBMC.
All Users: Experiment
We've picked these two options because they make good choices for beginners due to their easy setup. However, every backend program is different, and there is very little consensus over which is "best" or even the most stable (just search for any two backends on the XBMC forums and you'll find much debate). So, if you don't like the first one you try, download another one and see if it works better for you. It's a long process of trial and error, but the more you experiment, the more likely you are to find something that works for you.
Step Three: Set Up XBMC's PVR Add-On
Once you've ensured your backend is running correctly, it's time to integrate it with XBMC. This step is pretty easy. Make sure you're running the latest version of XBMC (known as 12, or "Frodo"), and then:
- Open up XBMC and head to Settings > Add-Ons > Disabled Add-Ons. Head to PVR Clients, and select the one for your program (in this case, either NextPVR or Tvheadend). Choose Enable.
- Next, go to Configure. Most of the default settings should work fine here, but if your backend has a username or password, type those in now. If your backend supports time shifting (rewinding or pausing live TV), enable it under the "Advanced" tab.
- Go back to XBMC's Settings and choose Live TV. Under General, check the Enabled box, and tweak any other settings you want here. I generally like to go to Playback and uncheck Start Playback Minimized.
- If you go back to the main menu, you should see a new section called "Live TV" where you can watch shows, see an episode guide, and set up recordings. Congratulations! XBMC is working as a PVR.
You may still have to do some experimentation here to find out the settings that work best for your specific hardware and software, but for the most part, you should be good to go. Try watching or recording a show from XBMC, tweak your episode list from the Live TV settings, and enjoy.
Again, this is just the beginning. There are a lot of cool things you can do with your DIY PVR, so once you're all set up, check out the XBMC forums (as well as the forums for your respective backend) for more ideas and support. But for now, kick back with a cold one and enjoy some live TV. You've earned it.