skippy

hello, dammit.

MythTV

I've had my MVix MX-760HD for a little over a year, and it's been a handy little device. We've all enjoyed being liberated from physical DVD media: the kids no longer need to sort through our DVD collection looking for the disc that contains their favorite episode of a show, and I no longer have to get agitated that our DVD collection is consistently left strewn about the floor or -- worse! -- reassembled without any kind of order or organization.

The MX-760HD has a few flaws, though, such that using it has whetted my appetite for a more complete solution. The MX-760HD does not permit you to easily add media to its attached storage. You can use the NDAS funtionality provided in newer firmware releases, but that looks to be a cumbersome and proprietary solution. I could have simply removed the USB drive from the MX-760HD, attached it to my laptop, transferred the files, then re-attached the drive to the media player -- but that kind of "sneakernet" somewhat defeats the purpose of having a network. I worked around this by attaching USB drives to my LinkSys NSLU2 storage server, and configuring the MX-760HD to access that media over the network. This worked well enough, but introduced its own limitations.

The NSLU2 is not a speed demon, so disk operations were slower than even normal USB access. This wasn't a big deal for the MX-760HD when reading the files, but it was a bottleneck when transferring files from my laptop to the NSLU2 over the wireless network: write operations were considerably slower than the network speed! The other shortcoming with the NSLU2 is its limited resources. With only a paltry amount of RAM, I never felt comfortable using it for anything other than basic file serving. I would have liked to have launched a BitTorrent client on it, or something like Miro, in order to (legally) download free media for later enjoyment.

Another shortcoming of the MX-760HD is its support for multimedia codecs. Not all files I might download were playable on the device, which I found to be extremely annoying. Sometimes the file was completely incompatible; other times I'd get video but no audio, or audio but no video. Even files which were ripped into formats playable by the device sometimes proved problematic.

I decided, finally, to look in earnest at MythTV and Mythbuntu, a version of Ubuntu GNU/Linux pre-configured with MythTV. MythTV is built primarily as a Free Software replacement for Tivo and similar "personal video recorders", and much of its underpinnings are geared toward the support of recording television (broadcast, cable, or satellite). We don't watch television, so this functionality is not particularly useful to me. MythTV does, however, support playback of video and music files previously encoded, and it was this functionality that I sought. MythTV plugins provide some additional functionality which also caught my fancy, like a weather report, games browser, and more. (It is my secret desire to get Ultrastar NG running via the MythTV games interface so that we can play the karaoke game on our television.)

In order to use MythTV, though, I needed a new computer: I haven't had a desktop computer in my house for almost a year. Said new computer must satisfy several conditions: it must be small, it must be quiet, and it must be able to run GNU/Linux. I've long since given up paying attention to hardware developments in the PC market, and I'm no longer interested in spending my time looking for and assembling the necessary components to make my "dream machine". I'm willing to pay a little extra money for someone else to spend their time preparing a complete computer solution for me to purchase. I decided to purchase a Mac Mini.

The trip to the Apple Store was my first, and it was not an entirely unpleasant experience. I got the help I needed, and made my purchase without too much hassle. I raced home, eager to connect the new computer to the television. Immediately I ran into a number of hurdles. First, when connecting the Mac Mini via DVI-to-HDMI to my Panasonic TC-26LX70 television I got no signal. This was a real bummer. I could get signal if I connected the Mac Mini via DVI-to-HDMI to my Harmon Kardon AVR-247 receiver, which in turn connected via HDMI-to-HDMI television, so this is the route I pursued.

Eager for a Free Software solution, I booted a Mythbuntu install CD without ever loading the original Mac OSX. The installer loaded into graphical mode, and I installed the system. When complete, I was happy to see that I had a usable GNOME desktop, but I was distressed to see that it was cropped along all four sides: I saw only the bottom most bit of the top application panel, and only the top most bit of the bottom application panal. Similarly, I did not see the entire width of the display. Stymied, I tried to fiddle with the MythTV settings to control the viewable size of the application, but quickly found this to be a tedious, annoying task. I have been so used to things "just working" with GNU/Linux these days that I was completely underprepared for manual intervention!

Frustrated, I tried re-installing Mac OSX upon the advice of Chris, and also to give Apple's Front Row a try. I was somewhat relieved to see that OSX also suffered from the image cropping. I discovered that I could easily make OSX display on my television at 1920x1080 resolution (something I could not get Ubuntu to do), but didn't think that the resolution really provided me much, since we don't yet have any high definition media. I tried out Front Row, and found it to be easy enough to use, but not as featureful as I knew MythTV to be through its collection of plugins. I decided to try MythTV again, but this time I elected to apply a plain vanilla installation of Ubuntu.

I spent several days trying my best to get the image to display correctly on my television. I learned, through much searching, that what I was experiencing was a common problem called "overscan". Some televisions did this, and some didn't; and of those that did, many of them could be tweaked by entering a service menu. Thanks to help from Mike, I found my television's service manual, and navigated the service mode options. Unfortunately, I simply could not find a way to adjust overscan, nor to set the X/Y properties of the display. I finally resigned myself to the fact that this was a hardware limitation I could not easily resolve, and decided to work around it the slow, tedious way: by adjusting the window and display settings of the MythTV application.

Yesterday afternoon I finally spent the time to set the display size, and then adjust the X and Y offsets, in order to ensure that the media playback fit within the viewable portion of my television. There was a sliver of top and bottom GNOME panels still visible after my adjustments, but I resolved that by marking the panels "autohide", so that that shrink out of site when not in use. With the display settings finally in an acceptable state, I sat back to actually use MythTV.

I first inserted a DVD, and watched several minutes of it. It was just like watching a DVD played from my hardware player, except that I could use the wireless keyboard connected to my Mac Mini to scan forward and backward through the film. I then used the MythTV interface to rip that DVD into a file for playback without the media. This was an easy, no-thought-required process, and after a couple hours the file was ready for viewing. I watched the beginning, and was pleased with the results. Here was a tangible benefit of using MythTV over the old MX-760HD: I could put in a DVD and encode it overnight, and have it ready for playback as soon as it was done. No need to rip the movie on my laptop first, and then transfer it to the media player.

I next connected my USB drive that contains all our previously-ripped or downloaded media. MythTV let me easily navigate the collection. I selected an MST3K episode, "Gamera versus Zigra", that the MX-760HD could not play, and was extremely happy to see that it played with full audio and video. I left this on and playing as I did a few minor house keeping tasks on the Ununtu installation via ssh (disable unnecessary services, tweak startup options, etc). The kids came down from their rooms and watched the movie, expressing again and again their utter confusion as to the story of the movie. I could offer them no solace: I was as confused as they were!

I haven't installed MAME or the SCUMM virtual machine, but that's high on my list. I'd love to break out my old "Day of the Tentacle" CD again! (I'd also like to try Beneath a Steel Sky and Flight of the Amazon Queen, both free-as-in-beer and available for download.) Additionally, I haven't yet configured the Mac Mini infrared remote control for use with MythTV -- this was something I had trouble with during my first installation of Mythbuntu, and I've not yet revisited the subject. I'm hopeful that I can get it working, but it's not entirely necessary, since we have the wireless keyboard available to us.

My own installation hurdles were hardware issues, and have no reflection on the software suite available. I'm looking forward to using MythTV more. I'm particularly pleased to be freeing myself from the burden of managing physical DVD media for those discs we own, while still being able to enjoy DVDs borrowed from Netflix. All in all, I'm extremely impressed with MythTV.

A Little DAAP Will Do Ya

I've been eyeing the Linksys NSLU2 for a little while, contemplating its use as a file server for the house. I'm attracted to the (extremely!) small form factor, the low power consumption, and the fact that Debian is fully supported on it (see Debian on the Linksys NSLU2). I'm not keen on actually buying it, though, especially since I still own a Shuttle XPS small form factor PC. I'm also worried that the NSLU2 will ultimately prove to be underpowered for my goals.

I want a low-profile file server for two basic reasons:

  1. I want to be able to keep convenient, centralized backups of the various computers in the house
  2. I want a repository of music files accessible to all computers in the house

The MVix MX-760HD can play music files but its support for playlists is extremely lacking, and it doesn't expose the collection of music to other devices on the network. So I want to move all the music from the MVix to somewhere else. The MVix could still access the music from the network server, though I doubt I'd use it much for audio playback. (Incidentally, I'm still delighted with the MVix: it's been a great addition to our entertainment center: not having to shuffle DVDs to watch some of our favorite programming is a real treat.)

Having the music files in a central location is only one piece of the solution, though. I'd like to allow all our laptops to listen to different playlists in different rooms at the same time. I suppose we could all mount a network share, and simply have our local music clients parse the share contents. That's not quite the solution I'd like to pursue, though.

I looked at the SlimServer, the script that powers the Slim Devices product line. It looks neat, and should be easy to use. There is documentation for the SlimServer on the OpenSlug firmware, so it ought to work on Debian-on-NSLU2 just as well. The comments on that page, and in some Google searches for "nslu2 slimserver" made me a little concerned about whether the NSLU2 would be up to the task of serving media. We have 8000+ MP3 files, with more CDs yet to rip. A slow media solution is probably worse than the current configuration.

A little more investigation suggested a DAAP solution, the protocol used by iTunes. There is a iTunes Server for NSLU2, which uses the mt-daap package. There is a mt-daapd package for Debian, and I quickly found a Linux.com article about mt-daapd. Since Carina has been using iTunes of late to manage and play her media, the mt-daapd solution seemed like a good choice: she could move all her media to the file server, and continue to access all of it through her preferred client. I was pleased to learn that RhythmBox, the default GNOME media player, supports DAAP, too!

So last night I installed Debian Etch onto my Shuttle XPS. I executed apt-get install mt-daapd, and was quite surprised to see "Shuttle" show up in the sidebar of RhythmBox! I moved the collection of music from the MVix to the Shuttle, and restarted the mt-daapd process, which triggered it to re-index the music collection. This took several minutes on the Shuttle -- I can only imagine it would take considerably longer on the NSLU2. Clicking "Shuttle" in my RhythmBox client showed me that more than 8,000 songs were available!

I think my worries about the speed of the NSLU2 are largely misplaced: (re-)indexing the music collection isn't an everyday occurrence, so it's not something that will hamper every day music playing. If you're using the NSLU2 with mt-daapd, do please share your experiences!