Converting to a lower quality fails with Hardware-Accelerated Streaming in Plex Web

I can clearly say it was not the pcie slot on my system. I thought it was, but no :smiley:
Definitely, the nvidia driver fixed it for me.

An update. I spun up a brand new VM (not an LXC this time) and setup pass through for the raw PCIE device. Fresh install of Ubuntu server 20.04 with the latest plex pass beta. I tried the latest nvidia driver from their site and the nvidia-450 driver via apt. The problem persists with both drivers, changing quality freezes/kills the transcoder.

Also just tried on kernel 5.8.18-050818-generic just in case, same thing :c

I have gone a step further and just tried this on a fresh install of CentOS 8 with the latest nvidia drivers, and the results are again the same

1 Like

So, I’ve even gone as far as testing this on a fresh Windows 10 VM, and I get the same result. At this point I’m wondering if it could be some hardware/motherboard/bios combination issue. I’m on a Supermicro X10 board, might try changing some PCI bios settings. I did find another thread with this same issue as well:

@jpurpura
It’s not a hardware issue. I guarantee if you try using an alternate web player such as synclounge, you will have no issues changing the transcoder quality.

The issue lies with Plex Web Player.

Yeah you’re right, thought I’d try it since most people don’t seem to have this issue. Synclounge is working perfectly, I can switch all day as fast as I want and it just works. Really sucks that one of the most used players has this issue

I found this interesting, I noticed there is a different command for plex transcoder for playing back the same file in Synclounge vs Plex Web:

The middle and bottom commands are both the same file, the bottom being via Plex Web with the middle being Synclounge (the one that actually lets you change quality).

EDIT: Nevermind, I thought that stream via web was using HW acceleration, but I guess it isn’t? Not sure why its showing under NVTOP then.

I’m experiencing this exact same issue in my test bed. Am looking to move to virtualized setup and wanted to test hardware acceleration before I did so.

Setup:
proxmox running on Dell R720XD
Quadro P400 PCI-E passthrough to an Ubuntu 20.04 VM
Plex latest from repo

HW transcode works just fine on Plex Windows desktop app and Android clients, showing as such on dashboard with corresponding low CPU utilization, and can select multiple bitrates without issue, it just resumes playing after switching to new bitrate.

When playing in Plex Web on Chrome, Brave, or FireFox browsers, selecting a new bitrate to transcode to causes it to hang, though time elapsed counter on Dashboard shows increasing as if it’s playing but no network traffic, nvtop shows GPU not engaged, top shows CPU not engaged - when paused, it reverts back to original start time in Dashboard.

Tested with synclounge as well, and switching bitrates works without issue, shows properly on dashboard.

edit to add: I’m already running driver 450.

Well this is interesting, I updated the Nvidia driver to 455.45.01 and now in Plex Web I can change transcode quality without it crashing in web 4.47.1 (plex.tv webapp)

With the self hosted web app (4.43.4) I can also change quality to everything except 720p 2Mbps. It seems to only crash if I pick that exact quality, others I can switch around just fine.

EDIT: After more testing, it seems I can change quality with success most of the time. Occasionally I will run into the transcoder failing, but the majority of time it does work regardless of quality and Plex Web version (between the two).

What card are you using? Think Nvidia recommends 450 for the Quadro P400 I have. Not sure if there are any issues with using a more recent driver.

Also, did you have a good guide for updating the driver? I’m headless server, and found a guide but haven’t executed yet.

I just upgraded to 455 via repository, and it’s still not working for me. The old 450 driver was not even working any more, not sure if something got updated and broke the standalone install I had done. Going to make a new VM and try again with 455 from repo from the start.

Edit to add: built new VM, tried with 455 from start instead of upgrading from 450 to 455, same issue. Rebuilt VM with Ubuntu 18.04.5 LTS and 455, and no issues changing quality in transcoding using standard web client, works exactly as expected. Got some time to resolve this, I guess, since 18.04 isn’t EOL for another 3 years heh.

I don’t want this to close, this is still an issue for me.
I just upgraded to
plexmediaserver_1.22.0.4145-0af3a4016_amd64
nvidia-460.56, linux 5.8.0-44-generic
Still on Ubuntu 20.04 LTS with Quadro P2200
Still on Xeon X5650 with no quicksync

Still unable to transcode with plex web, but works on other plex clients (android, roku, synclounge)

$ ls -l /dev/dri/by-path/
lrwxrwxrwx 1 root root  8 Mar  8 02:01 pci-0000:06:00.0-card -> ../card0
lrwxrwxrwx 1 root root 13 Mar  8 02:01 pci-0000:06:00.0-render -> ../renderD128
$ lshw -C display
  *-display
       description: VGA compatible controller
       product: GP106GL [Quadro P2200]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:06:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:54 memory:dd000000-ddffffff memory:c0000000-cfffffff memory:be000000-bfffffff ioport:fc80(size=128) memory:c0000-dffff

$ apt list --installed 2>/dev/null | grep nvidia
libnvidia-cfg1-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
libnvidia-compute-455/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed]
libnvidia-compute-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
libnvidia-decode-455/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed]
libnvidia-decode-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
libnvidia-encode-455/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed]
libnvidia-encode-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
libnvidia-ml-dev/focal,now 10.1.243-3 amd64 [installed,automatic]
nvidia-compute-utils-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
nvidia-cuda-dev/focal,now 10.1.243-3 amd64 [installed,automatic]
nvidia-cuda-doc/focal,focal,now 10.1.243-3 all [installed,automatic]
nvidia-cuda-gdb/focal,now 10.1.243-3 amd64 [installed,automatic]
nvidia-cuda-toolkit/focal,now 10.1.243-3 amd64 [installed]
nvidia-dkms-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
nvidia-headless-455/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed]
nvidia-headless-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
nvidia-headless-no-dkms-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
nvidia-kernel-common-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
nvidia-kernel-source-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
nvidia-opencl-dev/focal,now 10.1.243-3 amd64 [installed,automatic]
nvidia-profiler/focal,now 10.1.243-3 amd64 [installed,automatic]
nvidia-utils-455/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed]
nvidia-utils-460/focal,now 460.56-0ubuntu0.20.04.1 amd64 [installed,automatic]
nvidia-visual-profiler/focal,now 10.1.243-3 amd64 [installed,automatic]

Still an issue for me as well, thanks for keeping this open. I moved to 18.04 LTS for my planned production environment (whenever I get the time to move over to my virtualized setup) but it was still occurring with Ubuntu 20.04. If any additional testing or logs are required, let me know, I can easily spin up a VM and get it tested within an hour or so.

I’m still having this issue as well.

Ubuntu 20.04.2
5.4.0-642101212021-generic
NVIDIA 460.39 - Quadro P2200
Plex Server 1.21.4.4079
Plex Web 4.52.2

I am having this issue! Transcoding works great on my phone and other devices. On my windows machine through the browser and through the desktop app it refuses to work. Running in a windows environment VM with the GPU passed through to it. Handbrake and FFmpeg use it properly and plex can use it correctly too but apparently not on my pc. I have also found that it does work on my desktop system when I am watching Live TV or other content that HAS to be transcoded. I have tried on a fresh plex install as well with the same issue. It seems to be a client problem. I hope this gets resolved soon! Thanks guys.
Running the latest versions of the server and the apps.

@ChuckPa I hate to ping you directly, but we are closing in on one year with this problem and no staff replies. We have ~5 users with this issue on this thread with similar configurations:
EG: nvidia GPU, no quicksync CPU, Ubuntu (one of us says Windows has the problem), Plex Pass

I’m sure most of us bought a Quadro card to go with our Plex Pass membership - in any case it was the sole reason I did.

May I please see DEBUG log files (VERBOSE OFF) which capture:

  1. Start Playback
  2. Play 20 seconds
  3. Stop Playback
  4. Wait 20 for logs to flush
  5. Download the logs ZIP file
  6. Attach the ZIP

If there is a VM or container involved, please state so

Sorry for the delay in response - I had to rebuild the VM from scratch.

My environment is:
proxmox 6.3-6
PCI passthrough of Quadro P400
VM running Ubuntu 20.04

If you need additional details let me know, I will happily provide.

Using plex player in Chrome browser:
Direct play at original 1080p, no issues
Set to 480p, attempt to play, failed with a network error
Eventually did play at 480p and shows hw transcoding on dashboard in separate window
Switched to 720, hit play - elapsed time on dashboard increases but item never plays in web window
Paused, tried playing again, same thing - dashboard shows direct play at 1080p even though Chrome web player is set to 720p, 480p, whatever resolution other than original

Using plex app in Windows 10:
Load in direct play, no issues
Switch to 480p, no issue
Switch to 720p, no issue
Switch to 1080 20mbps, no issue
Switch back to direct play, no issue

Some delay in the dashboard showing hw transcoding/showing bitrate changes but all except direct play showed hw transcoding.

Logs attached below. Let me know if you need me to do any further testing, will keep the VM around for now.

Plex Media Server Logs_2021-03-30_01-58-14 - no issues with plex app.zip (374.5 KB) Plex Media Server Logs_2021-03-30_01-55-41 - failures with chrome.zip (327.1 KB)

Your logs do not show hardware transcoding.

Mar 30, 2021 01:51:41.648 [0x7fcebb157700] DEBUG - [Transcode] Found session GUID of 6t2llkr7f1u7tezkqdwe05dz in session start.
Mar 30, 2021 01:51:41.648 [0x7fcebb157700] DEBUG - [Transcode] Cleaning directory for session 6t2llkr7f1u7tezkqdwe05dz ()
Mar 30, 2021 01:51:41.648 [0x7fcebb157700] DEBUG - [Transcode] Starting a transcode session 6t2llkr7f1u7tezkqdwe05dz at offset -1.0 (state=3)
Mar 30, 2021 01:51:41.649 [0x7fce28ff9700] DEBUG - [Transcode] Killing job.
Mar 30, 2021 01:51:41.649 [0x7fce28ff9700] DEBUG - [Transcode] Signalling job ID 23496 with 9
Mar 30, 2021 01:51:41.649 [0x7fce28ff9700] DEBUG - [Transcode] Job was already killed, not killing again.
Mar 30, 2021 01:51:41.649 [0x7fce28ff9700] DEBUG - [Transcode] Stopping transcode session mvpzdvtjr6ym9a1l2jcsn3z5
Mar 30, 2021 01:51:41.649 [0x7fceb9954700] DEBUG - [Transcode] Cleaning directory for session mvpzdvtjr6ym9a1l2jcsn3z5 (/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-mvpzdvtjr6ym9a1l2jcsn3z5-7fe77c71-70f5-4e26-859f-e5dc19b457b1)
Mar 30, 2021 01:51:41.649 [0x7fcebb157700] DEBUG - [Transcode] TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Mar 30, 2021 01:51:41.649 [0x7fcebb157700] DEBUG - [Transcode] [Universal] Using local file path instead of URL: /media/mediashare/movies/Once Upon a Snowman (2020)/Once Upon a Snowman 2020 WEBDL-1080p.mkv
Mar 30, 2021 01:51:41.649 [0x7fcebb157700] DEBUG - [Transcode] TPU: hardware transcoding: final decoder: , final encoder: 
Mar 30, 2021 01:51:41.649 [0x7fcebb157700] DEBUG - [Transcode/JobRunner] Job running: EAE_ROOT='/tmp/pms-23157d99-fe5e-4d62-a516-9a943ff393a8/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/73e06c8-3759-linux-x86_64/' X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxm' '/usr/lib/plexmediaserver/Plex Transcoder' '-codec:0' 'h264' '-codec:1' 'eac3_eae' '-eae_prefix:1' '6t2llkr7f1u7tezkqdwe05dz_' '-ss' '0' '-noaccurate_seek' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/media/mediashare/movies/Once Upon a Snowman (2020)/Once Upon a Snowman 2020 WEBDL-1080p.mkv' '-map' '0:0' '-codec:0' 'copy' '-filter_complex' '[0:1] aresample=async=1:ocl='\''stereo'\'':rematrix_maxval=0.000000dB:osr=48000[0]' '-map' '[0]' '-codec:1' 'aac' '-b:1' '256k' '-f' 'dash' '-seg_duration' '5' '-init_seg_name' 'init-stream$RepresentationID$.m4s' '-media_seg_name' 'chunk-stream$RepresentationID$-$Number%05d$.m4s' '-window_size' '5' '-delete_removed' 'false' '-skip_to_segment' '1' '-time_delta' '0.0625' '-manifest_name' 'http://127.0.0.1:32400/video/:/transcode/session/6t2llkr7f1u7tezkqdwe05dz/de0ffcbd-a36e-4828-97c7-d4e57d50192d/manifest?X-Plex-Http-Pipeline=infinite' '-avoid_negative_ts' 'disabled' '-map_metadata' '-1' '-map_chapters' '-1' 'dash' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-y' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/6t2llkr7f1u7tezkqdwe05dz/de0ffcbd-a36e-4828-97c7-d4e57d50192d/progress'
Mar 30, 2021 01:51:41.650 [0x7fce28ff9700] DEBUG - [Transcode] Whacked session mvpzdvtjr6ym9a1l2jcsn3z5, 1 remaining.
Mar 30, 2021 01:51:41.651 [0x7fce220fa700] DEBUG - [Transcode] MDE: Cannot direct stream video stream due to profile or setting limitations
Mar 30, 2021 01:51:41.651 [0x7fce220fa700] DEBUG - [Transcode] Codecs: testing h264 (decoder) with hwdevice vaapi

Not to challenge but are you sure which server you were playing from? ( I mix mine up from time to time )

I just repeated with new logs and screenshots (all attached). Earlier logs is via chrome web player, later logs are after using plex app. For clarification, the screenshots show that the counter on the dashboard is increasing even though the player is not, then when pause is hit on the player the counter goes back to the value it was stuck at.

If you want to have a screen sharing session or something to demo, I’m willing to participate.Plex Media Server Logs_2021-03-30_02-41-14.zip (649.5 KB) Plex Media Server Logs_2021-03-30_02-43-12.zip (765.9 KB) plexscreenshots.zip (222.3 KB)

@ChuckPa - just making sure the last set of logs is what you needed, and renewing my offer for a screen sharing session if what I sent previously is not clear.