I am a big movie buff. Many years ago, I even had my own movie review website with a couple of friends (one of which is still active on the interwebs! and Clif Haley is part of the motivation for this post as he and I recently had a big discussion about Plex). We were around long enough, and built up enough of a library of reviews that movie studios even started sending us a few screeners for review. Of course, it was about that time that we all kind of lost interest in the site, but I have never lost interest in movies themselves. The picture at the top of the post is my current collection of DVDs and Blu-Ray discs. My collection is not completely insane (though it was much larger once upon a time), but there is a lot to watch.
When Netflix became a thing, I joined up and would get discs mailed to my door instead of having to drive to Blockbuster (remember them?).
When Netflix launched the Watch Instantly program, I was completely on board. I loved that I could browse and watch movies from my couch, or my bed when ever I wanted and pick up where I left off on any device. As many people do though, I soon found the downside to Netflix Watch Instantly. For every great movie you can Watch Instantly, there are 100 (at least) complete stinkers taking up space. I like the occasional awesomely bad movie, but most of what was available through that service were un-awesomely bad…
This ended up creating a dilemma for me. I loved my movie collection, but I did not always want to get out of bed at 1:00 AM and walk into the living room to pick a new movie off the shelf. The problem was that I wanted MY collection available on any device without having to get up. I know… sounds SO spoiled and lazy. First world problem, right? Anyway, this began a quest for me that has lasted several years and I feel like I am finally starting to see the end of the tunnel. This post is about my journey to the perfect media streaming solution.
Before I dig into the nuts and bolts of everything, I want to say for the record that I do not support piracy, and I am not suggesting anyone do anything illegal. I like my shiny physical media, and I have no problem paying real money for a real product. Having said that, I do buy used whenever I can to save a few bucks. You might ask why I even bother buying physical media instead of simply buying digital content. I have friends who do that and love it. Here is my issue with that. I know that physical media’s days are numbered, and I know that digitally distributed content is convenient, but it is also limiting. If I buy a movie through Vudu, or Amazon, or Xbox, etc, what happens if those services go under? I know that it is unlikely, but there are lots of companies that were on top of the world only to come crashing down. Remember the above reference to Blockbuster?
With physical media, if formats change, or if the device/software that I use to view my media changes, all I need to do is break out my shiny discs and do a little tweaking… And after the situation I have found my self in this week, thank goodness that I do still have my shiny discs! More on that later.
When I first started dabbling in digitizing my movie collection, options on how to accomplish the tasks were pretty limited, and the process was pretty labor intensive. I was only using DVDs at the time and I think the very first software I started using to rip DVDs was DVD Shrink. It was clunky, but it got the job done. After DVD Shrink came DVD Decrypter. It was a little better than DVD Shrink, but it got shut down by the MPAA. After doing some searching and consulting with friends, I currently use MakeMKV. I works really well and does everything I currently need it to do.
Back in this time, storage was far less in capacity, and more expensive than it is now. As a result, after ripping the movies, they needed to be compressed so that I could store more than just my all-time favorites on my computer. I found Handbrake and started using it right away.
What I was still lacking at this point, was a seamless way to access all my media. I had a folder on a secondary hard drive on my desktop that was shared on the network, and my Xbox 360 could stream movies via DLNA, or I could plug a laptop up to a TV via HDMI and stream movies that way, but it left a lot to be desired. Plus, if I wanted to watch a movie while travelling, I have to copy a couple of movie to my laptop hard drive or the SD card of my tablet. Not ideal…
After trying, and not liking several different options, a good friend told me about a piece of software called Plex a few years ago. Plex was something different that I had seen before at that time. I installed it on my desktop and started tinkering around with it. It was not perfect, but it had a lot of cool features and it was REALLY flexible. Best of all, with only a slight tweak on my firewall, I could access my media outside of my network, meaning I could watch movies or listen to music on the go! Plex was awesome!
Plex was awesome! …but my setup was not perfect. There were a couple of things that still annoyed me. The single biggest issue I had was something that would seem trivial to most people… subtitles. You see, Blu-Ray discs keep all their subtitles in embedded files so that you can easily change the subtitle language on a Blu-Ray player. That is great for people using Blu-Ray players who do not want to have to buy a language specific disc, but it makes it difficult to get those subtitles into a movie that you rip and compress.
I could get the subtitles into the .mkv files that MakeMKV was outputting, but every time I compressed the files in Handbrake to a .mp4 file, things would go off the rails. One friend whose wife is hearing impaired said that he did all of his subtitles with the “Burned In” setting within Handbrake. I still do not know what I was doing wrong, but I never could get that to work properly when I would try it.
Then another friend told me about Open Subtitles and yet another told me about Subscene. With these websites, you can download .srt files with the subtitles in them. You then drop the .srt files into the same directory as the video file and name them exactly the same with a .en.srt file extension (the .en part is to signify that the subtitle is in English) and Plex will see the subtitle and show it as a subtitle option to select in the settings page of the movie. This is an OK solution, but it requires a bit of leg work as you have to make sure that you find a file that is not only the same version of the movie you have, but that the subtitles are synced up properly. I damn near drove myself nuts trying to find the correct subtitle files for episodes of Game of Thrones. Not having the subtitles for most of the show is fine, but every time someone starts speaking a made up language like Dothraki, you have no idea what is being said without correct, properly synced subtitles.
At this point, I kind of gave up on subtitles for a while. I did not have subtitles to read what Greedo was saying right before Han shot him (Han shot first!), but I have seen Star Wars enough times to have Greedo’s dialogue memorized by the time I was eight years old. I had also gotten a new NAS device for my storage, so I was concentrating more on ripping my entire collection as I could now actually store it all. This is the way things stayed for a long time… until a few nights ago. I do not really know why, but the other night I simply decided that I was going to find a solution to the subtitles issue once and for all. Well, I stayed up until 2:00 AM researching and testing, but I finally got it figured out and I now have a good solution for subtitles. That solution is simple… the .mkv files ripped using MakeMKV still have the embedded subtitle files in them. It turns out that .mkv files are capable of keeping the embedded files intact, but .mp4 files simply are not. Digging deeper into the Handbrake settings, I found that I could actually compress the .mkv files, but leave them in .mkv format which then leaves the embedded subtitle files intact as well. After testing things, it turns out that Plex can see the embedded subtitle files just like external .srt files saved in the same directory.
Now I could use the original subtitle files embedded on the disc, which guaranteed that the subtitles synced up properly. I could also save the full subtitle file along with the foreign language only subtitle and have the option to choose which subtitle I wanted. Why would I need the option for full subtitles? Well, sometimes I like to watch loud action movies late at night, but my wife actually likes to sleep. Since my hearing is not too great (thanks to many years on stage in rock bands), I have a really hard time hearing dialogue if the volume is low. This is the best of both worlds. I can watch action movies late at night, I can understand what people are saying, and my wife can sleep instead of glaring at me from her side of the bed!
I finally had the good solution for subtitles that I had been looking for all along. That was great news! The bad news? Since the subtitle magic was happening during the compression phase, and I had already deleted the original rips (because even with my new NAS, there is no way I have enough space for all these movies uncompressed), this meant that I now had to start all over with the ripping process… D’oh! Now, I do not have to rip EVERYTHING all over again. Not every movie has foreign language subtitle sections, but I am pretty OCD and I want things as uniform as possible. Same file types, same subtitle options, all that sort of thing. This is also not a completely automated process, and movies can have a number of different subtitle options like commentary track subtitles. It requires a little extra work to get right, but it is totally worth it once the final file is done correctly. I will post again once this process is completed, but do not expect that post any time soon. I expect it to take months.
Well, this is about it for my first post. I hope to have a lot more as time goes on, and I hope these posts are informative and helpful to anyone out there experiencing similar issues and frustrations. If anyone comes across this and has anything helpful to contribute, please comment below!
If anyone is curious, here is my current media server and streaming setup.
- Dell Optiplex 990 i7 w/8GB RAM running Plex Media Server (this is a dedicated Plex Server)
- Synology DS415play w/Intel Atom processor and 1GB RAM
- Various devices for streaming including Xbox 360, Xbox One, Android tablets and phones
Some of you might wonder why I am running Plex on the Dell workstation instead of running it natively on the Synology. The answer is I tried it, but I found the response a little sluggish as compared to running it on a dedicated Windows system. I got the workstation for free through work (one of the benefits to working in IT) and this seemed like the perfect use for the eight core system.