Apple TV is a beautiful device. It’s small. It’s silent. The interface is intuitive and smooth. It streams 1080p video with ease. The remote is a sleek and stunning piece of industrial design that no other company has been able to top.
But it’s a closed off garden that forces you to either exist within the iTunes experience or GTFO. While Apple has slowly introduced third party applications for Netflix, Bloomberg and a handful of others, the tech giant has steadfastly refused to open up the device to a full app-store experience.
That sucks for a lot of people with large home media collections. A couple of years ago, I ripped all my DVDs to a 3TB hard drive to better access them an index them on the fly. I plugged that massive hard drive into a Mac Mini hooked up to my home router over WiFi and all of a sudden that whole collection was available anywhere in the house.
But, as we all know, it’s the interface that matters. Modern home media server programs like XBMC and Plex combine your personal collection of digital files with metadata pulled from the internet and auto-downloaded movie posters. They cross-reference actors, directors, trivia and genres to pull your private collection into a modern interactive cinematic experience.
Apple TV blocks those programs. Which makes a lot of people think (read: I think) that Apple TV isn’t coming close to living up to its full potential.
Thankfully, there’s now a solution. Some smart and enterprising hackers have created a way of getting Plex Media Server to work nicely with Apple TV without actually hacking the Apple TV. And it’s kind of brilliant.
The program is called PlexConnect, and here’s how you do it and how it all works (hint: this guide assumes that if you’re running Apple TV, you’re probably a mac user. If you’re a windows user most of this will work, but you may have to Google about for a more specific guide):
How it works:
It all comes down to the magic of DNS. Think of DNS as the card catalogue of the internet. When you type in Facebook.com, you never actually go straight to Facebook.com. Instead, your web browser contacts a DNS registry and says “Hey – where’s Facebook.com at these days?” Then the DNS registry replies with an IP address for the server: “Facebook.com is at 69.63.176.13″
That string of numbers is the numerical address that computers know. Facebook.com is what humans know. The intermediary that makes this translation is known as DNS.
This comes into play with PlexConnect because at its core, PlexConnect hijacks the Apple TV’s DNS request.
Once you have the program up and running, PlexConnect will hijack all requests from Apple TV for http://trailers.apple.com and, instead of sending a reply from Apple, will divert the signal to your media server. This means you can click on the “Trailers” application on your Apple TV but, instead of seeing all the latest trailers, you’ll see your own enormous private movie collection courtesy of PlexConnect.
How to get it set up:
STEP 1
You need to install Github on your machine. Github is, at its core, a version control system for programmers. But it’s also an enormous repository of software that people have chosen to make available to the wider Github community. Most of it is early stages, proof of concept or random hacks. But some of it is solid gold.
Got here. Signup for a free account. Download the install package. Install Github.
STEP 2
Download Plex Media Server. Then open the program and go through the set up process to index your media. Tell it where you keep all your movies. Tell it where you keep all your TV shows. The walk-through for this process is pretty good. Plex Media Server is a very intuitive program so you shouldn’t have any trouble. If you do, go to the Plex Media Server forums where there’s a robust community of people willing to help out.
Just FYI, once Plex starts indexing your collection it can take some time. You might want to go make yourself a cup of tea, do some laundry, or conquer Rome and come back to check up on it. It took just under an hour to fully index, download metadata and otherwise prepare my 2.5 TB collection.
STEP 3
Give your media server a static IP address.
Now that you have Github installed and you’ve indexed your collection with Plex, it’s time to prepare your computer act as a designated media server. This means giving it a static IP address.
For most of us, our router (where your WiFi comes from) designates each of the devices in our homes an IP address as it deems appropriate. Most of the time, that’s good enough. But, for reasons we’ll get into shortly, your computer hosting your Plex Media Server must have a static (always the same) IP address.
Go to System Settings –> Network –> Advanced –> and change the IP settings from “automatic” to “Manual.” In the empty space it then provides, type: 192.168.0.154 (that last number can be anything between 0 and 155. Just remember which number you chose).
STEP 4
Now you’re ready to install PlexConnect. Because PlexConnect is a hacker project and not a finely tuned user-ready product, you’re about to dive into the terminal of your computer. This is the command line. You can use a Spotlight search (in the top right corner of your desktop) to find “Terminal” or you can simply open it from the applications folder.
In the terminal window that opens, type:
git clone https://github.com/iBaa/PlexConnect.git
You will likely have to type your administrator password to get it to install. That’s ok.
You now have PlexConnect on your computer. Congratulations!
STEP 5
Set up PlexConnect.
There is a great guide written by the people behind PlexConnect here, which outlines how to get PlexConnect up and running every time you boot your computer. But to run the program without that setup, you’ll have to enter the terminal every time (hint: It’s easiest to just set it running once and then leave it on all the time. There’s no real reason to turn it off unless you need to fix something).
In terminal, type:
cd PlexConnect
sudo PlexConnect.py
It will ask for your administrator password and begin running.
STEP 6
Get the security up and running.
PlexConnect uses the Apple TV trailers app to do its thing. The trailers app, though, uses a secure protocol that requires a certificate to prove authenticity of the signal. We have to create that certificate in order for the security settings on Apple TV to work properly.
Follow each of the steps at this link to generate the certificates on your computer running Plex Media Server.
Once the certificates are in their proper folder, move over to your Apple TV. You’re almost done.
STEP 7
On your Apple TV, head into the settings and go to Network. Choose your WiFi. Now edit the “DNS” line. Enter the DNS IP address as that of your computer running PlexConnect. It will send all of its web traffic through your computer from now on. Earlier, we suggested that your computer’s IP should be 192.168.0.154.
Now, get your Apple TV to recognize the security certificate we set up for it in the previous step.
In the Apple TV settings menu, go to “General” and then to “Send Data To Apple.” Set that option to “no.” Then, with “Send Data To Apple” highlighted, press “play” on the Apple Remote (not the normal “Select” button in the middle of the remote) and that will open the “profile” screen.
On that screen, enter the web address http://trailers.apple.com/trailers.cer
STEP 8
You’ve now set up your computer as a home server. You’ve told Apple TV to listen to that server. You have the security certificate to make it all legitimate. You’re ready to test it out.
Go to the Apple TV main screen and open the Trailers app. If everything worked out as it should, you should see your Plex library display instead of the normal Trailers library. Congratulations!
If you’ve run into a bug, as a few people do depending on their computer setup, head to the PlexConnect forums where a ton of users will likely have encountered, and solved, your precise problem. Listen to their wise words and they will lead you from the darkness.
PlexConnect pushing my home media library to an Apple TV.