Saturday, October 25, 2008

The TV Server I Always Wanted, Part 2 -- Options

In Part 1, I talked about what I wanted from my rebuilt media server. In Part 2, I'm going to go into some specifics and talk about options.


  • Pentium dual core
  • 2GB RAM
  • nVidia Corporation GeForce 8400 GS video card with s-video out
  • Intel 82801-based motherboard


There are a good number of choices for the interface. I've included a brief description of the major ones and a video demo for each (when available).
  • MythTV: Probably the most mature (and complicated) media center available on Linux. Luckily, there are a couple of dedicated distributions ( and ) which minimize the difficulty of configuring it. It has add-ons for just about every function you could imagine.
  • : Compared to MythTV's complicated system, Elisa is completly utilitarian. Fluendo, which licenses restricted codecs for Linux, intends the project to be that way.  There is no configuration utility yet. There are no add-ons. The are very few themes available for it. Still, Elisa has functionality. It uses GStreamer for the backend, so codecs for just about everything are fairly easy to install.  It handles DAAP shares and (supposedly, though I've had no luck) uPnP on the network.  Elisa requires a compocited display.
  • : This is a promising new project that is a fork of XBMC. It is supposedly GPLv2, but I don't see any available source code, and there is on whether the developers are compying with the license or not. The interface is hot and there are a lot of cool features. Unfortunately, the software is still in Alpha.

  • LinuxMCE: The software available is based on Ubuntu 7.04, but it's still rather amazing. If you need a media center for your whole house, I would check this one out. The software is created by an A/V equipment company, and it seems to work best with the hardware they offer.

  • Me-TV: Me TV was developed for the modern digital lounge room with a PC for a media centre that is capable of normal PC tasks (web surfing, word processing and watching TV). It is not designed to be a full-blown media centre, such as MythTV, but will integrate well with an existing GNOME desktop. This is designed as an add-on to a normal desktop. It's not meant for a dedicated media center

  • File Sharing

    • WebDAV: I've written about using WebDAV and Avahi to share files. It's easy and pain free. Many media files won't stream using WebDAV, but I don't intend to use the file sharing for that purpose, anyway.
    • Samba: Like MythTV, this is the swiss army knife of file sharing options. It can do anything. Getting it to do all those things can be difficult for new users, though.

    Music Sharing

    • Firefly: This is the most mature and friendly of the options. It handles playlists and can do transcoding. It can even pass videos if you have a client capable of supporting it. The configuration is done via web interface.
    • Tangerine: There's a Mono application to serve music files via DAAP, but it brings in Mono and GTK+. The only configuration utility is graphical. It looks fine if you are running a GTK desktop and already have Mono installed.
    • Perl Script: a Perl module exists to make a DAAP server fairly easily, but it's limited:
      • Currently only shares .mp3 files.
      • Doesn't support playlists. 
      • You can't skip around the playing track

    Video Sharing

    • : This uPnp server has a good web interface and is relatively feature-complete.
    • uShare: This is a simple server which is part of the GeexBox project (a mighty fine piece of software, by the way).
    • MythTV: Myth offers its own upnp server for items in the database. If you are going to use MythTV, you are going to use this option.
    • : This Python library is at the heart of the Rhythmbox uPnP plugin, and it has scriptable servers and clients. Not exactly a simple solution, but this would be a good choice for a computer with limited hardware.


    • : I've written a HowTo on how to set up a dedicated torrent server. It works. Well.
    • : This is a great headless torrent client. There are several good Howtos on setting it up. They generally involve using Screen to admin. That's not too user-friendly.
    • Azureus cum Vuze: This was the gold-standard for torrent clients for a long time, but had the reputation for being a resource hog because of Java. It now offers headless operation and a web interface as options.
    • Deluge: Deluge is the new Azureus. It's full-featured with a ton of plugins. I've written about getting it to automatically download your shows before. It recently got split into front and back ends, meaning that headless operation is now possible. With the simple web interface, you can do most things you need.
    • : MythTV has an add-on for automatically handling RSS feeds and downloading the content. It works with torrents, but there is a bug in Bittornado which makes this difficult because the client faults immediately after starting. My attempts at patching Bittornado didn't solve the problem. It also isn't set up to seed at all. Not good.
    • Boxee: There is a built-in RSS reader which was added recently and which uses rTorrent for torrent files. It's not automatic, though. You need to look over the feed and queue files for download.


    MythTV uses a database to keep track of recordings and movies. There is a perl script called RageTVgrab which tries to parse the file name and lok up show info on then add the show info into the database. There's also a bulk updater for videos called Mythvideo Bulk Updater, not surprisingly.

    Elisa browses the file system. Boxee categorizes files and picks up new ones, displaying them for you. I haven't used LinuxMCE so I can't comment on its organization.

    Remote Administration

    • MythWeb: If you use MythTV, you get a web interface which works specifically with it. You can download or stream your TV or movies, update movie information from IMDB, check the server status, and change settings for MythTV or the add-ons. It's pretty much a no-brainer if you're going to use MythTV.

    • : This is a newer web admin interface which works well but doesn't work well with others. eBox is completely destructive of configuration files, so there's no migration to or from eBox. It handles users, shares, DHCP, and just about anything else you want to do with a server. IT's designed to work with Ubuntu 8.04.

    • Webmin: The town elder of the web interfaces, Webmin deos it all (with Perl!) but not with style, certainly. Webmin's interface is as confusing as it is complete. It's not in the repositories for Debian Lenny or Ubuntu 8.04.


    My choices may notreflect yours, but that's why I laid out all the options instead of just telling you what to use. The bottom line is that there is a lot of choice in building a TV server. Based on my requirements from Part 1, I made the following decisions:
    • MythTV using Mythbuntu 8.04. Boxee looks really nice, but it's still alpha software. When I build my next TV box, Boxee will definitely be at the top of the list. LinuxMCE looks nice, but I'm not going to use 90% of the features. The same can be said for MythTV, but it's modular and I can take out most of the add-ons to reduce the footprints. Elisa got eliminated because I didn't want to spend a lot of time organizing the file system. That's what I did with my last server.
    • Samba won the file sharing war because it's included in Mythbuntu and already set up to share the videos and music after install.
    • For music sharing, I chose Firefly (mt-daapd) because I've used it for quite some time and know that it works well. I didn't want Mono on the server. The Perl option doesn't support my OGG collection.
    • MythTV includes a uPnP server, so I don't need to add anything. Totem also now includes a MythTV plugin by default.
    • The web interface is covered by MythTV.
    • For the torrent client, I actually went with two. I used rTorrent to watch a directory, then an RSS reader to automatically pull the .torrent files and put them in the watched directory. Finished files are moved to the Recordings directory immediately and continue seeding from there. Because rTorrent doesn't support seeding limits, I delete the .torrent files after four days using cron. That gives about download time plus three days' seeding. Because other downloads shouldn't appear in Recordings, I also run Torrentflux for one-off downloads.
    In Part 3 (next weekend), I'll give you a good HowTo on the setup I used to get hands-off operation.



boxee is gpl. you can download the source code from the download section.


Thanks for pointing that out. It may be a recent addition to the download page, or I may just have screwed the pooch.

MoeMan said...

In your conclusion:
"Totem also __not__ includes a MythTV plugin by default."

I think you may have meant "now".

Anonymous said...

Great post, very helpful. I'm planning on doing this with my old pc, and I'm new at this sort of thing. Right now I'm just waiting for my boxee invite so I can try it out.


Thanks Moeman,


I use mythtv and xbmc. IMHO, mythtv and elisa serves 2 different purposes. You cannot stream your downloaded videos via mythtv; only your recorded TV programs. The standard mythvideo is pretty bad and out of date, too, but for handling TV, mythtv is the only option.


No doubt that Elisa and MythTV serve different purposes. MythTV is first and foremost for recording TV from a capture card. Elisa doesn't do this.

I don't have or want a capture card, so MythTV is a little bit of overkill for my needs, but I like the organization of the recorded programs in Myth more than a random collection of files that I'm going to end up with in Elisa. If it weren't for the organization, Elisa would probably fit my needs well.

The MythTV streaming plugin works only for recorded programs, but MythWeb can stream the videos, so there's no problem for me.

Thanks for reading.

Post a Comment

Other I' Been to Ubuntu Stories