Apple TV

Another device and I will be an Apple fanboy...

I picked up an Apple TV (the 40GB one) as I had a rewiring session last night (until about 2am).  I have narrowed my audio/video system down to:

  1. TV
  2. Sony Reciver
  3. DVD Player
  4. Comcast Cable Box
  5. xBox (running XBMC)

All the above work great- save I do not have a way to play my HD content located on my server.  I have been attempting (in vain) to get a working copy of LinuxMCE working- but I have been thwarted at every attempt (HMDI frequency out of range after reboot, ATI video not supported, etc). 

I did a little research on the Apple TV and found that it is pretty hackable (good sites are http://www.awkwardtv.org/ and http://www.appletvhacks.net/) and it supports 720p/1080i via HDMI or component output.  By design it only supports media that can be streamed/synched from a system running iTunes- but underneath it iall s essentially a fairly decent computer with a BSD operating system.

Out of the box, the Apple TV is fucking incredible: I may sound like a simpleton when I rave about the photo screen saver, but once you see dozens of your pictures scrolling by in layers and then doing a 180 degree spin you will see what I mean- Wow... Just, wow...  The interface is clean and very intuitive; and everything works as it should.  While listening to music the album art flips around every 30 seconds or so (to prevent plasma TV burn-in?) before the screen saver takes over.  It plays my video podcasts on my TV- nice!


The first trick is modifying the Apple TV (without actually opening it up) is finding a product called 'Patchstick' (check a bittorrent search sites).  This is an IMG file that can be copied to a USB drive (512MB or larger) that holds a bootable OS; its sole purpose is to enable SSH on the Apple TV. 

This part was actually a little difficult as I had to learn the 'dd' command:

dd if=patchstick.img of=/dev/sdb1 bs=1m

Now if this was all I had to do then it would be wonderful- but the instructions were written for the OS X environment and changing '1m' to '1M' doesn't seem to work in Ubuntu.  After three failed attempts, I downloaded the windows version of dd and created the patchstick with no further issues.

I inserted the (built in Windows and verified in Ubuntu) USB drive in the Apple TV rebooted it while holding down the 'menu' and '-' keys on the remote -to force the Apple TV to boot from USB (I held it for a full 5 minutes before giving up- and then it started to boot from the USB drive!).  It run, throws a few errors (normal) and I was told to reboot.  This enables SSH (and SCP).


After SSH was up and running, I connected via Putty and then transferred a program called NitoTV over via WinSCP.  NitoTV is a customized version of MPlayer that integrates into the AppleTV menu (as another menu item called nitoTV).  There is an automated installer, but I couldn't get it to work (probably Execute was off or it needed to run as root), so I did a CAT of the ./installme file and did a manual install:

-bash-2.05b$ pwd

-bash-2.05b$ sudo /Users/frontrow/Downloads/nitoTV/installme
sudo: /Users/frontrow/Downloads/nitoTV/installme: command not found

-bash-2.05b$ sudo mount -uw /

-bash-2.05b$ installer -pkg nitoTV.pkg -target /

installer: Package name is nitoTV 0.2.5b8
installer: Installing onto volume mounted at /.
installer: The install was successful.
installer: The install requires restarting now.

-bash-2.05b$ sudo mount -ur /

-bash-2.05b$ sudo reboot


There is also an application autoloader that simplifies other processes- and I still need to setup SMBFS on the Apple TV to be able to access my SMB shares...

No comments:

Post a Comment