I've blogged about my Synology 1511+ NAS before and how I have added a few things to it like CrashPlan Cloud Backup and even discussed it on my podcast. When you have a headless server in your home, you're always looking for ways to utilize it.
I've long had shares like \\server\movies and \\server\photos for accessing family files from laptops around the house, as well as streaming home videos to the Xbox or PS3 via DLNA. I talk about how I streamed things in 2008 in this "Geek Developer Cribs" video.
More recently, I've tried using a Raspberry Pi as an ersatz media player along with AirPlay to throw videos from my iPhone/iPad up on the big screen.
Fast forward to 2013 and I've found Plex. It's amazing.
*pause for gravitas*
Plex is a whole ecosystem that is extremely polished, easy to setup and available on every device you'd ever want.
There are two main heavyweights in the media server space. Plex and XBMC. I've used both extensively. Plex is starting to monetize their platform while XBMC has more of a hacker/enthusiast vibe. You can accomplish most all you'd ever want with both, but at this point in my life, I'm OK with throwing a little money at the problem and I have happily given Plex my $30 for their UI polish and their new PlexPass feature that unlocks some goodies. I'm totally happy to pay a company for value and Plex provides extreme value. I'm choosing Plex.
What's Plex and Why?
So what is it? Plex is media server software that you have running all the time at home. Then, Plex is client (or clients) on your device (or devices) that you run to access your stored media. Most importantly, the killer feature is that Plex will transcode your videos depending on your device and network. That means that Plex will use the power of your server at home to dynamically squish videos so that they still play smoothly on your smart phone over 3G or your tablet over hotel Wi-Fi.
You install the Plex server on any system you have. You can run it on Windows, Mac, Linux, but that's not all. You can also put Plex on your Network Attached Storage appliance (NAS) like I have with my Synology. (For Synology systems, I strongly recommend a faster Intel machine, not the little ARM ones.)
Plex will also get art, descriptions, and generate thumbnails for your media. You might think this is a little thing but it really makes your whole setup feel more pro. It's also very clever. All you need to do is name something "title (year).ext" for movies and "show name/whatever SxEy.ext" (where x and y are season and episode) and Plex does the rest.
There are Plex clients for iOS, Android, Windows Phone 7 phones, as well as for Windows 8 and Surface. On other Macs or PCs you can use Plex Media Center, and there's also Plex for Roku, LG TVs, Samsung TVs, and Google TV. It's magical.
Here's an example screenshot of the Plex Windows 8 client:
Here's the VERY competent and recently updated web client. You can see my home movies in there with a Year filter. Here's a fishing trip from 2010.
Plex keeps track of the devices that have accessed your library. You can see some of my devices below.
Here's my home movies via the Plex iPhone app on the left, and an example screenshot showing movies on the right. You can add other "channels" for web video like CNN, Funny or Die, and more. There's even a bookmarklet you can put in your browser toolbar to add video to your queue for later. Great for those long Vimeo documentaries you'll never watch.
The PlexPass I bought adds a feature called PlexSync that squishes content on the server then transfers the custom-transcoded result to your device for offline viewing. Super useful for airplanes and offline viewing.
Accessing Media Remotely with Plex
Plex really shines when you can access all your media from a hotel on your tablet. Forward a port, publish your server with your Plex username and you're set, in theory.
Port Forwarding is a hassle, but it's part of life if you want to really exploit your home internet connection. If you can successfully forward a port (or if Plex and use UPnP to ask your router to forward it for you) then you may be able to access your home movies from afar!
Once you've logged into the MyPlex service with your username, it will keep track of your servers and devices and let you access them when you're not on your home network (not on the same subnet.)
I have an Actiontec Router, so be aware that every router is different, but the general idea is that you've got a Plex server running INSIDE your house and listening (always) on port 32400. That port - inside the house - never changes. What you want to do is to "forward" that port to some other port on the outside.
Here's what my Port Forwarding rule looks like in the list of rules. Note that this is a little confusing because I thought the arrow would point the other way, but the you would read this as "port 32400 on 192.168.1.18 is available outside at port 11366."
If you have trouble with high numbered ports, as I've heard some folks had, try mixing it up and be patient. None of the ports over 30000 worked for me but a lower number (not too low!) did work. Here's the form I filled out on my Router's admin page. Your mileage may vary, again.
Your settings are generally:
- Source Ports, ANY.
- Destination Ports, *the number you picked or that Plex picked for you*
- Forward to Port, always 32400
A common mistake is putting your custom port number in source or destination. Remember that "Source Port" is their port, not yours.
Again, for lucky folks with new routers, Plex will handle all this hole punching for you. It not, open two browsers, one for Plex and one for your router and try different values. Plex will let you know when it's "published" your server. The MyPlex service will then associate your user name with your home's IP address and port, allowing you to access your home movies when elsewhere.
I really think Plex is something special and I encourage you to think about how Plex could become a part of your media server solution. I am not affliated with Plex in any way. I just think they are the cat's pajamas.