I test media center software for Linux
Some of the consistently most popular posts on this blog are the ones I started out with, about how I built an HTPC/Multimedia center PC for use with Linux. Those posts started out the blog, but then ended abruptly after the post on how to install Ubuntu. They stopped because I never became satisfied with the multimedia software configuration.
Configuring multimedia software on Ubuntu is complicated. There are many steps involved. You need to configure the software, you need to configure the remote control, you need to configure the remote control with the software, you might need to configure the TV card if you have one, and you need to fiddle around with all these settings until things work smoothly. It’s a lot of work.
But first you need to choose with media center to use. And here is my experience after testing many of them, often for quite long times.
As I wanted to be able to watch TV with mt TV Card, I started out with the most popular media center that supports TV cards, MythTV. It’s full featured and immensely configurable. But it is also very hard to configure, and I never got it to work very well. It kept crashing, and the sound was never in sync with the video when watching TV. This was because I could never get MythTV to pick the sound from the TV card, but instead it picked the sound from the analog AUX in. And since MythTV doesn’t just connect to the card, instead it starts up a server which then transmits the video via the network to the client, even though they are the same machine, the video always arrived after the sound.
Well, I say always. At one point I reinstalled Ubuntu for reasons now lost to history. And after that reinstallation MythTV *did* pick the sound from the card. För a while at least. Then I needed to reinstall it, and I never got it back. This, the crashes, the complexity of configuring, the idea that it absolutely wants to install a TV schedule, which I have no ise for (I choose channels with the TV decoder, not the TV card, so the software can’t choose channels anyway) finally made me give up. MythTV is an over complex, unstable, unconfigurable heap of junk, IMO. Avoid.
After finally giving up on MythTV I started looking around for other media centers. Several showed promise, but lacked TV support. I was especially impressed with Elisa, but not only didn’t it support TV, it was clearly at this point (early this year) not ready to be used. The only one that seemed to be ready and supported TV was Freevo. And compared to MythTV it was a joy in the beginning. It was stable, it had the features I needed, I could easily reconfigure it to not have any stupid TV-channels but just open the TV software, configuring was easy, and best of all it was written in Python.
But after a while the romance faded. The main problem is that Freevo is really just a menu system. All the other software is controlled via plugins that start software like mplayer for video, and tvtime for TV. Tvtime I already had reverted to using instead of MythTV, so it seemed ideal.
But since it’s a menu system, each software has it’s own key-bindings. So unless you have a very good memory, you need to set up the remote control. And not only did I have problems in configuring my remote (the default Unix drivers don’t support the navigation pad used instead of arrow buttons, requiring painful patching and recompiling everytime lirc was upgraded) you need to remap the remote control button for each part of MythTV. Video needs it’s mappings, audio another, TV a third, etc, etc.
Also, the DVD software never worked well. The best DVD player on Linux is probably VLC, but there are no VLC plugins for Freevo. It meant I used Freevo to play music and video files, but I kept opening VLC to play DVDs. And I never got around to really make sure the remote actually worked, making Freevo pretty complex to use with a large set of keyboard mappings to remember. Nothing my wife was happy with when I was away at a conference. Freevo was OK, but not good enough.
And then two things happened. Firstly, my TV decoder stopped working. I get my cable TV over ADSL, so the decoder actually gets it’s data from the ADSL-modem via Ethernet. But the ADSL-modem is in a different room, which I solved with running my Eithernet connection over the power cables. That worked fine, up until maybe 6 months ago, when some sort of disturbance now means this connection doesn’t work any more. I don’t watch TV much but my wife does from time to time, so this was very annoying. The second thing that happened was Zattoo. With it, you can watch the free TV channels in low quality over the internet. Since all we had was the free channels anyway, this solved the problem. But that meant that no longer was there a requirement for the media center to support TV!
So, when I a month ago got my Boxee alpha tester invite, I started on a new quest for media center software. I installed Boxee, and gave up on that almost immediately. Boxee is an interesting software, basically it’s a media center with social networking, so you can see what other people are watching and they can see what you are watching. And if that isn’t creepy enough to to make you uninstall it, the user interface is also overly swooshily clever, and frankly crap. They think they are clever by having menues as fold outs from the sides, which makes the left button open menus. Aha. Yeah. That’s logical. NOT. And when you start it, it doesn’t start with a menu, but throws you into a overview of what others are watching. Well, maybe I’m just to individualistic, because honestly, I couldn’t give a shit about what other people are watching.
Boxee stayed on my computer for about 20 minutes. It’s idea is interesting, if you are a person who prefer having your taste guided by others, but the UI is still a giant unusable mistake.
I had thought Elisa showed great promise earlier, so when I reinstalled it now I wasn’t disappointed. It’s easy to install, it’s easy to use, it’s very pretty, worked well and again, written in Python! It has a program for configuring the remote control, so you configure it by simply pressing the button on the remote that the program asks you to press. Thank you! No more multiple configuration steps and typing in case sensitive key codes in configuration files! But in the end, after a weeks testing, I scrapped it. It’s still not ready, lacks some features and isn’t very configurable. Although you can control it with very few buttons, it turns out you pretty much can NOT control it with more buttons. You more or less do everything with arrow buttons. That means that on the remote control, I need to map volume buttons to up and down so I can control the volume. But that means that if I’m not in the right mode, pressing the volume buttons will actually start navigating. That is the example of the little immature annoyances you’ll have to live with if you want to use it. So, Elisa still shows great promise. But it’s not there yet. But even though it’s open source, it has a commercial company behind it, so it’s quite likely that it will get there in the end.
Lastly, I installed XBMC. XBMC’s unwieldy name comes from XBox Media Center, and is originally developed to run on an XBox, but has been ported to Linux. XBMC was also reasonbly easy to install and get running with. Although mapping the remote control meant editing text files again, I otherwise found configuration reasonably easy, and the #XBMC irc channel helpful. And best of all, it actually has the features you need (except TV card support), it’s reasonably easy to use, and since it’s an integrated software, keyboard mappings are consistent so you can remember them. The DVD software seems to work well (I’ve only watched one DVD yet, but that worked at least), it plays my Captain Beyond progrssive rock mp3s without big glitches between songs, it has support to play all the albums of one artist in one go…. yeah, it’s pretty much perfect so far. So, I’m stuck. XBMC seems to be it. Now all I want is for them to integrate a Zattoo client. ;-) Great job guys!