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

You can do it that way, but it’s generally recommended to keep Plex hardware separate for QS. It’s much simpler to setup and maintain a separate box, and you’re not potentially sharing resources between Plex and other containers/VMs.

2 Likes

@Geran_Brown and @ALANMAN , I have a similar question. I want to build a Plex server and Unraid NAS (nothing currently), including some dockers and VM. My thought is to do all-in-one using Xeon E-2246g. This should handle everything and last me quite some time. I’m not exactly sure how putting together a separate box just for Plex would be advantageous. In fact, I think it would add complexity because then I would want to add 10Gb direct connect Ethernet because drives separate from Plex. I’d also be paying more for a second system and for more watts (although minor). I can see where this could be advantageous for someone with an existing unraid system that doesn’t have QuickSync. But, for me, building energy efficient, powerful system from scratch, is there any advantage? Am I missing anything regarding Plex on a separate box advantages? Thanks

Exactly how much power do you figure you’ll be saving going this route? Isn’t power also dependent on load, which will theoretically be the same.
Have you also considered what other power saving activities you could be doing as well if that’s a top priority for you (lower ac, switch to led lights, turn things off when not in use).

Btw, that’s an expensive cpu. Won’t even get into how long it would take to recoup that cost over a small electrical bill savings.

One major point of these guides is to save money by purchasing the recommended parts at the time published from the used market.

The point of quicksync specifically is that it quickly outpaces standard CPU transcoding while keeping the cost down. A 50 dollar CPU with quicksync can outperform a several hundred or thousand dollar CPU without quicksync when it comes to plex transcodes.

It is recommended to keep Plex with quicksync as a dedicated system to simplify setup and maintenance. More specifically, this is to avoid complications passing the iGPU through docker or a VM and avoid potential resource sharing issues.

The Xeon you listed does have quicksync, but also costs nearly 3x as much an entire HP 290 or Otis build, and that’s just the CPU.

Since the 290 availability and price fluctuates and is inconsistent lately, I recommend the Otis build. Either of these options should be paired with a NAS, but Otis can also be built out as a multipurpose all in one box if you wish to go that route. Check out the NAS Killer 4.0 guide as well.

1 Like

For 3-4 1080p streams would a Pentium Gold G5400 w/ 16 GB (3200) of ram be sufficient? That cpu is $50 New at microcenter right now.

Streams is a general term.

If you mean transcodes, with QuickSync that CPU can do 20 easily. 16GB of RAM is completely overkill, most people usually use 8GB. RAM speeds are not important, 2400 or 2666 is fine.

There’s one G5400T left for $39.99 - no reason to buy new.

After reading I’m seeing that LGA1200 Mobo are about the same in price. But they do not have the LGA 1200 pentiums in stock anywhere. Is a New Celeron a better option for a plex/home storage over the G5400?

Where are you finding a LGA1200 motherboard for $70? Because thats what the 9th gen motherboards are running new at microcenter. The cheapest LGA1200 motherboards I saw there were $150.

Little more than $50 but not sure if its worth investing in a new socket.
https://www.amazon.com/dp/B088ZVZ8Q4?tag=pcpapi-20&linkCode=ogi&th=1&psc=1

The difference between 8th/9th and 10th gen is minimal. Personally I would invest in LGA1151 with an 8th-gen CPU, and when it comes time to upgrade, the 8th/9th gen i3/i5/i7 will be much more affordable than LGA1200. There’s nothing that LGA1200 brings to the table that LGA1151 doesn’t already have.

Sort of what I was thinking going to go with the 8th-gen pentium then. $40 under budget
https://pcpartpicker.com/list/
Anything I should spend a bit more on? Also only 12TB right now as this is first NAS

Your PCPP link doesn’t work - I’d suggest using google sheets and copy pasting the table in here, it works great. PCPP doesn’t help a lot with server hardware.

Part Price Seller
CPU Pentium Gold G5400 $50.00 Microcenter
CPU COOL Artic Freezer 7 x CO $29.99 Amazon
MOBO Asus TUF B360M $60 Newegg(Refurbished)
RAM Viper Elite 8GB (2x4) - 2666 $37.99 Amazon
HDD Hitachi Ultrastar 7K4000 4 TB x 3 $60.00 Recertified
NVME HP EX900 250GB $42.99 Newegg
Case Fractal Node 804 $116.98 newegg
PSU BQ Pure Power 300W 80+ Bronze $47.54 Amazon
Total 565.49 Budget of 600
1 Like

Im not sure if this is at all an optimized setup. Ive only built pcs so thats what I went from

Interesting the talk about getting 20 h264 transcodes “easily”.

I struggle to get 20 1080p h264 transcodes on a brand new Intel Xeon E-2276G, Coffee-Lake gen with Intel P630 graphics. These are 15-20mbps files with DTS 5.1

64GB RAM - NVMe Intel P3600 NVMe

If I try and do any more than 20 it starts buffering - despite disk, network and cpu all being low - which to me suggests the QSV chip is maxing out

What OS?

Ubuntu Server 18.04

Seems to be a bottleneck regardless of transcode quality. Even transcoding to 720p 4mbps im limited to 21 or so transcodes.

Also if I add PGS subtitles, even though it’s HW encoding/decoding, CPU usage skyrockets also and transcodes are limited to around 17 or so.

Would be interested to see what performance you achieve with files with DTS 5.1 audio and/or PGS subtitles.

Unfortunately I don’t believe 20+ transcodes is always easily achievable in QSV as there are so many variables that impact CPU usage outside of QSV.

1 Like

I don’t have any experience with the E-2276G. I’d recommend trying to upgrade to 20.04 as recommended in the guide. As far as I know, subtitle transcoding takes place exclusively on the CPU, which is different than video stream transcoding.

Also, if you’re doing anything else on the machine, it changes the environment, negating any of the results stated here.

In running on a baremetal testbed- nothing but Plex and netdata running.

QSV capability of the E-2276G is the same if not higher than the G5400 (Same gen- higher spec iGPU which utilises more system RAM).

QSV also works out of the box on 18.04 server. What info do you have that QSV performs better on 20.04?

Are you able to test 1080p h264 with DTS 5.1? Genuinely curious if you can run more than 20 simultaneous transcodes without buffering.

Did some more testing, and the results are interesting.

HARDWARE
CPU: Intel Xeon 2276G (6 Core/12 Thread 3.8Ghz CPU, 12146 Passmark, P630 iGPU, Coffee Lake)
RAM: 64GB DDR4
DISK: 2x 1.2TB Intel P3600 RAID0 (content saved on RAM/transcoding in RAM)
GPU: Nvidia GTX 1080p 8GB

SOURCE FILE
Video h264 1080P 15763kbps
Audio DCA DTS 5.1 1536 kbps

TEST
24x Simultaneous transcodes to 8mbps 1080P

COMPARISON
Quick Sync Video vs Nvidia NVENC

Note// To remove disk performance from the equation - content was saved on 64GB ramdisk and transcoding also occured in RAM.

RESULTS
QSV
Starts to buffer at around 20 transcodes - with significant IOWAIT - despite files and transcoding stored in RAM. System load is minimal (2-3), and user/system CPU usage is also minimal (20%).

See streams buffering and transcode speeds less than 1.0 for reference.

NVENC
Streams 24x Transcodes with no buffering. All files sitting in throttled transcode

SUMMARY
Whilst QSV performs adequately for less than 20 transcodes - and CPU usage remains low throughout the test - QSV transcoding generates noticeable IOWAIT despite disk activity being minimal. IOWAIT increases in step with the number of transcodes running. It does not occur once a particular threshold is met- instead it builds slowly as transcodes are added. Once IOWAIT hits approx 60% transcodes begin to buffer.

It is important to remember that IOWAIT isn’t specifically disk related.

The exact same test on NVENC does not see this same IOWAIT side effect, running on the same hardware, same disks, same transcode setup. As a result - 24 simultaneous transcodes run without buffering.