[Guide] Hardware Transcoding: The JDM way! QuickSync and NVENC

Introduction

The purpose of this guide is to give an overview of hardware transcoding with Plex. The guide will also provide recommendations for adding hardware transcoding to your existing setup.

Ultimately, the recommendation will be to add a dedicated transcoding box that uses Intel QuickSync.

The hardware portion of this guide assumes:

  • You have an existing NAS with all of your media on it (this guide will use Unraid as an example)
  • You run Plex Media Server
  • You’re looking for more transcoding power (this does not affect direct play or direct stream)

What is transcoding?

Simply put, it’s the combination of two processes: decoding and encoding.
Think of decoding as taking the file apart, and encoding as putting it back together.

Typically this is accomplished via software run on the CPU of the Plex server. It’s a multi-threaded process which can take advantage of not only multiple threads, but also multiple phyiscal CPUs. (think of dual CPU systems like the Lego build and the Anniversary build)

Note: certain file formats like VC1 are limited to single threaded transcoding only.

What is *hardware* transcoding?

Technically, all transcoding is software in the end. However, when someone talks about hardware transcoding, they mean using a dedicated piece of hardware (typically a GPU) to accelerate the process. This reduces load on the CPU, allowing you to allocate its resources to other things such as Dockers, VMs, or other applications. Generally, hardware transcoding is faster and more efficient than software transcoding. More importantly, however - hardware transcoding has more limitations, considerations, and compatibility issues than software transcoding.

Most often, Nvidia GPUs are often recommended for hardware transcoding via NVDEC/NVENC. This is what Nvidia calls its decoding and encoding engines. From here on out, we’ll just refer to it as “NVENC.” Simply put, it’s a very common and easy solution to enable hardware transcoding.

The only other currently viable option is Intel’s integrated GPU (iGPU) accelerator known as QuickSync. Historically QuickSync has has some severe quality issues, but recently Intel has made a strong effort to improve this with each generation.

At the time of writing, Nvidia’s NVENC and Intel’s QuickSync are supported by Plex’s Transcoder.

Below, the differences between NVENC and QuickSync will be outlined, and a hardware and software solution will be suggested.

12 Likes

Nvidia NVENC with GTX / Quadro Series GPUs

As stated in the introduction, adding a Nvidia card with NVENC to your server is easy. Most people know how to install a GPU. To get it working, all you have to do is install the latest Nvidia driver for your card, and enable hardware transcoding inside of Plex.

Before you dig through drawers to find an old GPU or start thinking about dividing your SLI in half to speed up your server, there are a ton of things to consider.

Performance and image quality between GTX900/Quadro M and GTX1000/Quadro P series are very similar with only marginal improvements. RTX/Turing have significant NVENC improvements over the previous generations, but come at a higher cost.

Requirements:

  • Full hardware transcoding (decoding + encoding) requires Windows 8 / Windows 10 (all editions)
  • Free PCI-E slot in your server (some cards take up double or triple width)
  • PCI-E 6 or 8 pin power connectors(s) (if your GPU requires it)
  • Maxwell / Pascal generation GPUs (or higher) are highly recommended, earlier generations have extremely limited support
    • GTX 900 / 1000 series
    • Quadro M / P series
    • Refer to this table (click “complete list” below the first chart)
  • A monitor or dummy plug must be plugged into the GPU at all times for hardware transcoding to work
  • Hardware transcoding requires some CPU power to process the data, even when decoding and encoding are taking place on the GPU. A slow CPU may artificially limit your GPU’s capabilities.

Restrictions:

  • All GTX series cards are limited to a maximum of 2 simultaneous transcodes
    • There are hacked drivers for Linux and hacked Dockers that unlock GTX cards, but that will not be covered here.
      • There is no unlock solution for Windows
  • Most Quadros have no hard limit on number of transcodes. In reality, the practical limit is around 17-22 simultaneous transcodes, depending on supporting hardware and software configuration.
  • NVENC support is different for each model of card, so make sure it supports the formats you will be using
  • Using more than one card is not currently supported
  • Decoding is not supported on any other OS besides Windows 8 / Windows 10 (all editions)
    • In case of other OS, only the encoding process will use your GPU. The decoding process will still use your CPU.
      • The hacked drivers do not affect the decoding/encoding support, only the maximum number of simultaneous sessions.

Pros:

  • Easy drop-in hardware installation
  • Easy software configuration
  • Use your existing server
  • Potentially very powerful with the correct hardware and software combination

Cons:

  • Often expensive
  • Can take up valuable space in a server
  • Certain servers (i.e. Supermicro rackmounts) do not have support for PCI-E 6/8-pin power
  • Software and hardware limitations
  • There are more than a few outstanding issues and bugs
  • Hardware transcoding still uses the CPU.
  • Hardware transcoding will not fix a slow server.

Known issues and bugs:

  • [common] Random BSOD on Windows (the only OS that supports decoding+encoding)
  • [common] Other applications using the GPU can interfere with transcoding processes causing them to delay, hang, or crash.
  • [common] Plex ultimately decides whether to use hardware transcoding or not. Sometimes it decides it doesn’t want to.
  • [uncommon] Starting a file via direct play or direct stream and switching to transcoding can crash the entire server
  • [uncommon] Switching bitrates while transcoding can cause the stream to endlessly buffer
  • [rare] Inconsistent but noticeable artifacts, especially during scenes with high motion

Other notes:

  • Plex will automatically fall back to CPU transcoding when it deems necessary, or when it’s out of transcoding slots on the GPU.
  • There’s basically no reason to buy or use anything higher than a GTX 1050. It supports all of the same formats as the more expensive cards, and since you’ll be limited to 2 transcodes anyway, there’s no reason to spend more on a “faster” card.
  • Plex will use QuickSync first in case of both a iGPU and Nvidia GPU installed.

Recommendations:

  • The Quadro P2000 is probably the ideal Quadro card. It supports all of the latest formats and has no hard limit on transcoding sessions. However, it’s still quite expensive anywhere from $275-$400.
2 Likes

Intel QuickSync

Intel’s QuickSync makes use of your Intel CPU’s onboard GPU (make sure it has one) to accelerate transcoding. Early on, QuickSync had a reputation for being relatively pointless because it was not very capable and the resulting quality was quite poor. However, Intel continues to improve QuickSync quite drastically with each generation.

Typically, the quality and performance of QuickSync has more to do with the generation of CPU than it does with the model number of the CPU. For example, a 6th-gen i3 would look and perform considerably better than a 3rd-gen i7. That’s not to say that the CPU itself doesn’t matter - because it does. As stated above with Nvidia NVENC, the CPU is still responsible for some of the hardware transcoding process. A slow CPU can artificially limit the number of transcodes an iGPU is capable of. This is especially the case when the CPU is responsible for other tasks besides Plex.

Performance, image quality, and file compatibility have leveled off somewhat after the 6th-generation of Intel processors, with Intel only making marginal improvements.


Source: Wikipedia - Intel QuickSync

Requirements:

  • Intel CPU with a supported iGPU (check here)
  • Compatible motherboard (allows you to enable the iGPU, 99% of models do)
  • For best performance, Ubuntu Server or Ubuntu is recommended. Windows is not recommended.
  • For a server that only runs Plex, a minimum of 4GB RAM is required, 6GB is recommended, 8GB is optimal. Anything higher than that is up to you.
  • A monitor or dummy plug must be plugged into the motherboard at all times for hardware transcoding to work.
  • Hardware transcoding requires some CPU power to process the data, even when decoding and encoding are taking place on the iGPU. A slow CPU may artificially limit your iGPU’s capabilities.

Restrictions:

  • I can’t think of anything worthwhile to write here

Pros:

  • No hard limit on number of transcodes (no driver hacking required)
  • Full transcoding (decoding + encoding) supported on Windows and Linux
  • Assuming a dedicated Plex server on Ubuntu Server, with no other applications running, expected maximum transcodes:
    • i7-6700: 15-19 HW transcodes
    • i7-7700: 17-20 HW transcodes
    • i7-8700: 25+ HW transcodes
  • Update (12/24/2019): Further testing has shown the following
    • Intel Celeron G4900 (8th-gen dual core, 3300 passmark) is capable of 21 1080p transcodes
    • Intel i3-8130u (8th-gen mobile dual core with HT, 5000 passmark) is capable of at least 17 1080p transcodes
  • Image quality with 6th-gen + is indistinguishable compared to NVENC
  • Sometimes you only have to click a check box to enable hardware transcoding if you already have supported hardware (i.e. you built a NAS Killer 4.0 with a CPU that has an iGPU)
  • Much more stable and compatible overall compared to GPU transcoding

Cons:

  • Vastly different performance, image quality, and file format compatibility from generation to generation (do your research!)
  • Image quality and performance is subpar with 4th generation and lower processors.
  • Plex Media Server on Windows (or possibly the OS itself) artificially limits Plex to a maximum of 2 hardware transcodes most of the time. Sometimes it lets a few more simultaneous hardware transcodes takes place, but it’s very finicky at best. This issue is not present in Linux.
  • Earlier iGPUs are less powerful - so while they aren’t hard limited, they may reach a iGPU bottleneck
  • Upgrading QuickSync versions requires at minimum a new CPU, most of the time a new motherboard, and sometimes new RAM and CPU cooler. This gets expensive really fast.
  • QuickSync is not available for most Xeon processors

Known issues and bugs:

  • [FIXED] Currently Intel’s entire 9th generation is not supported. Support is expected soon.
  • [FIXED] Support for Intel’s 10th-Gen CPUs is currently unknown, but likely.
  • [FIXED] QuickSync transcoding with Docker will sometimes crash if the CPU reaches 100% utilization across all cores.
  • As stated above, PMS on Windows (or perhaps Windows itself) most of the time artificially limits the number of hardware transcodes. There has been no explanation for this for over 2 years now.

Other notes:

  • Plex will automatically fall back to CPU transcoding when it deems necessary.
    • In my experience, this doesn’t actually work. YMMV.
  • Plex will use QuickSync first in case of both a iGPU and Nvidia GPU installed.

Recommendations:

  • If you don’t care at all about your users and/or you want to encourage them to direct play/stream your content, enable QuickSync on a 2nd or 3rd generation processor. It looks pretty bad, especially at lower than 8Mbps 1080p.
  • If you only somewhat care about your users but are looking for a cheap QuickSync option, look for Intel’s 4th-gen CPUs. They still use cheaper DDR3 and image quality is acceptable.
  • If you care about your users, get a 6th-gen or higher CPU. Image quality is great and overall they are very fast, although sometimes expensive.
3 Likes

Hardware recommendations

While many people use Nvidia’s NVENC for hardware transcoding with Plex, I think QuickSync deserves a closer look. The hardware recommendations, recommended builds, and software installation found in the rest of the guide are all Intel QuickSync oriented.

The darling of the GPU transcoding fanboys, the Nvidia P2000, is still sitting at around $350 - $400 on ebay, maybe less if you find a deal on Reddit or another forum somewhere. It’s a lot of money to spend on a GPU that doesn’t really enhance your NAS or server in any way besides adding hardware transcoding. It still takes up some CPU resources, it takes up a PCI-E slot, it has some software limitations… but you know all that already. You read the NVENC outline above.

Adding a dedicated QuickSync transcoding server to your existing rack/stack completely offloads Plex’s processing from your NAS. Your NAS will simply serve up data over ethernet (or 10Gb direct if you so choose) directly to the Plex server. Most of the prebuilt recommendations below actually take less power at peak than the Quadro P2000 as well.

By far the easiest and cheapest way to add a modern QuickSync server to your setup is by purchasing a used or refurbished prebuilt system. Most of the time, assembling a system yourself will cost around 2-3 times the price of buying a prebuilt with the same processor! For example, you can either buy a i7-3770 for $90, or buy a prebuilt Dell 7010 with a i7-3770 for $120.

Since we’ll be using this computer as a dedicated server, and we already have a NAS with all of the media on it, it doesn’t need any media storage of its own. It just needs a medium-large sized SSD for the OS, Plex Media Server, and Plex’s metadata. You can also optionally direct connect your transcoding server to your NAS via 10Gb networking for a little extra speed.

Your typical dedicated hardware transcoding server in this guide will consist of:

  • Prebuilt system with CPU and 4GB - 16GB of RAM
  • Single SSD between 256GB and 1TB
    • NVMe optional, but preferred. Make sure your system can boot from NVMe drives, as this guide uses the SSD for boot and Plex.
  • Gigabit networking onboard
    • 10Gb networking optional

Click here for the original information and searches (now outdated)

Searching ebay…

The easiest way to find a prebuilt on ebay with the CPU that you want:

  1. Go to the search box, and search the CPU you want. i7-4770
  2. On the left side, click Computers/Tablets & Networking
  3. Then click Desktops & All-In-Ones
  4. Sort by Price + Shipping: lowest first
  5. Inspect each listing for CPU, RAM, chassis size, and included extras.

Prebuilt systems (click on CPU model for general ebay search)

This is not a definitive list of processors available for each generation - these are just suggestions. If there’s a particular model that looks like a good deal, it’ll be listed below the processor.

2nd / 3rd generation

4th / 5th generation

  • i3-4130 2C/4T, 3.4GHz base, 4806 passmark
  • i5-4570 4C/4T, 3.2GHz base, 3.6GHz turbo, 7150 passmark
  • i5-4590 4C/4T, 3.3GHz base, 3.7GHz turbo, 7334 passmark
  • i7-4770 4C/8T, 3.4GHz base, 3.9GHz turbo, 9777 passmark
  • i7-4790 4C/8T, 3.6Ghz base, 3.0Ghz turbo, 9987 passmark

6th generation

  • i3-6100 2C/4T, 3.7GHz base, 5483 passmark
  • i5-6400 4C/4T, 2.7GHz base, 3.3Ghz turbo, 6764 passmark
  • i7-6700 4C/8T, 3.4GHz base, 4.0Ghz turbo, 10003 passmark

7th generation

  • i3-7100u 2C/4T, 2.4 GHz, 3761 passmark
  • i3-7100 2C/4T, 3.9GHz base, 5782 passmark
  • i5-7200u 2C/4T, 2.5GHz base, 3.1GHz turbo, 4564 passmark
  • i5-7300u 2C/4T, 2.6GHz base, 3.5GHz turbo, 5159 passmark
  • i7-7600u 2C/4T, 2.8GHz base, 3.9GHz turbo, 5350 passmark
  • i5-7400 4C/4T, 3.0GHz base, 3.5GHz turbo, 7318 passmark
  • i5-7500T 4C/4T, 2.7GHz base, 3.3GHz turbo, 7018 passmark
  • i7-7700 4C/8T, 3.6GHz base, 4.2GHz turbo, 10727 passmark

8th generation

  • i3-8100 4C/4T, 3.6 GHz base, 8005 passmark
  • i3-8130u 2C/4T, 2.2 GHz base, 3.4GHz turbo, 5018 passmark
  • i3-8145u 2C/4T, 2.1 GHz base, 3.9 GHz turbo, 5501 passmark
  • i5-8250u 4C/8T, 1.6 GHz base, 3.4 GHz turbo, 7649 passmark
  • i5-8265u 2C/4T, 1.6 GHz base, 3.9 GHz turbo, 8009 passmark
  • i5-8400 6C/6T, 2.8GHz base, 4.0GHz turbo, 11648 passmark
  • i5-8500T 6C/6T, 2.1GHz base, 3.5GHz turbo, 10026 passmark
  • i7-8700T 2.4GHz base, 4.0GHz turbo, 12724 passmark
  • i7-8700 6C/12T, 3.2GHz base, 4.6GHz turbo, 15157 passmark

12/18/19 update: ebay searches for 7th-9th generation Intel QuickSync

I’ve created some all-encompassing searches for 7th-9th generation quicksync processors, desktops, and laptops. These searches include every major CPU model from the particular generation and family.

Searches are: buy it now, sorted by price (low to high)

CPUs (Avoid “F” series processors, they do not have QuickSync)

Desktops (Avoid “F” series processors, they do not have QuickSync)

Laptops

SSD Recommendations

Check to see if your transcoding box supports NVMe booting (typically Intel 6th generation and newer). Otherwise, you’ll be using a regular SATA SSD - which is fine, especially if you’re on a budget. NVMe drives are much faster at handling small files (Plex Metadata), but are typically more expensive. Below are recommendations for both, as well as a heatsink for NVMe drives to keep them cool and prevent thermal throttling.

Brand Model (link) Condition Capacaity Form Factor Interface Price/TB Expected Price
Pioneer APS-SL3 New 256GB 2.5" SATA $109/TB $28.00
Pioneer APS-SL3 New 512GB 2.5" SATA $86/TB $44.00
Pioneer APS-SL3 New 1024GB 2.5" SATA $78/TB $80.00
ADATA SU635 New 480GB 2.5" SATA $96/TB $46.00
ADATA SU635 New 960GB 2.5" SATA $89/TB $85.00
ADATA SU800 New 512GB 2.5" SATA $107/TB $55.00
ADATA SU800 New 2048GB 2.5" SATA $92/TB $188.00
SanDisk SSD Plus New 480GB 2.5" SATA $125/TB $60.00
SanDisk SSD Plus New 960GB 2.5" SATA $102/TB $98.00
Sabrent Rocket New 256GB M.2 2280 M-Key NVMe $117/TB $30.00
Sabrent Rocket New 512GB M.2 2280 M-Key NVMe $97/TB $50.00
Sabrent Rocket New 1024GB M.2 2280 M-Key NVMe $107/TB $110.00
Sabrent Rocket New 2048GB M.2 2280 M-Key NVMe $107/TB $220.00
Intel 660p New 512GB M.2 2280 M-Key NVMe $117/TB $60.00
Intel 660p New 1024GB M.2 2280 M-Key NVMe $93/TB $95.00
Intel 660p New 2048GB M.2 2280 M-Key NVMe $88/TB $180.00
----- ----- ----- ----- ----- ----- -----
Eluteng NVMe heatink New $10.00

Sample builds

1. 8th-Gen… Laptops???

The two laptops below both feature 8th-Gen Intel mobile processors. For the most part, they support similar feature sets compared to their desktop counter parts but have more of a focus on power efficiency. So while they are a bit slower, you get a nice all-in-one unit that has a screen, mouse, keyboard, and uninterruptible power supply attached! I would expect that you could handle up to 20 transcodes on the i3, and more than 20 on the i5.

Here’s a screenshot of 17 1080p transcodes runnong on an i3-8130u laptop.

Type Brand (specs) Item (link) Details Expected Price
Chassis / Motherboard Lenovo IdeaPad 330-15IKBR Laptop, includes CPU, RAM, PSU, free battery backup! $200.00 OBO
CPU Intel 8th-Gen i3-8130U (5027 passmark) Non-upgradable, UHD 520 graphics INCLUDED
RAM Various 8GB DDR4 SODIMM Upgradable to 16GB INCLUDED
SSD ADATA SU635 $48.00
Total $248.00 OBO

The second laptop option below is quite a bit faster and has a Samsung PM961 256GB NVMe SSD. It’s not that much more expensive, either! Also, you can fold it backwards so you can see the screen while it’s laying flat, which would be cool if you were to hang it on the side of your server rack or something. The only other difference is that you’ll have to pick up a Type-C to Ethernet adapter, which isn’t a huge deal.

Type Brand (specs) Item (link) Details Expected Price
Chassis / Motherboard Lenovo Flex 6 14" 2-in-1 Laptop, includes CPU, RAM, SSD PSU, free battery backup! $329.00 OBO
CPU Intel 8th-Gen i5-8250U (7675 passmark) Non-upgradable, UHD 520 graphics INCLUDED
RAM Various 8GB DDR4 SODIMM Non-upgradable INCLUDED
SSD Lenovo 256GB PCI-E SSD Upgradable up to 2TB INCLUDED
Ethernet adapter Cable Creation USB 3.0 Type-C to Gigabit Ethernet $14.00
Total $343.00 OBO

2. 6th-Gen Micro Desktop

These HP boxes are TINY. Like, Intel NUC tiny. The difference is that the Prodesk mini uses a full desktop CPU and socket, meaning that you get full desktop CPU power and upgradability. Due to the 65W power adapter and motherboard restrictions, you’re limited to Intel’s T series processors. If you want the full range of desktop CPUs, look at the EliteDesk minis that have 130-150W PSUs.

These systems have just enough internal space to fit a M.2 NVMe SSD and a 2.5" SSD/HDD. If you use a NVMe SSD with an additional heatsink, it will likely block the 2.5" drive caddy. You can install a 2.5" drive without the caddy, just make sure the bottom of the drive is non-conductive before you place it inside so it doesn’t short anything out.

The ProDesk minis are very, very quiet. If you’re going to use it in a server rack, there’s an option to set a minimum fan speed. I set mine to 100%, and it’s keeping my 8th-Gen i5 at a cool 29C at idle, 47C under load. It’s still quieter than the rest of my rack, even at 100%.

Typical power usage for a system like this will be around 25-45 watts at the wall, depending on load.

Type Brand (specs) Item (link) Details Expected Price
Chassis / Motherboard HP ProDesk 600 G2 mini barebones No RAM, CPU, SSD, includes PSU $79.00
CPU Intel 6th-Gen i5-T CPU (5617-7342 passmark) i5-6400T, i5-6500T, or i5-6600T $100.00
RAM Various 8GB DDR4-2133 SODIMM Supports up to 32GB via 2x16GB $30.00
SSD Sabrent Rocket 512GB Up to 3450 MB/s reads $60.00
Total $269.00

3. 7th-Gen Mini Desktop

Your typical professional mini desktop. Not a whole lot to say, just a bigger version of the ProDesk mini!

Type Brand (specs) Item (link) Details Expected Price
Chassis / Motherboard HP ProDesk 600 G3 MT Includes CPU, 4GB RAM $229.00
CPU Intel i3-7100 (5782 passmark) Upgradable to i5/i7 6th/7th-Gen INCLUDED
RAM Various 4GB DDR4-2133 Add 4GB for a total of 8GB $17.00
SSD Sabrent Rocket 512GB Up to 3450 MB/s reads $60.00
Total $306.00

4. 8th-Gen Desktop

This system is the cheapest way to dip your toes into 8th-Gen Intel CPUs. Don’t let the i3-8100 fool you, it’s not a 2C/4T like it’s precdecessors. Instead, it has 4 actual CPU cores, with no Hyper-Threading. This results in a huge performance gain compared to the last generation. (i3-8100 = 8031 passmark, i3-7100 = 5782 passmark)

Type Brand (specs) Item (link) Details Expected Price
Chassis / Motherboard HP Pavillion 590-p003w Includes CPU, 4GB RAM, 16GB Optane $238.00 OBO
CPU Intel i3-8100 (8031 passmark) Upgradable to i5/i7 8th-Gen CPU INCLUDED
RAM Various 4GB DDR4-2133 Add 4GB for a total of 8GB $17.00
SSD Sabrent Rocket 512GB Up to 3450 MB/s reads $60.00
Total $315.00 OBO

5. 8th-Gen Micro Desktop

Another ProDesk mini, just updated to support 8th-Gen Intel processors. For more information, please reference the ProDesk 600 G2 above.

Type Brand (specs) Item (link) Details Expected Price
Chassis / Motherboard HP ProDesk 600 G4 mini Includes CPU, RAM, PSU. Seller accepts $300 after OBO $360.00 OBO
CPU Intel i5-8500T (10026 passmark) Upgradable to i5-T/i7-T 8th-Gen CPU INCLUDED
RAM HP 8GB DDR4-2400 SODIMM INCLUDED
SSD Sabrent Rocket 512GB Up to 3450 MB/s reads $60.00
Total $360.00 OBO
3 Likes

Software Installation & Configuration

General

5/7/20 - updated recommendation to 20.04 desktop.
I recommend Ubuntu 20.04 desktop and will base this guide off of that. Earlier versions do not have all of the codecs needed, later versions can break some things.
You can install Plex via whatever method you want. It’s not important for this guide.

General outline of steps:

  1. Configure Unraid for NFS shares
  2. Install Ubuntu 20.04 Desktop
  3. Prepare Network Share Locations
  4. Make the network drives mount on startup
  5. Install Plex
  6. Enable Hardware Transcoding

If you know how to do all of this, great!
If you don’t, I’ve outlined the simplest method to complete these tasks below.


1. Configure Unraid

Enable NFS under settings, nfs
Go to users, add user and add a user that will have the same credentials as your ubuntu account
Go to shares and select the share you want to export to linux
Under nfs security settings change export to yes, change security to private

2. Install Ubuntu

For this guide, I’m going to use 20.04 desktop - I found this to be easiest overall for people who are not experienced with Linux. Other users have reported success with 20.04 server, however some have ended up switching back to 20.04 desktop. YMMV.

  • Download the .ISO here and make a bootable install disk using Rufus on a windows machine, using an empty flash drive 8GB or larger.
  • Boot to the USB drive on your new server
  • Install with all default options
  • Add a user account and password (same as what we configured in Unraid earlier)
  • In Settings > Global Share Settings, set Tunable (support Hard Links) to NO
    • You need to stop the Array to make this change
  • Restart your Unraid server

3. Prepare Network Share Locations

Open a terminal window.

sudo apt-get update
sudo apt-get install nfs-common    

Make a directory for each unraid media share that Plex will be using.

sudo mkdir /mnt/tv
sudo mkdir /mnt/movies

1/14/21 update:

I highly recommend using this guide instead by @Mthrboard for AutoFS on Linux. This will ensure that your shares stay mounted, and auto-remount if they were to get disconnected for any reason. This guide replaces step 4.
[Guide] Auto-Mounting Filesystems in Linux

4. Make the network drives mount on startup

Edit your fstab to connect your network drives on startup.

sudo nano /etc/fstab

Add line for each network NFS share.

[YOUR_NAS_IP]:/mnt/user/[SHARE_NAME] /mnt/[CLIENT_SHARE] nfs defaults,noatime 0 0

Example:

192.168.1.2:/mnt/user/tv /mnt/tv nfs defaults,noatime 0 0 
192.168.1.2:/mnt/user/movies /mnt/movies nfs defaults,noatime 0 0 

Press ctrl+x to exit, y to save, and press enter.
Reboot, verify the share(s) auto mounts in /mnt/

5. Install Plex

Download and install Plex for Linux here.
Choose Ubuntu (16.04+) / Debian (8+) - Intel/AMD 64-bit.
Sign in to claim your server, create libraries for your media.

6. Enable Hardware Transcoding

Enable hardware transcoding in the transcoder settings!

10 Likes

If I am understanding correctly pass thru “Hardware Transcoding” with a GPU to a docker is really only half transcoding? The encoding part?

That’s correct, unless something has changed within the past month.

1 Like

What is the downside of that? Performance? Quality? Less supported video formats?

The downside is that you’re only half taking advantage of your GPU that you paid for. The CPU is doing the rest of the legwork. You’re getting some of the advantages of hardware transcoding while only slightly reducing the downsides of software transcoding. IMO it’s not worth the cost unless you can completely offload the process.

Awesome. Great guide, thanks for teaching me something new.

Thanks! I have a few sections I’d like to add and a few things to clean up, which is why this is still in early access. If you have any other questions, I’ll do my best to answer!

Would be awesome if you could dedicate 1 GTX GPU to both a docker for Hardware Encoding and a VM for gaming simultaneously :frowning: . Then you would be taking decent advantage of the card!

1 Like

Unfortunately, I don’t think that will ever be possible!

However, you could likely use a QuickSync CPU for transcoding and the GPU for gaming…

1 Like

You can encode/decode while using an Nvidia card. I use it on Unraid and I’m sure that means it’ll work on anything else Linux if someone can change the script. I’ve been using it for 3 months or so without issue.

Delete my post if this breaks any rules!

Not to doubt you, but any proof that it’s working?

There’s a screenshot I sent to my friend a few months ago. I can take a newer one when I’m home.

Edit: There have been some changes with the script, and I have edited my post to reflect that.

Screenshot I just took:
image

How does it show on Plex Web’s status screen?

image

image

That’s still not decoding properly. It should look like this with (hw) in both the top line (decode) and the bottom line (encode). Same thing with Tautulli.

Screenshot from my i5-8500t
image