Sunday, July 12, 2009

The AppleTV Experiment Continued

It’s no secret that the AppleTV, just a pet project by Apple, has some drawbacks.  It’s got some pretty unimpressive hardware specs, it’s not compatible with a lot of file formats, and the little remote can be a pain to use.  Fortunately, I’ve spent the last few weeks tweaking and hacking the system to make it quite usable and powerful.  The Playstation 3 is still around obviously for games, bluray, and DVD discs, but in every other area, we’ve switched over to the AppleTV and it’s been great.  I bought the AppleTV because I knew it had potential, and it was pretty cheap.  Sure, a mac mini can do anything the AppleTV can do without much of the hacking, but it still doesn’t play Bluray and it costs at least twice as much.  So how did I overcome the AppleTV’s shortcomings and just how awesome is it?

The first step in the AppleTV’s new life was to create the USB Patchstick and boot the AppleTV up with it.  This installs several useful tools, such as XBox Media Center, Boxee, and SSH (dropbear).  I already went over XBMC and Boxee in the last post, but it was extremely helpful for the patchstick to install SSH for me, as being able to access the AppleTV’s command line paved the way for the rest of the “upgrades”.

With XMBC, I could now play all the video files on my computer like I did before with the PS3.  But I figured I have 40gb of wasted space sitting here on the AppleTV if all I’m going to do is stream video.  Wouldn’t it be nice to have some TV eps or movies available to be played without having my desktop powered on all the time?  Sure, at this point is was possible to copy files to the AppleTV’s hard drive with the scp or ftp command, but that’s not exactly user-friendly, or fast.  I should install Samba service!  There is a nice walkthrough here, which is pretty much what I did.  It still needed some work with the config file but after a night of messing with it I was able to finally connect to the AppleTV’s hard drive, easily drag and drop a file into its Movies folder, and watch it without needing my desktop anymore.  It’s pretty cool to have it just working by itself now…

But it didn’t stay that way for long.  Now, the AppleTV isn’t really like a desktop computer that gets turned off or put to sleep when you’re done.  It’s more like a server, which stays on all the time.  The only way to turn it off (other than the console), is to unplug it.  If this thing is going to be on all the time, eating my power, shouldn’t it be doing something?  Enter rtorrent.  rtorrent is an awesome unix torrent downloading program that uses little system resources and is really simple to use.  You set it up to monitor a folder, and whenever it sees a new torrent file there it will start to download.  When it’s done it will delete the torrent file and move the downloaded video to your Movies directory for you.  This way it just downloads for me all the time until shows are ready and they just pop up ready and waiting for me when they complete.  And with the easy-to-use samba service, Alison or I can just drop a torrent file into the AppleTV’s folder and forget about it until it’s ready.

And for a few days the AppleTV was set in its ways, but isn’t it so much work to download and look for torrent files yourself?  Why do all that when the computer can do it for you!  I knew I was so close now to having a Tivo-like setup.  How nice would it be to come home after work and find new episodes of your shows waiting for you?  Ludicrous, I know!  For this I turned to rssdler.  Rssdler can scan an rss feed and look for whatever Regular Expression guidelines you give it.  It’s a pretty nifty thing, but it’s a python script and so I had to figure out how to install python first.  Getting rssdler to work took the longest time of anything I did to the AppleTV, about an entire week of messing with it.  Python didn’t give me too much trouble, but the rssdler wouldn’t work and I still don’t remember exactly why, but it was essentially due to a space character in one of the files.  Grrrr unix…  Also had lots of permission issues and it sure doesn’t like to be run as root.  Rssdler works when it wants to.  I still have to check up on it a lot these days..

One of the biggest gripes I had with the new system was that damn little white remote.  It doesn’t have a lot of features, and I lose it all the time.  I carry it around the apartment for no reason and forget where I leave it.  Then it’s hard to find because it’s so small.  Plus, 3 remotes now for the system?  I stumbled upon a solution in the MacRumors forums.  A universal remote by Logitech, the Harmony 550.  Unlike most shitty universal remotes where one or two buttons might work, this remote plugs into your computer and downloads all the instructions off the internets from Logitech.  The remote actually does change the way you watch your TV.  I can press the LCD Button “Watch TV” and it’ll turn on the TV and the stereo, set the stereo to Aux, switch to the right TV inputs, and even go to your favorite channel.  Press “AppleTV” and it’ll do the same, switching to the AppleTV input.  It even turns off unnecessary equipment.  Now we are back to one remote and it’s even easier than before to use.  The harmony retails around $90-120, but I got it refurbished off Amazon for $55.  I totally recommend the Harmony series universal remote to anyone.

Now the AppleTV is great at downloading shows and stuff for me, but all these videos are taking up room on the puny 40gb internal hard drive!  It would be great to just be able to plug an external drive into the USB port on the AppleTV, but since that would actually be useful, Apple says no.  But I got another idea.  My Airport Extreme wireless base station has a USB port for sharing printers and external hard drives over the network.  Acting as a little NAS server, it was fairly simple to plug in an external USB SATA drive into the wireless station.  I got a 1.5 TB Hard Disk from Fry’s and started moving all the video over to it.  It’s great because now all the files are available to all computers on the network, including the TV without my computer needing to be on.  View the TV network diagram.

With the Harmony remote making the experience so much easier, the external drive storing everything and anything, and rssdler turning the AppleTV into a Tivo, I am definately happy I got it.  It’s a lot easier to use than the PS3, much quieter, and more flexible.  But I’m still not done yet!  What’s on the horizon for the little overworked, underpaid 1GHz HTPC?  Well since it’s always on, I’ve written a little cron job (and installed cron) that updates my site with my home ip address.  With this I will be able to log in remotely (say during an overnight at a hotel) and maybe start a download, get around crappy hotel wireless plans by tunneling through SSH, remote start my desktop, etc…who knows..  Also planning on trying wtorrent, which gives a web client to rtorrent which would make it easier to see the status of current downloads.  And lastly, it would be nice to have the option to download straight to the external hard drive for some of those larger files.  I’m always thinking of more I can do with it, which is awesome.  I knew it had lots of potential!

Posted by eclipse on 07/12/2009 at 10:08 PM
TechApple • (1) CommentLink to this entry