Server Version#: 1.16.2.1321
Player Version#: 3.99.2 (Web) - countless others tried, Android, Android TV, Xbox
Summary: Plex insists (and fails) to initiliaze CUDA DLL’s even if you have an AMD card or are using Intel Quick Sync.
These logs are from my server running Windows Server 2019 with an AMD Radeon Pro WX5100. All of the latest Windows Updates are installed. I also have the latest Radeon Pro drivers. Media Foundation is installed, yada yada yada - I tried a software utility (StaxRip) that can utilize AMD’s encode hardware. It works. I tried forcing LAV to decode AVC and HEVC in hardware in MPC-HC. That works. I tried to get Plex to hardware transcode. That works once or twice immediately following a reboot, then it stops working.
A friend called me and told me they had really high CPU usage on their tiny Plex server, i3 3220 in an ITX case. Obviously, he was expecting QSV to be doing the heavy lifting. I fired up Handbrake and tried to do a simultaneous QSV decode/encode. 100+ FPS. I closed that and tried to get something in 1080p to transcode, CPU usage instantly at 100%, I checked his logs and saw the same exact thing there as well that I saw in my own. Firefox choked and crashed before we could copy them, guess it wasn’t happy about PlexTranscoder.exe taking over.
Plex’s own page on hardware transcoding has the “pecking order” for the different libraries:
It skips straight to CUDA on both machines, except on mine when it is randomly working.
Neither machine has never had nVIDIA hardware in it, nor have we ever installed their drivers.
DXVA Checker reports an all clear for both machines. Mine shows H.264, VC-1, H.265, and a bunch of other encode/decode support. The i3/QSV machine shows MPEG2/H.264/VC-1 hardware decode support. Both say DXVA2/D3D11, and dxdiag.exe doesn’t show anything weird on either server too.
What gives? Handbrake is using ffmpeg - we know the features work in other software. Why isn’t it working in the one instance we actually paid for it?
Jul 19, 2019 21:24:23.556 [13012] Error — [FFMPEG] - Cannot load nvcuda.dll
Jul 19, 2019 21:24:23.556 [13012] Warning — avcodec_open2 returned -1313558101 for encoder 'h264_nvenc'
Jul 19, 2019 21:24:23.578 [13012] Error — [FFMPEG] - could not create MFT
Jul 19, 2019 21:24:23.578 [13012] Warning — avcodec_open2 returned -40 for encoder 'h264_mf'
Jul 19, 2019 21:24:23.590 [13012] Error — [FFMPEG] - Could not create the surfaces
Jul 19, 2019 21:24:23.591 [13012] Error — [FFMPEG] - Error creating an internal frame pool
Jul 19, 2019 21:24:23.594 [13012] Error — [FFMPEG] - Cannot load nvcuda.dll
Jul 19, 2019 21:24:23.594 [13012] Warning — avcodec_open2 returned -1313558101 for encoder 'h264_nvenc'
Jul 19, 2019 21:24:23.618 [13012] Error — [FFMPEG] - could not create MFT
Jul 19, 2019 21:24:23.618 [13012] Warning — avcodec_open2 returned -40 for encoder 'h264_mf'
Jul 19, 2019 21:24:23.629 [13012] Error — [FFMPEG] - Could not create the surfaces
Jul 19, 2019 21:24:23.629 [13012] Error — [FFMPEG] - Error creating an internal frame pool
Jul 19, 2019 21:24:23.633 [13012] Error — [FFMPEG] - Cannot load nvcuda.dll
Jul 19, 2019 21:24:23.633 [13012] Warning — avcodec_open2 returned -1313558101 for encoder 'h264_nvenc'
Jul 19, 2019 21:24:23.653 [13012] Error — [FFMPEG] - could not create MFT
Jul 19, 2019 21:24:23.653 [13012] Warning — avcodec_open2 returned -40 for encoder 'h264_mf'
Jul 19, 2019 21:24:23.667 [13012] Error — [FFMPEG] - Could not create the surfaces
Jul 19, 2019 21:24:23.667 [13012] Error — [FFMPEG] - Error creating an internal frame pool
Jul 19, 2019 21:24:23.670 [13012] Info — [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Jul 19, 2019 21:24:23.672 [13012] Error — [FFMPEG] - Cannot load nvcuda.dll
Jul 19, 2019 21:24:23.673 [13012] Warning — avcodec_open2 returned -1313558101 for encoder 'h264_nvenc'
Jul 19, 2019 21:24:23.688 [13012] Error — [FFMPEG] - could not create MFT
Jul 19, 2019 21:24:23.689 [13012] Warning — avcodec_open2 returned -40 for encoder 'h264_mf'
Jul 19, 2019 21:24:23.701 [13012] Error — [FFMPEG] - Could not create the surfaces
Jul 19, 2019 21:24:23.701 [13012] Error — [FFMPEG] - Error creating an internal frame pool
Jul 19, 2019 21:24:23.703 [13012] Info — [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Jul 19, 2019 21:24:23.706 [13012] Error — [FFMPEG] - Cannot load nvcuda.dll
Jul 19, 2019 21:24:23.706 [13012] Warning — avcodec_open2 returned -1313558101 for encoder 'h264_nvenc'
Jul 19, 2019 21:24:23.723 [13012] Error — [FFMPEG] - could not create MFT
Jul 19, 2019 21:24:23.723 [13012] Warning — avcodec_open2 returned -40 for encoder 'h264_mf'
Jul 19, 2019 21:24:23.736 [13012] Error — [FFMPEG] - Could not create the surfaces
Jul 19, 2019 21:24:23.736 [13012] Error — [FFMPEG] - Error creating an internal frame pool
Jul 19, 2019 21:24:23.739 [13012] Error — [FFMPEG] - Cannot load nvcuda.dll
Jul 19, 2019 21:24:23.739 [13012] Warning — avcodec_open2 returned -1313558101 for encoder 'h264_nvenc'
Jul 19, 2019 21:24:23.754 [13012] Error — [FFMPEG] - could not create MFT
Jul 19, 2019 21:24:23.754 [13012] Warning — avcodec_open2 returned -40 for encoder 'h264_mf'
Jul 19, 2019 21:24:23.766 [13012] Error — [FFMPEG] - Could not create the surfaces
Jul 19, 2019 21:24:23.766 [13012] Error — [FFMPEG] - Error creating an internal frame pool
Jul 19, 2019 21:24:29.149 [14876] Warning — Held transaction for too long (..\Statistics\StatisticsManager.cpp:248): 0.156250 seconds