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

ok this issue for me had seemed to resolve itself. I could transcode on my firefox no issue for a while.

I updated my server and hey guess what it’s back and I cant transcode anymore on firefox. But wait, there are family streaming transcodes to firefox/chrome no issue according to my tautulli logs??

If I open firefox on my system and try to transcode a video it will FAIL. If I open a new “container tab” in firefox (effectively a fresh firefox no cookies/cache/etc) and play the same video it WILL transcode.

I tried to clear my site data in my normal firefox profile and it still fails to transcode. Is the Plex server logging something about the session that it deems cant recieve a transcode? I dont know, but here is a debug log from my plex showing me opening and direct streaming, switching to a failing transcode and then logging in with the same account through a fresh firefox container and transcoding perfectly.

Clearly there’s an issue with something somewhere with how this worked out.

Server is: 1.24.3.5033 on Ubuntu 18.04.3
Plex Web Version 4.63.0 on Firefox 92, Windows 10

Hopefully @chrisallen @ChuckPa might be able to figure part of this out?

plex-log.txt (966.2 KB)

same issue, created a new thread as this is getting stale.

Just reporting in as another user with the same issue, trying to use P2000 for hardware transcoding.
Seeing the exact same things happening (both in behavior and server logs).

I was now trying to use Debian 10 hoping it would work, but I’m still experiencing the same issue, so I was wondering @el_pedriyo if you could share some specifics on the setup that worked for you?

  • NVIDIA driver version
  • kernel version

Thanks in advance

EDIT

I just realized you probably meant you fixed the “cannot do more than 4x 4k transcodes” issue by using Debian 10, but the Transcoder crashing from Plex Web or PMP is still happening on that OS version as well?

I don’t use PMP personally, but Plex Web gets used A LOT, especially when sitting remote and thus needing transcoding…

@chrisallen Is there any way you guys can test this on Ubuntu / Debian, seeing as you reporting it works fine on Unraid probably means it has something to do with the specific combination of OS/Player/Hardware?

EDIT 2

I just downgraded my nvidia-driver to version 418.211.00 and all of my issues are resolved.

Combinations that would crash the Transcode job when using Plex Web:

  • nvidia-driver-495 on Ubuntu 20.04
  • nvidia-headless-495 on Ubuntu 20.04
  • nvidia-driver (460) on Debian 10 (latest version from buster-backports repository)

The combination that did work:

  • nvidia-driver (418) on Debian 10 (latest version on the oldstable repository for debian)

I hope this will provide some insights to the development team and I hope future nvidia drivers will be supported as well, as currently 418 is the absolute minimum supported by Plex if I’m correct (and given these issues, also the absolute maximum atm when using P2000)

Some noteworthy findings, not sure if they’ll be helpful:

  • for all drivers except the working one, one or both of the following packages were always missing and required a manual install (plex would complain in the logs not being able to find them): libnvidia-encode1, libcuda1. I find it interesting that the one driver that does not exhibit these issues, didn’t require any extra package installations.
  • driver 418 ships with CUDA 10.1, while all the drivers that were failing shipped with CUDA 11+

EDIT 3
Seems like I cheered too soon :frowning: Been getting a lot of s1003 errors whenever I force transcoding on Plex Web. Also, PMS using 100% cpu even when nothing is going on. It’s just incredibly unstable once HW transcoding is turned on.

I’ve tested with a whole range of extra drivers and they have the same issue (transcoder died) under Ubuntu/Debian:

  • 440
  • 470 (recommended version for P2000 by nvidia)

Spend nearly 10 hours testing different drivers, OS’'es, docker vs no docker with no results.

For reference I spun up Jellyfin on latest Ubuntu server, kernel and nvidia driver and transcoding works flawlessly. Kind of sad, because I like Plex better, but the most recent Plex versions just refuse to work with this gfx card on linux.

@rvancauter , i was about to also test old drivers… but based on your summary, there is no point… 418 is unstable… all versions above produce the issues outlines in this thread?

Correct. I’ve tried a lot of combinations, none of them work well with Plex Web transcoding.
They all exhibit the same problem at the core of it: the transcoder worker gets killed by Plex (for some reason). Now and then it does work, regardless of version, but it’s very spotty as it fails more often than it works.

Tonight I’m going to try CentOS instead of a Debian derivative, my last resort will be trying a Windows install…

EDIT

Both CentOS and Windows are giving me the same issue…

I also encounter the very same problem. I bought a nvidia p4000 for hardware transcoding. When I try to transcode to a format lower than 1080p 20Mbps the transcoder crashes instantly and the stream is loading infinitely.

Wanted to chime in here and am experiencing the same issue with a p2000. I’m paying for Plex pass and I see no fix incoming for users experiencing this issue. I’m about 1 week away from installing Jellyfin and calling it a day.

Stumbled onto this thread.

May I please see some DEBUG server logs which capture this happening?

The only log zip in this thread is from 2021.

Sorry, you caught me 3 hours too late. I just got done installing Jellyfin because it works with my setup. I unfortunately deleted my PMS folder to clear up some cache space. I was getting the same error as everyone else, just transcoding failed whenever I turned it under 1080p.

If it helps at all, I was on the latest PMS version and had the most up to date Nvidia Quadro drivers from their site. I also tried like 1 year old drivers and had the same issue. I’ll keep an eye on this thread and am open to troubleshooting if you think there is any point.

What you have or had isn’t important at this point.

What I need to see are the server logs so I can see what it’s doing and why it’s doing it.

Am a little surprised that “1 week” ended up being only a few hours; on the weekend.

Here are some logs. First set, was my not uptodate server failing to encode anything in plex web/plex for windows app. Althought has been running for days without issue transcoding on TV’s. The failed transcodes are the most recent thing that occured in the logs because as usual plex web just fails to transcode, this never used to happen for plex for windows but I guess it breaks in that now too.

The second set is me after updating the server to latest beta build and trying plex web/plex for windows and failing transcodes on 2 different movies (to prove this isnt a file issue) and then watching trhe same movies on my TV transcoding flawlessly. These logs have debugging on.

Plex Media Server Logs_2022-02-12_22-42-47.zip (2.7 MB)
DEBUG ON_Plex Media Server Logs_2022-02-12_23-00-27.zip (2.5 MB)

I appreciate the log file upload. This is a known issue and the team isn’t addressing it seriously. They’ve been troubleshooting this for a year and blaming people’s GPUs to be faulty when there is a subset of people who are experiencing this.

I had my server pulled out of the rack in some jank setup and only had help to get it moved back in today, so I have to think of a solution quickly.

Here’s those logs I just redownloaded Plex and reproduced the issue.
Plex Media Server Logs_2022-02-12_18-43-46.zip (83.3 KB)

@cr4zyb4st4rd

Your logs are showing me successful Nvidia hardware transcoding.

Feb 12, 2022 22:53:31.840 [0x7ff4d08c4b38] DEBUG - [Transcode] Starting a transcode session 28qwfkc9wxv19hcknmux7o65 at offset -1.0 (state=3)
Feb 12, 2022 22:53:31.841 [0x7ff4d08c4b38] DEBUG - [Transcode] TPU: hardware transcoding: using hardware decode accelerator nvdec
Feb 12, 2022 22:53:31.841 [0x7ff4d08c4b38] DEBUG - [Transcode] TPU: hardware transcoding: zero-copy support present
Feb 12, 2022 22:53:31.841 [0x7ff4d08c4b38] DEBUG - [Transcode] TPU: hardware transcoding: using zero-copy transcoding
Feb 12, 2022 22:53:31.841 [0x7ff4d08c4b38] DEBUG - [Transcode] [Universal] Using local file path instead of URL: /home/scott/storage1/Movies/Stripes (1981)/Stripes.1981.Theatrical.Cut.1080p.AMZN.WEB-DL.DD+5.1.H.264-alfaHD.mkv
Feb 12, 2022 22:53:31.841 [0x7ff4d08c4b38] DEBUG - [Transcode] TPU: hardware transcoding: final decoder: nvdec, final encoder: nvenc
Feb 12, 2022 22:53:31.842 [0x7ff4d08c4b38] DEBUG - [Transcode/JobRunner] Job running: EAE_ROOT='/tmp/pms-529abc49-a01a-419d-bfdf-8d3b630bd255/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/62cc2bc-4226-linux-x86_64/' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/usr/lib/plexmediaserver/Plex Transcoder' '-codec:0' 'h264' '-hwaccel:0' 'nvdec' '-hwaccel_fallback_threshold:0' '10' '-threads:0' '1' '-hwaccel_output_format:0' 'cuda' '-hwaccel_device:0' 'cuda' '-codec:1' 'eac3_eae' '-eae_prefix:1' '28qwfkc9wxv19hcknmux7o65_' '-ss' '13' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/home/scott/storage1/Movies/Stripes (1981)/Stripes.1981.Theatrical.Cut.1080p.AMZN.WEB-DL.DD+5.1.H.264-alfaHD.mkv' '-filter_complex' '[0:0]hwupload[0];[0]scale_cuda=w=1920:h=1080:format=nv12[1]' '-map' '[1]' '-codec:0' 'h264_nvenc' '-b:0' '8184k' '-maxrate:0' '10912k' '-bufsize:0' '21824k' '-forced-idr:0' '1' '-r:0' '23.975999999999999' '-filter_complex' '[0:1] aresample=async=1:ocl='\''5.1'\'':rematrix_maxval=60.000000dB:osr=48000[2]' '-map' '[2]' '-metadata:s:1' 'language=eng' '-codec:1' 'libopus' '-b:1' '444k' '-f' 'segment' '-segment_format' 'matroska' '-segment_format_options' 'live=1' '-segment_time' '1' '-segment_header_filename' 'header' '-segment_start_number' '0' '-segment_list' 'http://127.0.0.1:32400/video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/manifest?X-Plex-Http-Pipeline=infinite' '-segment_list_type' 'csv' '-segment_list_unfinished' '1' '-segment_list_size' '5' '-segment_list_separate_stream_times' '1' '-avoid_negative_ts' 'disabled' '-map_metadata:g' '-1' '-map_metadata:c' '-1' '-map_chapters' '-1' 'chunk-%05d' '-start_at_zero' '-copyts' '-init_hw_device' 'cuda=cuda:' '-filter_hw_device' 'cuda' '-y' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress'
Feb 12, 2022 22:53:31.842 [0x7ff4d08c4b38] DEBUG - [Transcode/JobRunner] Jobs: Starting child process with pid 8648
Feb 12, 2022 22:53:31.848 [0x7ff4cfca2b38] DEBUG - Request: [127.0.0.1:36062 (Loopback)] PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress?status=startup (11 live) Signed-in Token (cr4zyb4st4rd) (range: bytes=0-) 
Feb 12, 2022 22:53:31.849 [0x7ff4d0ccfb38] DEBUG - Completed: [127.0.0.1:36062] 204 PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress?status=startup (11 live) 0ms 203 bytes (pipelined: 1) (range: bytes=0-) 
Feb 12, 2022 22:53:32.206 [0x7ff4cfca2b38] DEBUG - Request: [127.0.0.1:36062 (Loopback)] PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress?status=startup (11 live) Signed-in Token (cr4zyb4st4rd) (range: bytes=0-) 
Feb 12, 2022 22:53:32.206 [0x7ff4d0cacb38] DEBUG - Completed: [127.0.0.1:36062] 204 PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress?status=startup (11 live) 0ms 203 bytes (pipelined: 2) (range: bytes=0-) 
Feb 12, 2022 22:53:32.206 [0x7ff4cfca2b38] DEBUG - Request: [127.0.0.1:36062 (Loopback)] PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress?status=opening (11 live) Signed-in Token (cr4zyb4st4rd) (range: bytes=0-) 
Feb 12, 2022 22:53:32.207 [0x7ff4d0cacb38] DEBUG - Completed: [127.0.0.1:36062] 204 PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress?status=opening (11 live) 0ms 203 bytes (pipelined: 3) (range: bytes=0-) 
Feb 12, 2022 22:53:32.208 [0x7ff4cfca2b38] DEBUG - Request: [127.0.0.1:36062 (Loopback)] PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress?status=opened (11 live) Signed-in Token (cr4zyb4st4rd) (range: bytes=0-) 
Feb 12, 2022 22:53:32.209 [0x7ff4d0ccfb38] DEBUG - Completed: [127.0.0.1:36062] 204 PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress?status=opened (11 live) 0ms 203 bytes (pipelined: 4) (range: bytes=0-) 
Feb 12, 2022 22:53:32.209 [0x7ff4cfca2b38] DEBUG - Request: [127.0.0.1:36062 (Loopback)] PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress/stream?index=0&id=0&codec=h264&type=video (11 live) Signed-in Token (cr4zyb4st4rd) (range: bytes=0-) 
Feb 12, 2022 22:53:32.209 [0x7ff4d0ccfb38] DEBUG - Completed: [127.0.0.1:36062] 200 PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress/stream?index=0&id=0&codec=h264&type=video (11 live) 0ms 195 bytes (pipelined: 5) (range: bytes=0-) 
Feb 12, 2022 22:53:32.210 [0x7ff4cfca2b38] DEBUG - Request: [127.0.0.1:36062 (Loopback)] PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress/stream?index=1&id=0&codec=eac3&type=audio (11 live) Signed-in Token (cr4zyb4st4rd) (range: bytes=0-) 
Feb 12, 2022 22:53:32.210 [0x7ff4d0ccfb38] DEBUG - Completed: [127.0.0.1:36062] 200 PUT /video/:/transcode/session/28qwfkc9wxv19hcknmux7o65/9ab06103-3123-4dc0-88f2-5bf6fb18cfab/progress/stream?index=1&id=0&codec=eac3&type=audio (11 live) 0ms 195 bytes (pipelined: 6) (range: bytes=0-) 

@BillTheScrub

You turned off DEBUG logging. Nothing for me to debug with

plus, I am not good with windows. This is the Linux forum.

Here is the exact error crash me and a lot of others are getting:

Feb 12, 2022 18:41:47.898 [5872] WARN - [Transcode/hrkxf3acz4qd7pdpcjw9tp57] Transcode runner appears to have died.
Feb 12, 2022 18:41:47.913 [9344] WARN - [Transcode/hrkxf3acz4qd7pdpcjw9tp57] Transcode runner appears to have died.

Here is some links to some others with similar issues:

https://forums.unraid.net/topic/40463-support-linuxserverio-plex-media-server/page/87/

It seems to be happening across Ubuntu, Linux, Docker, and other linux distros. Seems to be directly related to HW transcoding in a web browser/windows client/android client.

How do I turn on Debug logging? I thought I had it on when I gathered the logs. It seems like the issue is happening across OSs. It has to be a server issue though because the transcoder process just dies when this happens and doesn’t restart for quite some time unless manually restarted.

I’m sorry, I don’t support out on Reddit. At most, I invite Reddit to come here where I have all the tools at my disposal.

Yeah, sorry. The beginning of the logs would show me transcoding a 4k movie successfully, but then I change the quality down to 720 and it dies.

Like I said, if we’re transcoding 1080 or higher, it works like a charm. The issues occurs only when transcoding anything under 720.