HW transcoding isn’t working smoothly with Nvidia GPU

My most Recent statement still stands. We have multiple efforts in the pipeline and offical Nvidia decoding on Linux is one of them, along with improving Hw transcoding speed on Windows (zero copy support)

Once we have something to share (including a forum preview, I will provide an update here. :grinning:

3 Likes

I’m willing to give you full access to my VMs if needed.

That’s it, my patience has run out.
Cancelled my plex pass.

1 Like

If only I didn’t bought the lifetime I would do the same, I can only hope they sort of start caring about it. But I’m not happy about it at the moment and not speaking very well.

If it’s helpful to add, I believe the issue I’m experiencing is one that others in this thread have: When playing 10-bit SDR HEVC files with hardware transcoding on, if I change from whatever quality the stream starts with, it crashes the stream. The logs show no sign of an error besides the audio.channels 6 > 2 note, then a note that the job is being killed. Playing the stream with whatever transcode quality is picked to start with, works fine and shows as hardware decode to hardware encode in Plex and Tautulli, with the GPU usage in Task Manager to back it up.

Windows 10 Pro 64-bit
Quadro P400 with 431.02 drivers and the unlimited encodes patch
All of the last 3 public versions of PMS

Got lifetime too, and this bug is really annoying. Personally i reverted to an old version (latest 1.14xxx) to avoid it : my server was frequently at 100% usage with only 3 streams…

I hope they’ll find a solution quickly, because quadro P2000 windows users are frustrated…

1 Like

I am currently having the same issue and i paid for lifetime pass and i can not use P2000 for hardware transcoding. I am very disappointed in Plex atm. Emby works fine with no issues. I have 20 core and 40 HT and i want to utilise P2000 that i have rather then CPU power. Power bill is high because CPU is mostly at 100%. What’s the ETA for the fix?

2 Likes

Just wanted to chime in here and say that I am experiencing the exact same issue.
I just bought a P400 specifically for transcoding and was struggling to get it working properly. After hours of screwing with it, I gave up and searched the forums, nice to hear I’m not going crazy.

I’m getting 0.8x transcoding 1080p HEVC to x264. 0.3x when transcoding 4k HEVC.

Specs:
HP ML350p Gen8
2x E5-2650 V2 (16c/32t total, 8 threads allocated to plex)
256GB RAM, 16GB allocated to the Plex VM
Quadro P400 (Passed through with Hyper-V DDA, CPUID and unlimited transcode sessions hacks applied to the 431.02 Quadro driver)
DP Dummy adapter to enable NVDEC
Windows Server 2019 (Tested with Win10 as well, same result)
PMS Latest and Beta both tested, same result. I’ll try rolling back to 1.13.x tomorrow as some have suggested.
10Gb Networking

I can get 6 streams going fine, so I know my driver hack is working fine, they all run at 0.7x to 0.8x, total GPU usage around 35%, CPU sitting around 30%. Streams are unwatchable due to buffering.

I’ve tested on bare metal, to ensure it wasn’t the VM passthrough causing the issue, exact same result.
In the VM I’ve tested Handbrake (NVENC) and MPC-HC (DXVA2) and both work perfectly. MPC-HC can play my torture test 400mbps HEVC Main10 test file at 2% CPU usage, 35% GPU usage. Handbrake runs at about 300fps transcoding another test file from x264 to HEVC, 10% CPU usage.

Plex is the only application with the issue. I’m willing to provide any required logs or test out anything as required. Just let me know what you need. Even direct access to the VM is fine if needed, currently running this on a test VM, not my prod Plex server.

I’ve got Plex Pass Lifetime (alt account) so I can’t cancel, but I will say that Transcoding is the sole reason I bought it. I would really appreciate a fix.

3 Likes

I’m sorry, we are all on the same boat. They officially are working on it, but to me they aren’t actually, or not with the priority that would need.
PLEX PASS has HARDWARE TRANSCODING as one of the few feature, and it costs MONEY, and its not working at the moment. I’m not a lawyer but eventually we could all start petitioning and MAYBE at that point they will start working the beta out of it.

Getting same playback issues with my gtx 1080ti with and without the hack. All 4k streams buffer every few seconds and decode and encode usage is around 10%

Hello everyone, I wanted to share my experience with this, I hope it helps.

I was having the same issue with HEVC transcoding.
I have an older i7 X 980 that I use for my Plex server, 24GB RAM (I know, odd number, but that chipset has an odd memory channel configuration) SSD for OS, 4 HDD RAID 5 for video storage and a GTX 1050 for transcoding (only GPU in the machine).

I was using an old DVI monitor for local access (I usually run headless, but wanted local access for some troubleshooting).

I could encode h.264 in HW (via Plex) with no issues, but h.265 decode would not work.

I ended up fixing this by chance. I purchased and HDMI dummy plug to fix TeamViewer desktop issues I was having. This on it’s own didn’t fix my issue… but it was because the DVI monitor was plugged in.

Once I unplugged the DVI monitor, left the HDMI plug in, and rebooted the machine, Plex would transcode 100% on the GPU (video only of course).

Example:

I was wondering about this and realized that I ran into a similar issue with my Divinci Resolve Headless rendering rig. I needed a physical display on it that supported HDCP in order to use the advanced codecs. This could be a limitation in the drivers…

Low and behold, as soon as I plugged in the DVI monitor, HEVC decode would not work. Remove the DVI and restart Plex, worked great. Unplugged all monitor, HEVC failed to work.

Here are the HDMI dummy plugs that worked for me:

Others will probably work, I chose these because they support 4K as a dummy monitor and I wanted a “4K Desktop” in TeamViewer. Super Scientific :stuck_out_tongue:

Anyhow, nVidia’s Control Panel says it supports HDCP… and I have a feeling that may have something to do with it. Windows 10 won’t play high fidelity video content without HDCP in an attempt to limit piracy of high fidelity content (not effective, but that was their statement). The nVidia drivers must support this limit to be WHQL certified.

If this is the case, I find it odd that h.264 encoding/decoding works without jumping through these hoops… but this is what worked for me. Hope it helps someone out there.

Oh, one last thing. I did log into the machine with TeamViewer and set the “physical” desktop to 4k. I don’t know if that has any bearing on this, but I forgot to put that information in before :wink:

1 Like

Thanks for the help but the issue people are experiencing here is not that they are unable to use Hardware enc/dec it’s that it demonstrates poor/unusable performance on 4k H265 video. One of the team has already chipped in, it needs some dev work to resolve.

Hey there wildnine,

After reading the thread, the issue seemed to be that HW decoding was not working for 4k HEVC content, but encoding it to h264 was working. The decode was eating the CPU and causing poor performance.

I was having that same issue until I fixed the HEVC decode. In the image I supplied, notice that both lines have the (hw) status at the end of it. When I was having high CPU, the HEVC decode did not have the (hw) status on it while the h264 encode did.

Once I fixed the HEVC decode, my CPU was only used to transcode the Audio… I went from 90%+ CPU use to no more than 2%. Also, I can now do 2 simultaneous transcodes at the same time without any issues… playback is smooth as silk. I’m limited to 2 encodes via NVENC so adding a third one makes things very unhappy.

I’m looking into a P2000 to see if I can get above 2 simultaneous transcodes… but that will take some time because I don’t have a budget for that.

If I get one, before this is resolved, I’ll post back my results.

If you have a look:

This Post

It references the main issue here. The issue you have is definitely one people have faced but it’s not the same as this. I have fully functional hw decode and encode as illustrated by the (hw) tags. It’s just that despite low CPU utilisation and ~20% GPU video engine utilisation the transcode rate of h265 4k cannot keep up with the playback rate under windows.

I’m certain some people arriving in this thread have the issue you resolved, so it’s still very helpful to have the information.

1 Like

So what is the verdict? We are waiting on PLEX to respond to the fixes? Pretty frustrated as I had no problem doing multiple 4k transcodes to 1080p with a P4000. I swapped to a P2000 for power considerations. Literally just built a $3000 dedicated rackmount PLEX server and it can’t transcode 4k at all.

Spec’s:
Xeon E-2174G
8GB RAM
Avago/LSI - RAID Card
RAID1 - S4610 Intel SSD’s
P2000 Quadro
Windows Server 2019
PMS 1.16.3.1402
Quadro Drivers 26.21.14.3102

1 Like

Basically yes, we’re waiting for nothing, they don’t care about transcoding AT ALL. Even tho we paid for that. Ridicolous.

I miss something… the p4000 worked flawless but no with the p2000 ? It has no sense, the problem, as far as I know, is about all the Nvidia GPUs ( 10X0, 20X0, Quadro PX000, etc). Am I wrong?

Pretty frustrated as I had no problem doing multiple 4k transcodes to 1080p with a P4000. I swapped to a P2000 for power considerations.

Was it an apples for apples swap? same OS, drivers, Plex version, etc etc ?

Would be really interested in the comparison if you wouldn’t mind…

I still have the former build intact… I pull up the configuration for software differences (But there shouldn’t be any because I kept everything very update). Specific differences I’m aware of:

CPU:
Xeon W-2125 4C/8T/4.0GHz -> Xeon E-2174G 4C/8T/3.8GHz

OS:
Windows 10 Pro -> Server 2019


I could theoretically throw the P2000 in the old build in place of the P4000 and see how that does… But I have migrated everything and don’t want to muck up the new server naming and availability.

I’m new-ish to Plex, but just built a PMS that I hope is somewhat future proof so I can start improving my 4K/UHD collection, and found this thread which seems to echo the issue I am seeing. If I can help debug or try different things to help narrow down issues or test fixes, let me know.

My setup:

Network:

  • 1 GB/s Wired
  • Cisco Catalyst 3750 48 Port Switch PoE - WS-C3750-48PS-S

Server:

  • Windows 10 Pro x64
  • Gigabyte Aorus Z390 Pro Wifi
  • Intel Core i9-9900K (16 logical processors)
  • 32 gb DDR 4 Dual channel
  • 500 GB M.2 SSD
  • PNY nVidia Quadro P2000 (Connected to a monitor using the DP -> DVI-D adapter)
  • PMS 1.16.3.1433 (July 25, 2019)
    ** Hardware Transcoding enabled
    ** Transcoding Quality (Automatic)

Clients:

  • Samsung 4K 50" UHD
  • nVidia SHIELD TV

When transcoding 1080p with Subtitles, Verbose logs show transcoding speeds => 5.7 to 6.1.
When transcoding 4k with Subtitles, logs show speed => 0.8 to 0.6.
So far I’ve direct-played 3 x 4K with no transcoding (subtitles off), but when I enable subtitles, a single stream buffers like crazy.

All drivers are up to date as of 7/25/2019.

Looking forward to someday being able to crank out at least one 4K transcoding session with no buffering/pausing.

If there are any settings I should be looking at / trying I’m all ears!