Plex Media Server
Over the last decade and half I have moved between various platforms to manage the digital media I have. First it was simple folders in an external hard drive to store all the movies, tv shows, music, pictures and home videos I had. The media would be ripped from optical disks I owned using software I described here. Later, I graduated to categorizing and storing all the digital content in my home with Zune, then to Windows Media Server so that I can share it to my XBOX and other devices in the home. After this was moving everything to Apple iTunes so that all the iDevices like iPad, iPhone & Apple TV in the house can access the content and Windows PCs using iTunes for Windows; Photos management and sharing itself was a difficult task by itself. In between these, I bough Logitech Slimbox, Google TV, etc. which were total waste of money.
After many such short lived attempts to tame my ever growing media pile, I have found a solution 2 years back that has been working very well for me and the easiest to use. It is called Plex Media Server, which is free for most usage scenarios with portions of it even made open source by the developers. There is an alternative to Plex and it’s called Kodi (formerly XBMC) which is completely open source and free, but I have not tried it as I got comfortable with Plex.
Plex has two components:
- The first is called Plex Media Server (the host) that you install in a device (typically a PC or Mac but you can install it in many IoT and NAS devices as well). This is where you store the media files you own like the movies, pictures and music. You simply create folders for each and add them to Plex. Plex will automatically crawl the folder for new files, identify them with the help of online directories like TheMovieDB, Rotten Tomatoes and Gracenote. If you spend a bit of effort to name the files properly as per the guidelines for movies, tv shows and music, Plex will download all the meta data and cover image for the files making it visually easier for you to discover content when you are trying to play them.
- The second part is called Plex apps (the client) that you install in the devices you want to play the content on. These apps are available for a wide range of devices including Windows, Mac OS X, Android, iOS, Roku, XBOX, PlayStation and more. Please note apart from using these native apps Plex content can be played from any web browser as well making it super easy to access all the stored media. Plex Media Server takes care of automatically converting the media files to formats that are supported by the device, so no more video/audio encoding conversions. Using the built-in sync features you can keep an offline copy of selected files in the local device for quicker access as well.
As you are accessing content and playing them between the devices Plex Server remembers your last played content and position so that it’s easy to continue watching from whatever device you have on-hand. You can access and configure all settings of Plex Media Server from it’s browser interface by going to Plex.TV/Web and logging with your Plex.TV account or using the local URL of your Plex Server. If enabled, you can access your media library in Plex Server even from outside your home through it’s Remote Access; this won’t work if your ISP is already using a NAT IP. In recent version of Plex they have added supported to get around this using an option called Cloud Sync. A detailed step by step guide for setting up Plex is here.
Two “free” programs (open source) I find useful along with Plex are HandBrake (to rip movies from DVDs to MP4/MKV files) and FileBot to rename files properly. Stay away from hundreds of programs which advertise to do similar tasks but are mostly crap and have adwares included in them.
Since I like Plex a lot, I have paid for their lifetime PlexPass which gives me the mobile apps for free and more features in the client side.
At home the setup I have been using for last two years as my Plex Media Server is an old PC that I upgraded (Core i5, 16GB, 1 TB HDD, 2 x 3 TB HDD); recently this machine started to crash frequently due to a disk controller problem. Instead of spending to repair it (change the motherboard) I decided to move my 5 year old iMac for that role and look out to buy a new PC for home. Repurposing my iMac as Plex server was super easy, I just all the apps I won’t be needing like Microsoft Office and then installing Plex Server for iMac, then copying the media files from the old PC through network. Instead of restoring the backup of configuration files I decided to do a clean Plex server install in Mac, map the folders containing media files and then had Plex crawl the contents; in few places like in Home Videos and old Indian music I had to manually enter the details and give it the cover images.
The iMac I have is a 21.5 inches mid 2011 model having a Core i5 2.7Ghz, 8GB DDR3 & 250GB SSD. I am using two external hard drives – the first is a Thunderbolt based Western Digital 1TB for storing my local data and iTunes/iPhotos which I am using to buy from iTunes store; the second is a USB based Western Digital 2TB for storing all the media files used by Plex Server. The 250GB SSD running Mac OS X and 1TB with the data files are backed up automatically by a 3TB Apple Time Capsule device as seen below.
To backup your Plex Media Server you can follow the instructions here to copy the configuration files and include the actual folders where you have the media files stored as well. A Quick ‘n’ Dirty shell script for iMac I wrote to backup the files in the drive used by Plex Server to another 2TB external drive is given below. For Windows PC you can change the commands accordingly and use robocopy instead of rsync.
# to execute this command run sudo bash ./plex-backup.sh # copy the Plex configuration files from ~/Library/Preferences/ cp ~/Library/Preferences/com.plexapp.plexmediaserver.plist /Volumes/PLEXBACKUP/configuration/Preferences #There is / in source, so in destination I need to specify the folder name rsync -vaE --progress --delete ~/"Library/Application Support/Plex Media Server/" "/Volumes/PLEXBACKUP/configuration/Plex Media Server" #There is NO / in source, so in destination I don't need to give the folder name. this source folder contains all the media files rsync -vaE --progress --delete "/Volumes/PLEXiMac" "/Volumes/PLEXBACKUP/"
Give Plex a try and if you are like me who has lot of media files you will simply love it.