Finding a video streaming solution that does transcoding is tough enough, but trying to find one solution that’ll work for both iOS and Android makes it even harder. Thankfully we have Plex, which does all of this and more.
Plex Media Server
Plex Media Server is an application based off of XBMC that’s primarily built for Mac OS X. It works in two parts: a server app on your desktop and a client app for your mobile device. Plex has been around for a while and even has some awesome plug-ins available. Fortunately for us, the developers made a Windows version that’s pretty wholesome, and there’s even a Linux beta currently in the works and available for download. The Mac OS X version is the definitely the most fully featured, allowing pictures, video, music, and tons of plugins – life Netflix and Hulu – to be streamed to your devices. The Windows version is pretty polished, but doesn’t support Flash/Silverlight plug-ins – no Netflix or Hulu, here. The Linux version is definitely beta – fewer options, no Netflix/Hulu, and the management interface can be really slow – but transcoding and streaming work well on both iOS and Android. Choose the appropriate link below, download the app, and give it quick install.
- Mac OS X
- Linux (Beta)
Installation on Mac OS and Windows is straight-forward and easy. On Windows, it will automatically install Bonjour to enable automatic discovery. If you’re using the Linux beta, make sure you have Avahi installed, then look at the two links below to help get you set up.
Next, buy the iOS and/or Android client applications.
The server software is free, but the client software is $4.99. Niche markets have a price, but thankfully this is one is pretty reasonable.
Make sure Plex Media Server is running – you should see an icon in the your system tray if it is – open up your web browser of choice and point the URL to:
Click on Preferences in the top right corner.
First and foremost, let’s give our server instance a name. Then, you can decide on whether or not you’d like to send anonymous usage data back to Plex for analysis. If you’re a little self-conscious, you can uncheck this box. Then, hit Security.
If you want the server to require a username and password for access, check the box. You can then change the username from the default “Administrator” and set a password. The next time you try to manage Plex, you’ll see a logon screen like this:
Plex is pretty straightforward and takes care of things on its own. Feel free to poke around the options, but there’s really not much else you need to do. Click “Done” when you’re finished.
If you want to access Plex via your mobile data connection while out and about, be sure to forward port 32400 in your router’s settings.
Plex is pretty heavily predicated on scraping databases to find proper metadata for you. While everything should work regardless, if you want proper data and pics you’ll need a pretty specific directory structure. You can read more about it in the Wiki’s Getting Started page. That being said, I decided not to rename everything and leave things as they were without really any problems. The big caveat is that if you want to point Plex towards a TV show, you’ll need to do it in a specific way.
Z:\video\tvshows\Samurai Champloo\Season 1\video files……
For example, if I want Plex to pick up Samurai Champloo and the files are in the directory structure above, I need to point it to the “Samurai Champloo” folder. If I tell Plex the files are in “Season 1” I won’t get anything. This is important but only applies for TV shows; Music and Movies work fine without this extra folder in the middle.
Flip back to your web browser and click on the little plus sign in the bottom left area of the management screen.
Start by telling Plex what type of media you want to configure, then you can give the category a friendly name. Once you’ve done that, click on the little plus sign to add a folder.
You can navigate as you like, or click Manual Entry to put in the path yourself.
Samba shares work fine, and in Windows you would enter the path in the format below:
Click OK when you’re done, then click Add Section to do just that. You’ll see added sections in the left pane of the web interface, and you can navigate through them on the right.
iOS and Android
Now that we have the server up and running, we can configure the clients on your devices. Configuration is largely the same on both, but I’ll go through it with iOS first.
Open up the Plex app, and tap on Settings.
Make sure “Find Nearby Server” is on and yours should pop up without a problem provided that you’re connected to your own network. If you need to, you can also add a new server manually.
Give your manual entry a Friendly Name, and tap on Add a new connection…
You can enter a specific IP address and port number. Leaving it blank will use the default Plex option, 32400. Tap Save when you’re finished.
You can enter a username and password below the listed connections if you need to, otherwise tap Save again. You’ll be back at the Settings pane.
Make sure your server is selected by looking for a bold dot next to it.
Back out and tap on Library when you’re done to view the files you have listed, and tap on a file to start streaming it.
On Android, everything works much the same, except to get the settings, you’ll need to press the Menu button first.
Tap on Settings.
As you can see, it’s pretty much identical to the iOS app and easy enough to configure. And the mobile clients work with plug-ins, too!
Plex helps take a lot of work out of management by automatically getting the proper metadata and screens and the like, but you may have to tweak your configuration and folder structure to get the full benefit. For streaming, though, it works well and transcodes properly no matter what device you’re on and regardless of what format you’re throwing at it. It also is the only application that works with both iOS and Android devices. It’s still a little rough around the edges on Windows, but it looks very promising, especially considering it has Linux support.
Have you used Plex? Do you use something better? Share your thoughts or suggest better alternatives in the comments!