How to run and manage your own media library, without spending too much money on expensive hardware, power consumption, and still have your media available on any device, anyplace?
My personal favorite is Plex. I bought a lifetime license years ago, which I've already put to good use. In deploying Plex, you basically have 2 options: you go for a strong server that can transcode the formats to the device of your choice, or you choose for a lightweight server and more performant players...
Personally, I liked the second option most, as most Smart TVs already natively support all video codecs, even H265, and on older TVs, you can easily install a fire stick or Chromecast (ultra, preferably).
Plex - The server hardware
Having builds for almost all thinkable platforms, such as windows/mac/linux pcs, NAS systems, as well as a docker, this must be one of the most universal software components available. Some important questions to ask yourself:
A simple decision tree would be like this:
- you don't need always on? --> install and activate the server on your pc whenever you need it
- you want always on and don't need transcoding from your server because your clients are powerful enough to transcode any media stream? --> go for a raspberry pi setup with an external USB drive
- you want always-on and need transcoding? go for a NAS or NUC based system, but check beforehand whether it really supports what you need!
Plex - The server software
Although Plex has some rather intelligent mechanisms to identify your media files, following naming conventions is strongly advised. If you run the plex server on a Raspberry Pi, I advise using the following settings:
- Remote access settings
- Once you've set up port forwarding on your router, your library is available outside your home network, especially interesting when you're taking a Chromecast with you on holidays, or interested in streaming your music library in the car.
- Make sure you've specified the maximum bandwidth you would like to dedicate to Plex remote streaming. Don't limit a maximum per stream (you don't want to start transcoding), but only your total maximum. For the same reason I disable media relay (in the network settings).
- Library settings
- disable automatic library scanning (based on drive change detection) which can drastically reduce performance, especially while streaming
- therefor I prefer a daily scan, allowing trash bin cleaning. If necessary, you can always trigger a manual scan on specific libraries in the client interface
- disable video thumbnail generation, as it will drastically reduce performance
- Transcoding settings
- Finally, Plex has provided the option to completely disable video transcoding. This is highly recommended when running Plex on lightweight platforms such as Raspberry pi
Plex - The client
As goes for the server software, the client software supports enormous amounts of platforms & operating systems, such as desktop clients on windows/mac/Linux, mobile platforms such as Android and iOS, as well as Chromecast, and even amazon speakers with a Plex skill (for music streaming, if you put some time in getting things right).
Most clients also support offline media, which means for Apple/iOS users who don't like iTunes (as I do) this is one of the simplest ways to transfer and store music/movies on your Apple devices over the air (4G or Wifi connection).
As you will notice, most client applications offer a lot of tweaking options, sometimes required to get things working the desired way. (Un)fortunately, these settings can even be different per client device, which takes a bit more time.
Android & iOS apps
In your settings tab, an important measure (if you want to avoid transcoding) is to disable automatic quality adaption, limiting mobile data and remote bitstreams. Of course, this can result in quite some mobile bandwidth usage. Wifi connection is always preferred!
Smart TV interface
If possible, connect your tv using a wired interface, preferably on the same subnet (behind the same router) as your plex server. If necessary, you can input the exact IP address of your server, which could allow you to accommodate more complex network setups.
Amazon Fire stick, the preferred media player
In order to be able to use the Plex interface and easily access your library, a client with remote or mouse control is advised. One of the most performing players (that also supports H.265 codec, up to full HD and even 4K, depending on your model), is the Amazon fire stick, which includes a remote control, as well as a smartphone app for remote controlling the stick. For a full review, have a look here. Don't forget to take you're remote with you if you're using it outside your home.
Chromecast Ultra, a good alternative
As an alternative player, also supporting H.265 I can recommend Chromecast Ultra, with the bonus feature of having an ethernet connection available. Browsing through your media library can be a bit more practical on a tablet, casting it to your Chromecast afterward.