*It is extremely important to be completely familiar with this material, the process, and the required software/resources needed to execute it properly before trying. As far as they go, this one is fairly long and complex. I have written this as simply as possible for someone who knows what they are doing. Remember that if at anytime you bork your AppleTV you can reboot it and hold MENU and – at the same time to do a factory restore*
What a typical day to take on a complex hacking project. I sat down, prepped, and put about an hour into this project. You know, just enough time to become fully committed when my kids begin bouncing between all out fighting as loud as they can and pounding on the piano. To add to the distraction, my wife needs me to help her move furniture so she can paint the laundry room, and in the midst of all of that, I screw up the hack and now my AppleTV boots into a black screen.
To recap progress thus far, the house is crazy and upside down, everyone needs something from me, and the AppleTV is FUBAR. Lets reset.
It wasn’t all that long ago that we used an Apple TV in our living room as the main source of on demand content. That is, until recently when I renovated our dining room into a Mac Mini driven Home Theater. Once the theater was complete, I found that the Apple TV in the living room began to slowly spiral into obsoleteness. Its not that we don’t watch TV in the living room anymore, its that we stopped watching downloaded content. Since AppleTV requires that all its content be MP4 and synced via an open iTunes library, I was previously converting every AVI/MKV/WMV/etc. etc. to MP4 before we could watch it. This was such a monumental pain in the ass that once we got Plex up and running on the Mac Mini, I just couldn’t bring myself to continue converting the content for the living room.
The goal of this post is to pass on the process I used to allow all other media containers rather than just quicktime to be played on an AppleTV without having to load Boxee and XBMC which simply do not perform on the AppleTVs hardware. Now, lets get dirty:
2.) Find yourself a USB Key (henceforth known as patch stick), back up any data you have on it as it will be erased, and run the program.
3.) You can unselect Boxee/XBMC at this point if you want, or install them. It doesn’t hurt to go ahead and load them up. I personally think they perform poorly on the AppleTV, but I encourage everyone to come to their own conclusions. We are mostly after the Software Menu and SSH tools.
4.) Now, run the patchstick creator, plug it into your AppleTV, and reboot. Once the loader is complete you need to pull the Patchstick out, and reboot the AppleTV one more time.
5.) You will notice now that your AppleTV is back online that the menu on the far left is “Software Menu” Browse over there and click on “3rd Party”. In the “3rd Party Menu” go down to “Check for Updates” and run it. After the update runs you should see a whole list of 3rd party plug ins. If not, see step 5a below, otherwise, at this point I am only installing “NitoTV”. There are also options to add Couch Surfer to surfing the web, and emulator program to play old console games, and many other plugs ins. There is also an option for ATVFiles, but I MUST WARN that both times I installed ATVFiles, my screen went black on the AppleTV after a reboot. I could hear the menu selections but the screen was black. The only way to fix this problem was to SSH to the Apple TV and remove the following directory via delete:
/System/Library/CoreServices/Finder.app/Contents/PlugIns/ATVFiles.frappliance.
5a.) You ran the 3rd party sofware installer and didn’t have NitoTV appear. Click this link to go to the download page and get the direct download for AppleTVs latest build. The install instructions will be included in the download and simply require you to copy the contents of the download to the root of Users/frontrow on your AppleTV and then execute a terminal command to install it.
http://wiki.awkwardtv.org/wiki/NitoTV_Take_2
6.) Okay, so your hacked with NitoTV running. Now its time to setup install the AFP server so that we can browse network shares and start watching custom content.
Of course, at this point, we have a little problem… we need to get AFP up and running on the AppleTV so we can browse out to network shares for our content and use our external HDDs via the USB cable. Here comes the painful part.
7.) At this point, if you have an AppleTV that was made prior to October 2007 (Version 1.0) your good. Skip to step 12 and give yourself a big thumbs up because your very fortunate. For the rest of us, your going to need to turn up an AppleTV 1.0 Image. I am not going into any details than that, but without that image, your not going to get AFP to work. The steps from this point assume you have the proper OS.DMG file.
8.) Alright now, its time for a touch of voodoo. SSH to your AppleTV. Your going to need its IP address and an SFTP client like Cyberduck. However, before we use the client, the Terminal will get us going. Open up Terminal and type in SSH frontrow@your.appletvs.IPaddress You will then be prompted for a password, again, type in frontrow at this point your in. Now to make a recovery.dmg file.
9.) From the terminal, copy this line: sudo dd if=/dev/disk0s2 of=recovery.dmg bs=1m
10.) With that done, open Cyberduck and create a connection to your AppleTV using the information we used in Step 8. Once connected, browse to the users/frontrow directory and drag the “Recovery.dmg” file to your desktop.
11.) Stay with me here, lets open up “Recovery.DMG” and find a file called “OS.DMG”. This file needs to be deleted, and the file you got from the internet needs to be put in its place. (may be necessary to rename the file to OS.DMG if it has some odd name like OS-DOT-DMG.dmg or something like that) with that complete, copy the modified Recovery.dmg to the /Users/Frontrow/Documents folder on the AppleTV via cyberduck and then head back to the AppleTV.
12.) From the AppleTV, browse over to NitoTV and then down to Settings. From there you want to find and run the “Smart Installer”. This will take a while, don’t fret. Once this is done, it may say “Failed… Partial install”, but disregard. Go ahead and reboot the AppleTV.
13.) At this point you are good to Share the folders you want your AppleTV to be able to access on your remote Mac and the got to NitoTV -> Network and setup access to them.
Now thats it, your AppleTV is streaming content from any of the popular containers without the need to run a cumbersome and poorly executed program like Boxee to do so.