STH Project TinyMiniMicro has been going on for some time now. When Patrick launched the project, he had asked us, writers, to think of interesting applications for these types of devices. I feel that one of the most intriguing options was to use a node to build a powerful and yet low-power Plex server. It is also a question we get a lot on the articles and videos. Here is an introduction for the uninitiated:
Many users in the STH community use Plex to organize and watch their multimedia library collections. Plex a piece of software that delivers movies and TV Shows to your devices wherever you are. Some users are running their Plex Servers inside of a NAS unit. Synology, QNAP, and even TrueNAS CORE all have Plex plugins. Other users are running Plex on enterprise-grade servers with virtualization. These TinyMiniMicro nodes offer an interesting value proposition for this application.
Project TinyMiniMicro the Plex Server Hardware
For the purposes of this lab, we chose to use an HP ProDesk 400 G3. It has a Core i5-7500T and 8GB of RAM. For this specific application, we included 2 internal drives. We have a 2.5″ 120GB SATA SSD for our OS, as well as a 250 GB M.2 NVMe drive for our Plex metadata and temporary transcoding files. Additionally, we are using a 2TB USB hard drive for storing our multimedia.
With that said, it is important to talk about an aspect of the hardware we chose that is so important. Intel’s QuickSync is a technology that runs on Intel’s integrated graphics processors. Its purpose is to accelerate video encoding and decoding.
Plex Server uses video transcoding on the fly in order to deliver content to all manner of devices. Some client devices cannot play videos using newer codecs or have too poor a network connection to watch a video at full resolution. For that reason, transcoding is required. Additionally, Plex Server supports hardware-accelerated transcoding, so Plex can utilize QuickSync to perform these tasks more efficiently.
QuickSync was released in 2011 with the Sandy Bridge architecture. Each new generation has gained additional features. Most importantly, this brings new codec support. Our Core i5-7500T is a 7th Generation, or Kaby Lake, part. Most importantly, this generation brings X265 or HEVC support.
Before we start setting up Plex we need to get our base operating system ready. Our unit came with a Windows 10 Pro license. So We installed Windows 10 Pro and updated it to version 2004. Then we went out and grabbed the latest drivers and BIOS from HP. We also grabbed the latest non-OEM Intel GPU drivers.
Prepping for Plex
Before we begin installing Plex we need to finish prepping our Windows 10 installation. First, we need to format our NVMe and external hard drives and assign them to drive letters. Open the Windows Disk Management utility. You can find it by searching for Disk Management in the search bar next to your start button.
In the Disk Management utility, you can manage your volumes. We have already made a partition on the NVME drive and named it PlexMetadata. This volume is assigned the drive letter D. The USB hard drive was also formatted and it is named PlexMovies. We assigned this one E.
Next, we are going to go to the D: drive and create 3 Folders:
Then in the E: drive we are going to create 2 Folders:
- TV Shows
With our storage ready, we can move onto the installation.
Plex is free to use software, and you can pay to unlock additional features with a Plex Pass subscription. To get started installing Plex we can go to the server download page on our HP 400 G3 and press download.
When the download is completed we can start the installer. Press the Options button in the installer. We are then going to define the install location, type D:\PlexMediaServer. By doing this, we are putting all of our Plex files on our fastest storage medium. Press OK and then Install.
After the Plex installation completes it will automatically launch. Go to your System Tray, right-click on it, and press Exit. We need to make an additional configuration change to Plex before we can continue. Open Regedit.
In Regedit, we need to modify what Plex calls an Advanced, Hidden Server Setting, navigate to HKEY_CURRENT_USER\Software\Plex, Inc.\Plex Media Server\
Right-click on the Plex Media Server folder and press New String Value. Its name should be LocalAppDataPath and its value should be D:\PlexMetaData. Re-Launch Plex.
That tweak is telling Plex that we want to store all of our metadata on our NVMe drive. Plex uses metadata to store things like movie poster art, video preview thumbnails, movie descriptions, etc. When we are navigating from our client device later, having all of these things stored on the NVMe drive will improve our overall experience.
Open a web browser and go to https://127.0.0.1:32400. We are going to give our server a Friendly Name. We chose to name ours Mr. Meeseeks. Choose whether or not you want your server accessible to you from outside your home, and press next.
Remove the default media libraries for Music and Photos if you do not intend on using them by pressing the Red X. After you have done that, press the Add Library button and select Movies and press Next. Select your E: drive and select the Movies folder. Repeat for the TV Shows library and folder.
Continue through the prompts as Plex asks you how to customize your home screen. Once the wizard has completed, we can move on to the configuration.
After getting to the end of the wizard, you should be on your Plex home screen. In order to get to the Plex configuration, we need to click on the ellipses (3 dots) next to your sever’s name. Go to manage server, and then to settings.
Scroll down to the Settings area and click on Transcoder. On the top right-hand corner, press the Show Advanced button. Change the Transcoder temp directory to d:\temp and change the Transcoder default throttle buffer to 600. These settings put the transcoding media files onto the NVMe drive. The other one allows the transcoder to wait until 10 minutes of video is buffered, rather than 1, before throttling. These settings should ensure smooth playback.
Next, we need to ensure that the Use hardware acceleration when available and Use hardware-accelerated video encoding boxes are checked, and then press Save Changes.
With the Transcoder configured, now we can configure the Library settings. Click on the Library tab and then check the box next to Scan my Library automatically. Next to change Generate video preview thumbnails, Generate intro video markers, Generate chapter thumbnails, and Analyze audio tracks for loudness to as a scheduled task and when media is added.
With that complete, all that is left to do is to start populating your Media library. Drag and drop your files into the Movies and TV Shows folder. Plex will automatically start making the magic happen.
This experiment was fun. In terms of form factor, power usage, and performance, this platform represents the perfect Plex server for most users. The HP ProDesk 400 G3 can serve 1080p media to a family of 5 with ease, no matter the codec.
Since we have not invested a lot of money in the storage for this deployment, we could rely on HEVC H.265/X.265 encoded files. This would require less storage than H.264 with the same quality. Alternatively to the USB hard drive, you could use an external NAS to store your multimedia and use the mini server for Plex.
As an alternative option to the HP 400 G3 Mini we used, you could look at the Lenovo P320 Tiny we reviewed a few weeks back. With it’s integrated Quadro P600, and a driver patch, you could transcode even more streams than with QuickSync. The TinyMiniMicro form factor is perfect for this application, and the choices are bountiful.
We have discussed using the Project TinyMiniMicro nodes as a Plex server, but these nodes are also very capable endpoints to decode and playback Plex as well. One of the advantages of the TMM form factor is that one can mount quiet PCs almost anywhere. One does not need the full power of a TMM node for playback, however, it is an added capability for wherever one is installed.
There are many more tweaks, tips, and tricks you can apply to Plex. If you are interested in more content like this, please let us know!