Building a silent media player from an original first generation Apple TV
The original Apple TV (ATV) never really made sense to me as a retail product. It was too expensive, had too many moving parts and it could only play media from Apple. I actually bought one years ago when they first came out but I quickly returned it when I realized that it could not play the high definition MKV files (h.264) that I typically use. My attitude changed however when a few enterprising developers built a new Linux back-end specifically for the ATV and coupled it with he Broadcom CrystalHD decoder. The result is a simple to use media center that runs XBMC and can play just about any video file I can throw at it. There are plenty of guides out there to install the CrysatlHD board and get up and running, but I specifically wanted a silent media center that would pull all of its content from a shared folder on my Synology NAS.
So, if you are like me and your goal is to have an inexpensive, low power and silent set top box that can instantly stream lots of different kinds of media files from either a computer or a NAS device somewhere on your network, keep reading!
Video – What is Crystalbuntu??
Some Background – What is an AppleTV, a CrystastalHD card Crystalbuntu and XBMC??
The Apple TV was Apple’s first attempt at getting iTunes into the living room and is basically a very small computer. It has an Intel 1Ghz Pentium “M” CPU, 256MB of RAM soldered onto the motherboard along with a low end nVidia Geforce GO 7300 GPU with 64MB or VRAM. This is just enough horsepower to play Xvid/Divx movies in standard definition, or some very specific H.264 (MKV/MP4) movies that just happen to conform to the iTunes specs.
Like I said above, its just enough to let you watch iTunes in the living room and play some music, but nothing else really. The ATV is no longer being sold new as it was replaced by a very nice second generation unit (also capable of running XBMC, but it has some shortcomings) but the original ATV can still be found on eBay and Craigslist for less then $100.
The Brodcom CrystalHD board, specifically the BCM70015 model is a Mini PCI card that is able to add hardware decoding for a bunch of video formats. Its actually designed for things like netbooks and other small computers that that have slow processors and are thus not able to play HD video without some help. The card does one thing and one thing only, when properly installed with the correct drivers, software video players may use it to decode video files without bogging down the CPU on the computer.
It just so happens that the AppleTV is exactly the kind of low end computer that the CrystalHD was designed for. The trick is that you need to first install the hardware and then configure the drivers and software before it will actually do anything. Again, there are other ways to do this than installing Linux, but for the very best performance, Linux is the way to go!
Crystalbuntu refers to running the Ubuntu OS pre-loaded with the CrystalHD drivers on an AppleTV. There are a number of ways to do this, but the easiest way is to use a tool built by Sam Nazarko called (intuitively enough) “CrystalHD for AppleTV.” Sam’s tool will take an existing 4GB (or larger) thumb-drive and turn it into a bootable Linux disk that can be used by the Apple TV. By making a few modifications to the drive after running Sam’s tool we can take this a step farther and remove all of the moving parts from inside the ATV to create what may be the best media player available today… For about $150 and in about an hour.
Sam’s tool will install what is commonly refereed to as “Sam’s Image” on your thumb drive. The image consists of four partitions including the Apple “recovery” partition and a Linux swap file. The rest of the disk is dedicated to a pre-configured installation of Ubuntu Linux 8.04 along with some scripts that will automatically setup XBMC and the CrystalHD drivers upon first boot. Its really cool stuff!
If you want to try Crystalbuntu without removing your hard drive and fan, just run Sam’s tool and plug in your Thumb-drive to the AppleTV. Booting to Crustalbuntu will in no way effect your existing AppleTV hard drive so thee is no risk. Unfortunately, there is also little point to running crystalbuntu until you have installed a CrystalHD card, and if you’re going to rip the bottom off your AppleTV, why not go all the way and make it silent too!
XBMC is an application origionally developed as the “X-Box Media center” and designed to play media files from an X-Box. Over time XBMC evolved into a robust PC application for use with Windows, Apple and Linux. Today, XBMC is one of the best “front ends” available for an HTPC (home theater PC) and has also been ported as an application for jailbroken AppleTVs (first and second generation.)
The first generation AppleTV is basically a purpose built and low end HTPC, but when combined with Linux and the CrystalHD adapter, it becomes a very powerful device that XBMC can take full advantage of!
A NAS device refers to “Network Attached Storage” and is basically a small, low power purpose built PC that serves a single purpose; make the contents of its hard drive available to the network. Think of an external USB hard drive that plugs directly into your network without the need for a PC attached to it. In my case I use a Synology DS110J with a single 2TB hard drive. The NAS costs about $100 and the drive is about $75 and this investment allows me to “share” about 1.8TB of storage on my network at all times without the need for a server or PC running. The Synology NAS actually runs an embedded version of Linux and will allow me to do some other cool things (like run MySQL to share my XBMC database to all my media player… More on that later…)
This Guide will walk you through everything you need to do to take an old AppleTV and turn it into a totally silent, network media player running XBMC using Sam’s Crystalbuntu image.
What you need:
|An apple TV (Original First Generation, not the new “black” ATV2)|
|a USB Key (4GB or 8GB recommended)
I use a cheap Kingston DataTraveler 4GB
|A Broadcom CrystalHD BCM70015 card
NOT the BCM70012. It will work, but not as well… Trust me, I have both…
|Media files shared on the network
I use a Synology DS110j NAS device with a 2TB drive
What Next? Go on to Part 2 – Configure the Thumbdrive