Why I use vdr for TV

Both here and on twitter, I’ve mentioned a few of the things I’ve done with my vdr-based media computer. In this post, I want to quickly take a step back and explain what made me go for this setup in the first place.

By way of quick background, we’ve now got an Asrock Ion 330 living under the TV as a set-top box, connected to the TV via an HDMI cable, and receiving a digital freeview signal over USB from the twin tuners in a Sony Play-TV. It’s quiet, has reasonably low power requirements, is small and pretty, can be controlled by a remote control using a small infra-red receiver plugged into a USB port, and has plenty of storage between it’s own hard-drive and the 500 GB on the Western Digital My Book attached over USB.

This isn’t a “why I use vdr instead of MythTV (or any other open-source HTPC software” post. Mainly because I don’t know enough about the alternatives to talk about them intelligently.

Instead, I wanted to explain why I went for setting up a Linux computer with a TV card instead of just buying another set-top box appliance when ours died last year. It’s not as simple (set-top boxes pretty much set themselves up nowadays) and certainly wasn’t cheaper (largely because I was starting from scratch – if I already had a server to use, that’d be different). So what was the incentive?


It gave me a chance to pull a few things together. I wanted a safe place to store digital photos, a server to run some personal code projects on that were getting too much for my Slug to handle, a media server for videos and mp3s, something to handle backups for the netbooks at home, and so on.

I could’ve gone for separate devices for each – e.g. something a little bigger than the slug (or another slug!) to run code on, a network-attached storage device for backups and media, etc. But I liked the idea of a single server that would pull all of this together. And including TV recording and watching with the whole thing seemed to fit well. It also made the cost a little easier to justify.

Remote access, including mobile

vdr live gives me a web-based interface to the TV – letting me do anything that you can do from the remote control. Most importantly, this lets me schedule recordings while I’m not at home, including from my mobile. This is something I use a lot, and couldn’t do with my old set-top box.

Radio as well as TV

As with most set-top boxes, it can use the freeview signal to get a bunch of radio stations. Unlike my old set-top box, once recorded it can export the radio programme to an mp3 file I can transfer to my phone, for listening to in the gym or car. (On the off-chance that this is illegal, I do promise that this is entirely for my own use, I don’t distribute the mp3s, and delete them after listening to them – honest!)

Web video as well as freeview

With the right plugin, the vdr front-end includes a remote-control-friendly interface for searching and watching videos from Google Video and YouTube. I quite like being able to get YouTube on the TV, and use it more than I thought I would.

I also watch programmes from iPlayer, too – although it must be said that the integration isn’t as nice. (I have to use get-iplayer at the command line to find and download programmes. Once downloaded, the vdr front-end does include a Media Player, so I can use the remote control to browse to the downloaded video file and play it).

I always used to watch web video on my laptop, but being able to do it on the TV is much nicer. If my laptop is off, it’s easier. If my laptop is on, it means I don’t need to stop what I’m doing to bring the video to the front.

Adding commands and tweaks

It’s hackable! It’s open-source, so if there is something that I don’t like about how it works, I can change it. If it doesn’t do something that I’d like it to do, I can add it.

Examples of the sorts of stuff that I’ve done include:

Setting up macros for spare keys on the remote control – for example, pressing the big green button at the top of the remote switches on the TV, sets the volume to a preset level and changes to CBeebies. It means that the kids can put the TV on without needing to navigate menus or remember channel numbers. And I’ve assigned other shortcuts and macros to keys for things that I do repeatedly.

Displaying my current location – pressing one of the buttons on the remote control flashes my current location up on screen. Based on the location of my mobile phone (taken from Google Latitude), it is a quick way for my family to check where I am without needing to switch on a computer.

Monitoring and visualising my TV watching – everything I watch is captured, and the resulting last.fm-style stats are displayed, showing me which channels I watch the most, how much recorded vs live television I watch, which programmes I spend the most time watching, what sort of TV I watch at different times of day, how long I tend to watch TV before channel-hopping, and much more.

Other neat features

There are several other features that are continually added to vdr. For example, I’ve put two digital tuners into the box so that I can record one channel while watching another.

But we can actually record/watch more than two channels at once, because vdr can cope with decoding multiple channels from a single multiplex per tuner.

For example, tuner one can record or watch both BBC ONE and BBC TWO (because those two channels are on the same multiplex), while tuner two records or watches Channel 4 and E4.

This means that I often get the benefit of a third tuner, without having had to pay for a third tuner.


That said, if I want more tuners, it’s trivial to add another one – I would just need to buy another USB DVB-T tuner to plug in next to the Sony Play-TV tuner I’ve already got.

Similarly, it’s easy to add more space if I run out of room. We record more than we watch. So with our old set-top box, we were regularly running out of space and having to go through and delete stuff. This is less of a problem with a system that came with a 320GB harddrive, but if we do run out of room, I can easily add extra hard-drive space.

Not as hard as it used to be

Finally, although not as simple as plugging in a set-top box appliance, it’s really not been that hard to get it working. Most of the software I’ve used comes in Ubuntu repositories, so installing can all be done using normal Ubuntu software management. (I did most of it using commands like sudo aptitude install vdr).

Overall, I’m liking setting up our own TV. To be honest, it’s the open-ness and hackability of the platform that was the main draw (making it all the stranger how tempted I am by the iPad, which is the empitome of appliance compmuting rather than an open modifyable platform).


12 Responses to “Why I use vdr for TV”

  1. Dom says:

    Another big win for a VDR-based system are search timers. Being able to specify any number of regexs that will automatically be pattern-matched against programme title, subtitle or description in the EPG data is a godsend!

  2. dale says:

    That’s a good point.

    For example, I’ve got a few search timers set up to record anything which mentions the name of a favourite actor of mine in the description. And they do record stuff that I would otherwise not have noticed was on.

  3. Alexis says:

    It’s interesting that almost everything mentioned here can be done with TiVo.

    Whilst there is a definite satisfaction factor in hacking something like this together yourself, it is a shame that we have no set-top box providers in the UK who are offering this kind of feature-set to people who don’t have the desire or knowledge to set up their own system, but would find the features provided extremely useful.

    It constantly amazes me how pathetic the majority of STBs are in terms of flexibility — as Dom mentioned, recording programs based on keywords is a hugely valuable feature and I find it amazing that this isn’t present on every STB. (The UK TiVo offering supported this 10 years ago, but obviously they long since pulled out of the market over here)

  4. dale says:

    Alexis – It’s a good point… with the exception of Sky+ I don’t often see set-top boxes competing on features.

    Shame about TiVo – not only was it an easy-to-setup appliance, but even now they’ve got some features that you can’t easily get in vdr.

  5. […] phone. It’s definitely a quick-and-dirty chunk of code, but it does now mean that I can work my TV from my mobile if I can’t find the real […]

  6. […] Unfortunately, I don’t have a spare laptop kicking around to show tweets on. But I do have a hackable TV. […]

  7. […] can happily spend a half-hour sat in front of the TV on Firefox (our TV set-up is a Linux-based media centre, so it’s proper Firefox with a keyboard and mouse) clicking from video to […]

  8. Oli says:

    How reliable has the PlayTV been? I’ve already wasted money on one unreliable USB tuner, I need one that works.


  9. dale says:

    Oli – I’ve been really happy with it – no problems at all. In fact, if the price hadn’t gone up since I got it, I’d buy another. 🙂

  10. Oli says:

    Good news. Currently £33 at Amazon… think I’ll get one.

    Do both tuners work simultaneously ok? I know a lot of usb tuners have problems with this.

  11. dale says:

    Oli – Yeah, no problem with both of the twin tuners working at once. In fact, with vdr, it’s been good at handling three or four channels at once. (You can record from multiple channels in one multiplex using just one tuner, so with the right combination of channels, I can record three or four programmes at once using just one PlayTV).

  12. Oli says:


    Got it today and it’s working perfectly. Many thanks for the recommendation. I advise other linux users to steer clear of Afatech based dvb-t tuners and give this a go instead.