Monday, March 16, 2009

A Media Center in the Living Room: Part 1 "Zero Dollars"

After using Plex, Boxee, and XBMC on my MacbookPro for a couple weeks, I realized I wanted my video player permanently in the living room.

I have a lot of computer parts in the office, so I thought I could build a standalone media center that could play podcasts, DVDs, and eventually HD content (when I get a TV).

The Goals:
Spend Nothing.
2009 is still off to a very rocky start, so I can't justify any real expenditure on something for the living room when I can already watch this content on the laptop.

Install all the software without using the command-line interface.
While I normally just log in as root and manually edit all my config files, I wanted to see if it's possible for a "normal" person to install and configure the needed software using only the GUI.

Living Room Experience.
I don't just want to put a PC in the living room.
The desktop metaphor isn't appropriate when sitting across the room from the screen.
Since I like Plex, I'm going to attempt to install XBMC (Plex is an XBMC fork) with the MediaStream skin. (Plex is based on the MediaStream skin.)


The Build

Hardware:
Digging through the office, here's what I cobbled together:
  • Biostar m7ncg 400 with a Sempron 2400
  • 2 sticks of RAM
  • Lite On CD drive
  • 350 watt power supply
  • Linksys WUSB300N USB Wifi adapter
  • PS/2 keyboard
  • 30 gB Western Digital IDE drive.
  • Microsoft USB notebook mouse
  • mini-plug to RCA stereo cable
The Biostar was already in my server rack, so I skipped hooking up the peripherals before starting the software installs.

Software:
A very simple way to get a media center working is to just run Vista Ultimate. However, with my budget of zero dollars, that's not an option for this project. Apple's Front Row also works very nicely. Again, way outside the budget.

So it's going to be some flavor of linux or freebsd...
Ubuntu has a very active community and is well supported. It probably has the best chance of completing the project using only the GUI.

I downloaded the latest ("Intrepid Ibex") Ubuntu CD image and burned it to a physical CD using the Macbook.
A quick BIOS change to allow booting from the CD drive, and the Ubuntu installer was off and running.
I had to go to the command line a couple times to get networking and video working.
This was certainly due to the fact that my server rack is not a normal "desktop" environment (unusual network zones and keyboard/monitor switcher).
So I pulled the machine out, set up a normal case, hooked up it's own keyboard/monitor/mouse and plopped it on my "office" network zone.

Second attempt went flawlessly using only the on-screen prompts and GUI.

So now I had a 6-year-old CPU running the latest Ubuntu. No wireless or media center software yet, and performance was really poor.
Time to install some software packages!

The Ubuntu desktop includes the Synaptic Package Manager. This was my first experience with a graphical package manager, and it seems to work just fine.
From the regular repository, I installed
  • NVIDIA drivers
  • ndiswrapper-common, ndisgtk, and ndiswrapper-utils-1.9
  • xbmc

The updated video drivers drastically improved performance.

I've always been a little leery of "ndiswrapper" wifi wrapper stuff because it seems crazy. How can you get Windows drivers to work on a non-Windows OS?
My fears were unfounded: Installation and configuration were a snap.

XBMC crashed my audio system whenever I hit right-arrow to fast-forward. Somehow, a fairly broken version was released as the "stable" build. Skip installing this version and go directly to the xbmc sources.

You can find more up-to-date XBMC sources at http://xbmc.org/forum/showthread.php?p=185738
Just cut & paste the deb:// lines from this page into a new source using Synaptic.
I installed xbmc, the Supported Scripts, and the MediaStream skin.

NOTE: Unless you set up the keys for these package sources, Synaptic is going to whine every time you update. The sources page also contains a link to information on setting up the keys, but if that seems too complicated, you can get by without it.


XMBC is now working!
But there are some weird bars and shadows drawing over the video content when I switch to full screen.

A web search reveals that I need to turn off desktop effects.

System::Preferences::Appearance then select the "Visual Effects" tab.

Set the Effect to "None."
Now XBMC works fine in full-screen.



Now we're getting somewhere!
A wireless box that can browse and play media.

After moving the box to the living room, I just needed a few more things to complete this phase of the project.
  • Used the RCA adapter to hook up the sound to the stereo.
  • Downloaded an iPhone application to remotely control the system. There are a number of these apps - I went with a free one, of course.

So now I have a video player in the living room. It plays all of my standard-def content just fine, but it just doesn't have the juice to show HD content.
Now, I can crash on the couch and watch Firefly!

In the next installment, I'll discuss how the current build performs, spend a few dollars on hardware upgrades and fine-tune the software.

Next steps (as budget allows):
  • Get a "real" remote control
  • Upgrade the audio path to optical
  • Install a DVD drive
  • Show and record over-the-air programming
  • Pump out smooth 1080p on an HDMI port
Part 2: Local and Remote

Technorati Tags: , , , ,

No comments:

Post a Comment

Please leave your comment here.