Server Version#: 1.31.3.6819
Player: Web client, on same LAN as server
System
AMD Threadripper 5975 WX
256 GB RAM
Proxmox 7.3-6
Plex is running on Ubuntu 20.04 (in a proxmox LXC container)
Nvidia Tesla P4 running driver 460.106.00 (latest version driver available for this device)
Hardware transcoding is turned on in server settings.
[Checked] Use hardware acceleration when available
[Checked] Use hardware-accelerated video encoding
When I play a video, it starts out playing original quality (that’s good). I then manually change the resolution to force encoding. E.g., 1080p 10 mbps.
Sometimes, everything works fine. The video transcodes and I can see in nvidia-smi that the GPU is working:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.106.00 Driver Version: 460.106.00 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla P4 On | 00000000:61:00.0 Off | 0 |
| N/A 29C P0 24W / 75W | 535MiB / 7611MiB | 1% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 268284 C ...diaserver/Plex Transcoder 533MiB |
+-----------------------------------------------------------------------------+
Sometimes, it just doesn’t transcode. The player just shows a blank black screen and nvidia-smi shows that the GPU isn’t doing any work.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.106.00 Driver Version: 460.106.00 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla P4 On | 00000000:61:00.0 Off | 0 |
| N/A 27C P8 6W / 75W | 2MiB / 7611MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
And there doesn’t seem to be a pattern. Using the exact same video, 1080p 20Mbps will work just fine, then I’ll switch to another resolution and back to 1080p 20Mbps but it’ll fail.
Looking through the logs, I see a few of these messages:
ERROR - [TranscodeOutputStream] Session appears to have died from under us
WARN - [Req#f62/Transcode/iku57cqgxgfajy5waeis5z9u] Transcode runner appears to have died.
This is a known bug with Plex/web.
I was able to catch it over the weekend (finally) and submitted to the Plex/web team after having it reviewed by the Server team to confirm there were no server issues.
I’ll know more after Plex/web team reviews it.
The unfortunate workaround is to preset a lower quality before starting playback.
@ChuckPa. Thank you for the quick responses. I appreciate your assistance.
A couple more questions:
Is there a bug tracker or something else I can monitor to know when the issue has been resolved?
Does the issue affect any other clients, or should I expect transcoding to work correctly on all other players?
Could my issue be at all related to the issues described in this ongoing thread (Hardware transcoding issue), or do you suspect it to be a separate issue?
Thinking that it might be related to that issue, I spun up a new LXC on proxmox, installed PMS 1.29.2.6364, and hardware transcoding appears to work. I switched it on/off and between different resolutions a couple dozen times, and everything worked fine.
I’m just second here with the very similar issue. For some reason hardware transcoding doesn’t work with web and fire tv android client. But it works just fine on play market android app.
I’m also seeing this in the logs
DEBUG - Jobs: '/usr/lib/plexmediaserver/Plex Transcoder' exit code for process 13638 is -9 (signal: Killed)
WARN - [Req#13c8/Transcode/7350cc62848c3742-com-plexapp-android] Transcode runner appears to have died.
@jkarter Can you post system info to help think through if this is a similar issue? What PMS version are you running? Did it previously work and stopped after an upgrade? What nvidia driver version do you have? What nvidia hardware?
The other thread I linked as a bunch of people talking about a similar issue. I’m not sure if it’s the same thing I have or different. But some more info would be helpful.
@Chuckpa It would appear I was premature this morning when I said that using PMS 1.29.2.6364 resolved my issue. It’s an intermittent failure, and after trying a few more times I got it to fail, too.
Does the issue that you referenced (#21427) only affect the plex/web client? Or are other clients affected, too?
I’m running PMS 1.31.2.6810 natively on Ubuntu 22.10. Hardware is HP microserver gen7 n36l + Nvidia Quadro P600. Nvidia driver is 525.85.12. I have just installed a dedicated nvidia quadro card recently for hardware transcoding so didn’t have any hw transcoding experience before.
Actually, I found an interesting way to reproduce this issue on my windows plex client. Client was configured to force transcoding for every video. And when I initially launch a video playback (1080p) - it starts just fine with the hardware transcoding enabled. But if I change video quality when video is already playing - playback fails and client throws me back to the menu. Below is attached a captured nvidia-smi output of what happens when I start a video playback, then change quality and then it fails (pms spawns a few transcoding processes but they immediately die).
@ChuckPa
It also crashes on the NVidiaShield Pro. And fails to play on the Android app on my phone.
PMS v1.29.2.6364 (I am using this version because in this other thread you said there’s a problem with transcoding on newer versions)
NVidia Shield Pro
Plex App v9.19.0.177
Video source: HEVC, 4K HDR, EAC3 audio
Transcoding using NVidia Tesla P4, driver version 460.106.00 (most current available for this device)
Transcode resolution: 720p @ 4 mbps
Stops immediately. The app is still running and I can see the scrub bar across the bottom, but no video or audio ever starts. Tested multiple times.
Android App
And on the Android app it just never starts playing the video. Period.
PMS v1.29.2.6364
Plex App v9.17.0.38861
Pixel 6 XL.
Updated the Android app to v9.19.0.177 and… it still never starts playing.
Plex/web
Plays, with the same symptoms described above (it will eventually die if I keep changing transcode resolutions).
I turned off hardware encoding and reverted back to software
plex/web: Transcoding appears to work again (though, as expected, it’s crushing my CPU)
Android app on Pixel 6 XL: Still refuses to play.
Nvidia Shield still stops immediately upon selecting 720p 4mbps. Server CPU usage never ramps up, and it’s obviously not trying to transcode the video stream.
Using PMS v1.28.0.5999
Same outcomes.
I’m running Plex in an LXC on Proxmox, so it only takes a couple minutes to spin up a new server for testing. If there’s an older version I should try then just say the word.
Other observations
The problems on NVidia shield and Android phone appear to only happen when trying to transcode the 4K HEVC HDR video. If I instead use a 1080p SDR video, the apps don’t hang.
It looks like you’re mixing Linux host info with what’s in the Nvidia Shield Pro 2019 .
Which OS & version please ? Which host is PMS running on?
As for the Pixel – I can’t address that but I think the first issue to solve is the bigger transcoding issue as Nvidia drivers 460 are marginal (maybe too old) for 1.29.2 but definitely too old for PMS 1.30.x (need 515 or above.
I’m using 525.60.13 from the Ubuntu distribution successfully.
@ChuckPa My Plex Media Server is running in an LXC on a Linux box. The Nvidia Shield Pro is used as a player only. The drivers that I listed are the driver version on the server. For the NVidia Shield, I listed the app version as downloaded from the Google Play store.
I was just poking around NVidia’s website and it appears that they do make more updated drivers for the Tesla P4. The guided selector thing spat out an old version. I’m going to try updating the drivers and see what that does.
Which distro is the host (where you’ll install the drivers) ?
I am running 20.04.5 LTS Ubuntu Server with Ubuntu-provided drivers
and that’s enough to get me AV1 decode (if I had the hardware).
It’ll be more than enough for you.
[chuck@glockner drivers.2001]$ nvidia-smi
Thu Mar 23 18:14:02 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.13 Driver Version: 525.60.13 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Quadro P2200 On | 00000000:07:00.0 Off | N/A |
| 48% 37C P8 4W / 75W | 1MiB / 5120MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
[chuck@glockner drivers.2002]$
LXC Container
Ubuntu 22.04 LTS
Kernel: 5.15.85-1-pve
Nvidia drivers v525.89.02
Plex Media Server v1.29.2.6364
Test Video File
Codec: MPEG-G Part2/HEVC
Resolution: 3840x2160
Frame rate: 24
HDR
Audio: E-AC3
Player: Plex/web
Transcoding with tone mapping enabled. Looks like it works. Yay.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.89.02 Driver Version: 525.89.02 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla P4 On | 00000000:61:00.0 Off | 0 |
| N/A 34C P0 28W / 75W | 684MiB / 7680MiB | 12% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 36715 C ...diaserver/Plex Transcoder 682MiB |
+-----------------------------------------------------------------------------+
I changed resolution 50 times, forcing transcode on/off. It worked without a hitch. Yay!
Player: NVidia Shield Pro
App version: 9.19.0.177
Starts playing with original quality. Everything works fine.
Set the resolution to 720p 4mbps. Playback stops, the video scrub bar is visible at the bottom. The right side of the scrub bar says “4K HDR”. No video plays no matter how long I wait.
No transcode process shows in nvidia-smi.
Set the resolution back to original quality. It immediately resumes playing. No problems.
Set the resolution to 1080p 12 mbps. Same problems as 720p.
Plex web worked correctly, presumably because of the updated nvidia driver. It’s the NVidia Shield Pro and Android phone app that aren’t playing correctly.
Also, I don’t see how to start video playback in plex web directly onto a resolution that will force transcode. Where is that option?