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

Server Version#: 1.19.5.3021
Player Version#: Plex Web 4.37.1

I recently acquired a Quadro P400 and turned on hardware transcoding with NVENC. This works, and playing HEVC files in Plex Web (Firefox or Chromium) sucessfully transcodes them to h264 using the GPU: https://fb.hash.works/ldQuTY/

However, as soon as I want it to transcode stuff to a lower quality, say 720p 4 Mb, the new Transcoder process just dies after a second: https://fb.hash.works/FL4QU/
Plex still shows things as playing in that case: https://fb.hash.works/hgjTMu/
The web player just freezes: https://fb.hash.works/knDsfs/

Logs in that case just say: WARN - Transcode runner appears to have died.

However, when I request it to transcode to a lower quality with players like Plex for Android on my phone or my Shield it works just fine: https://fb.hash.works/JrgkhV7/

Any idea? Without hardware transcoding this doesn’t happen.

I’m seeing the exact same behavior.

Try adding VaapiDriver="i965" to your Preferences.xml (before the closing />).
Start PMS
Retest.

This will determine if the Intel IHD driver or another issue.

I’ve added this line attribute to no effect.

The issue the OP and I are experiencing is related to Nvidia GPU transcoding - not Intel CPU iGPU.

In any case, thanks @ChuckPa for looking into this.

My apologies for overlooking.

With the Nvidia GPU, such quality issues are with the card itself and the Nvidia driver.
We tell it what we want but it decides how to perform the requested action.

Plex relies on the Nvidia drivers to communicate with and control the card.

This isn’t a quality issue though. The transcode doesn’t work at all to the web client. The transcode works when the client is my phone or my Nvidia Shield though. Why would it be different for the web client?

The encode that’s being attempted in my case is supported here: https://developer.nvidia.com/video-encode-decode-gpu-support-matrix

There are anecdotal reports from other Nvidia card users for transcodes like this working. I don’t think this is a simple incompatibility.

can you readily reproduce this? (I presume it is)

  1. Please enable DEBUG in the Plex/Web browser.
  2. Verify DEBUG (not VERBOSE) is enabled for the server.
  3. Recreate the hang.
  4. When it stops,
    a. stop the playback
    b. Get the Player logs from the Plex/Web UI and save in a text file.
    c. Download the server logs ZIP file.
  5. Attach both the server and player logs here.

b.

Archive: https://fb.hash.works/m-EjPxM9/tar
Single files: https://fb.hash.works/m-EjPxM9

I removed unrelated files and older lines. I’ve set Plex Web Log to verbose, normal debug output isn’t telling much. Server Log is set to debug.

Playback starts at 2020-07-05T10:53:06.501Z with 1080p/9Mbit (Direct Play). I request 720p/4Mbit at 2020-07-05T10:53:33.823Z, after which stuff breaks.

Interesting lines are in Plex Media Server.log at lines 761 (720p transcoding is about to start), 853 (720p transcoding dies / is killed) and again at 903.

12:53:37.183 DEBUG - Starting a transcode session 4imaqwce86dp8ilu45vj2x0y at offset -1.0 (state=3)
12:53:37.183 DEBUG - Killing job.
12:53:37.183 DEBUG - Signalling job ID 3234897 with 9
12:53:37.183 DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
12:53:37.183 DEBUG - Job was already killed, not killing again.
12:53:37.183 DEBUG - Stopping transcode session vb7nay28behq0at2bwn36pw4
[...]
12:53:37.553 DEBUG - Scaled maximum bitrate for resolution reduction to 4975Kbps.
12:53:37.553 DEBUG - Verräterische Signale - audio.channels limitation applies: 6 > 2
12:53:37.553 DEBUG - MDE: Cannot direct stream audio stream due to profile or setting limitations
12:53:37.553 DEBUG - MDE: Star Trek - The Next Generation - S4 E24 - Verräterische Signale: selected media 0 / 545161
12:53:37.554 DEBUG - Streaming Resource: Session 0x7efbe00a5b70:ds84oz9oogsxsxqhz7bz5mpl changed from using 9152kbps to 3975kbps of WAN bandwidth.  Used bandwidth is now 3975kbps
12:53:37.554 DEBUG - Streaming Resource: Session 0x7efbe00a5b70:ds84oz9oogsxsxqhz7bz5mpl changed transcode slot usage to used.  Used slots is now 1
12:53:37.554 DEBUG - Streaming Resource: Reached Decision id=243421 codes=(General=1001,Direct play not available; Conversion OK. Direct Play=3000,App cannot direct play this item. Direct play is disabled. Transcode=1001,Direct play not available; Conversion OK.) media=(id=545161 part=(id=602061 decision=transcode container=mp4 protocol=dash streams=(Video=(id=1468304 decision=transcode bitrate=3637 encoder=h264_nvenc width=960 height=720) Audio=(id=1468306 decision=transcode bitrate=148 encoder=aac channels=2 rate=48000))))
12:53:37.554 DEBUG - Using default transcode duration of 120 minutes
12:53:37.554 DEBUG - Started session successfully: 4imaqwce86dp8ilu45vj2x0y
12:53:37.554 200 GET /video/:/transcode/universal/start.mpd?hasMDE=1&path=%2Flibrary%2Fmetadata%2F243421&mediaIndex=0&partIndex=0&protocol=dash&fastSeek=1&directPlay=0&directStream=1&subtitleSize=100&audioBoost=100&location=wan&maxVideoBitrate=4000&addDebugOverlay=0&autoAdjustQuality=0&directStreamAudio=1&mediaBufferSize=102400&session=4imaqwce86dp8ilu45vj2x0y&subtitles=burn&Accept-Language=de (17 live) TLS GZIP 414ms 1024 bytes (pipelined: 17)
12:53:37.555 200 GET /video/:/transcode/universal/decision?hasMDE=1&path=%2Flibrary%2Fmetadata%2F243421&mediaIndex=0&partIndex=0&protocol=dash&fastSeek=1&directPlay=0&directStream=1&subtitleSize=100&audioBoost=100&location=wan&maxVideoBitrate=4000&addDebugOverlay=0&autoAdjustQuality=0&directStreamAudio=1&mediaBufferSize=102400&session=4imaqwce86dp8ilu45vj2x0y&subtitles=burn&Accept-Language=de (17 live) TLS GZIP 2752ms 1980 bytes (pipelined: 17)
12:53:37.555 DEBUG - Killing job.
12:53:37.555 DEBUG - Signalling job ID 3235068 with 9
12:53:37.555 DEBUG - Job was already killed, not killing again.
12:53:37.555 DEBUG - Stopping transcode session 4imaqwce86dp8ilu45vj2x0y

Some additional info:
nvidia driver version: 440.100
uname -a: Linux hive 5.7.6-arch1-1 #1 SMP PREEMPT Thu, 25 Jun 2020 00:14:47 +0000 x86_64 GNU/Linux

ls -la /dev/dri: (plex is in the video group)

total 0
drwxr-xr-x  3 root root        100 30. Jun 11:01 .
drwxr-xr-x 22 root root       4520 30. Jun 11:02 ..
drwxr-xr-x  2 root root         80 30. Jun 11:01 by-path
crw-rw----  1 root video  226,   0 30. Jun 11:01 card0
crw-rw-rw-  1 root render 226, 128 30. Jun 11:01 renderD128

lspci -v |grep -e VGA: 05:00.0 VGA compatible controller: NVIDIA Corporation GP107GL [Quadro P400] (rev a1) (prog-if 00 [VGA controller])

1 Like

It’s worth noting that in rare cases the bug doesn’t occour. In that case the Transcoder runs with the following parameters:

/usr/lib/plexmediaserver/Plex Transcoder -codec:0 h264 -hwaccel:0 nvdec -hwaccel_fallback_threshold:0 10 -hwaccel_output_format:0 cuda -codec:2 dca -analyzeduration 20000000 -probesize 20000000 -i /path/file.mkv -filter_complex [0:0]hwupload[0];[0]scale_cuda=w=960:h=720:format=nv12[1] -filter_complex [0:2] aresample=async=1:ocl='stereo':rematrix_maxval=0.000000dB:osr=48000[2] -map [1] -codec:0 h264_nvenc -b:0 2727k -maxrate:0 3637k -bufsize:0 7274k -forced-idr:0 1 -r:0 23.975999999999999 -force_key_frames:0 expr:gte(t,0+n_forced*3) -map [2] -metadata:s:1 language=eng -codec:1 aac -b:1 148k -f dash -seg_duration 3 -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/foo/bar/manifest?X-Plex-Http-Pipeline=infinite -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 dash -start_at_zero -copyts -vsync cfr -y -init_hw_device cuda=cuda: -hwaccel_device cuda -filter_hw_device cuda -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/foo/bar/progress

Any chance you could take a look at this @ChuckPa? Still a very frustrating issue.

I see a very significant part of the problem right away.

These are incorrect.

crw-rw----  1 root video  226,   0 30. Jun 11:01 card0
crw-rw-rw-  1 root render 226, 128 30. Jun 11:01 renderD128

They should be in the same group.

Here are two rendering devices. Notice they are in the same group.

[chuck@lizum samples.511]$ ls -la /dev/dri
total 0
drwxr-xr-x   3 root root       140 Jul  7 00:49 ./
drwxr-xr-x  20 root root      5100 Jul  7 00:49 ../
drwxr-xr-x   2 root root       120 Jul  7 00:49 by-path/
crw-rw----+  1 root video 226,   0 Jul  7 00:49 card0
crw-rw----+  1 root video 226,   1 Jul  8 11:38 card1
crw-rw----+  1 root video 226, 128 Jul  7 00:49 renderD128
crw-rw----+  1 root video 226, 129 Jul  7 00:49 renderD129
[chuck@lizum samples.512]$

Whomever did this packaging for Arch didn’t do it correctly or the kernel itself is wrong.

I’ll test this later, but I don’t see how this could cause any problems? The file permissions are 666, any user/process should be able to write to / read from it.

When two different groups are asserted, the implication is that two different drivers are involved.

This raises the challenge: “Are the i915 and i965 drivers working in tandom?”
If they aren’t, anything can happen regardless of permissions.

Thanks for that insight. I also had them in the same group. I put them both in the video group but the behavior described in the OP is persisting.

Is there anything else you see in those logs hashworks posted?

I’ve shared my own logs here: https://drive.google.com/file/d/1ZPxsPMIKIEK90gYQSRG55GYb2pB_z_Cq/view?usp=sharing

I remember reading something about the Nvidia drivers and this type scenario.

What does bother me is the video itself.

The transcoder / nvidia driver are taking exception to the input stream.

Jul 08, 2020 19:40:53.394 [0x7f83d3fff700] DEBUG - Segment #1802 WON.
Jul 08, 2020 19:40:53.394 [0x7f83d3fff700] DEBUG - Killing job.
Jul 08, 2020 19:40:53.394 [0x7f83d3fff700] DEBUG - Signalling job ID 867 with 9
Jul 08, 2020 19:40:53.396 [0x7f83d3fff700] DEBUG - Job was already killed, not killing again.
Jul 08, 2020 19:40:53.396 [0x7f83d3fff700] DEBUG - Stopping transcode session xo79bz2vlsmhcgm5me8ukw2s
Jul 08, 2020 19:40:53.396 [0x7f83f77fe700] DEBUG - Streaming Resource: Resetting play progress due to seek
Jul 08, 2020 19:40:53.399 [0x7f83d3fff700] DEBUG - Starting a transcode session xo79bz2vlsmhcgm5me8ukw2s at offset 1802.0 (state=3)
Jul 08, 2020 19:40:53.400 [0x7f83d3fff700] DEBUG - TPU: hardware transcoding: using hardware decode accelerator nvdec
Jul 08, 2020 19:40:53.400 [0x7f83d3fff700] DEBUG - [Universal] Using local file path instead of URL: /movies/Bloodshot (2020)/Bloodshot.2020.UHD.BluRay.2160p.TrueHD.Atmos.7.1.HEVC.REMUX-FraMeSToR.mkv
Jul 08, 2020 19:40:53.400 [0x7f83d3fff700] DEBUG - TPU: hardware transcoding: zero-copy support present
Jul 08, 2020 19:40:53.400 [0x7f83d3fff700] DEBUG - TPU: hardware transcoding: using zero-copy transcoding
Jul 08, 2020 19:40:53.400 [0x7f83d3fff700] DEBUG - TPU: hardware transcoding: final decoder: nvdec, final encoder: nvenc
Jul 08, 2020 19:40:53.401 [0x7f83d3fff700] DEBUG - Job running: EAE_ROOT='/tmp/pms-342c4a18-6ad0-463d-9a58-068dbfc9c511/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/config/Library/Application\ Support/Plex\ Media\ Server/Codecs/5f603a2-3204-linux-x86_64/' XDG_CACHE_HOME='/config/Library/Application Support/Plex Media Server/Cache' XDG_DATA_HOME='/usr/lib/plexmediaserver/Resources' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/usr/lib/plexmediaserver/Plex Transcoder' '-codec:0' 'hevc' '-hwaccel:0' 'nvdec' '-hwaccel_fallback_threshold:0' '10' '-hwaccel_output_format:0' 'cuda' '-codec:1' 'truehd_eae' '-eae_prefix:1' 'xo79bz2vlsmhcgm5me8ukw2s_' '-ss' '1802' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/movies/Bloodshot (2020)/Bloodshot.2020.UHD.BluRay.2160p.TrueHD.Atmos.7.1.HEVC.REMUX-FraMeSToR.mkv' '-filter_complex' '[0:0]hwupload[0];[0]scale_cuda=w=2276:h=1280:format=nv12[1]' '-filter_complex' '[0:1] aresample=async=1:ocl='\''stereo'\'':rematrix_maxval=0.000000dB:osr=48000[2]' '-map' '[1]' '-codec:0' 'h264_nvenc' '-b:0' '61550k' '-maxrate:0' '82067k' '-bufsize:0' '164134k' '-forced-idr:0' '1' '-r:0' '23.975999999999999' '-force_key_frames:0' 'expr:gte(t,1802+n_forced*1)' '-map' '[2]' '-metadata:s:1' 'language=eng' '-codec:1' 'aac' '-b:1' '256k' '-f' 'dash' '-seg_duration' '1' '-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' '1803' '-time_delta' '0.0625' '-manifest_name' 'http://127.0.0.1:32400/video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/manifest?X-Plex-Http-Pipeline=infinite' '-avoid_negative_ts' 'disabled' '-map_metadata' '-1' '-map_chapters' '-1' 'dash' '-start_at_zero' '-copyts' '-y' '-init_hw_device' 'cuda=cuda:' '-hwaccel_device' 'cuda' '-filter_hw_device' 'cuda' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress'
Jul 08, 2020 19:40:53.401 [0x7f8405b84700] DEBUG - Auth: authenticated user 1 as nlundqu
Jul 08, 2020 19:40:53.402 [0x7f83d3fff700] DEBUG - Jobs: Starting child process with pid 952
Jul 08, 2020 19:40:53.402 [0x7f83d3fff700] DEBUG - Started session successfully: xo79bz2vlsmhcgm5me8ukw2s
Jul 08, 2020 19:40:53.402 [0x7f83f4ff9700] DEBUG - Request: [192.168.1.195:55688 (Subnet)] GET /status/sessions (8 live) TLS GZIP Signed-in Token (nlundqu)
Jul 08, 2020 19:40:53.402 [0x7f83f4ff9700] DEBUG - [Now] Adding 1 sessions.
Jul 08, 2020 19:40:53.404 [0x7f8406385700] DEBUG - Completed: [192.168.1.195:55688] 200 GET /status/sessions (8 live) TLS GZIP 2ms 3990 bytes (pipelined: 10)
Jul 08, 2020 19:40:53.409 [0x7f836ffff700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress?status=startup (9 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:53.409 [0x7f8406385700] DEBUG - Completed: [127.0.0.1:56200] 204 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress?status=startup (9 live) 0ms 203 bytes (pipelined: 1) (range: bytes=0-) 
Jul 08, 2020 19:40:53.454 [0x7f8405b84700] DEBUG - Auth: authenticated user 1 as nlundqu
Jul 08, 2020 19:40:53.455 [0x7f83d37fe700] DEBUG - Request: [192.168.1.195:55688 (Subnet)] GET /status/sessions (9 live) TLS GZIP Signed-in Token (nlundqu)
Jul 08, 2020 19:40:53.455 [0x7f83d37fe700] DEBUG - [Now] Adding 1 sessions.
Jul 08, 2020 19:40:53.457 [0x7f8405b84700] DEBUG - Completed: [192.168.1.195:55688] 200 GET /status/sessions (9 live) TLS GZIP 2ms 3990 bytes (pipelined: 11)
Jul 08, 2020 19:40:54.030 [0x7f8407408700] DEBUG - Jobs: '/usr/lib/plexmediaserver/Plex Transcoder' exit code for process 867 is -9 (signal: Killed)
Jul 08, 2020 19:40:54.102 [0x7f83d2ffd700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress?status=startup (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.102 [0x7f8405b84700] DEBUG - Completed: [127.0.0.1:56200] 204 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress?status=startup (8 live) 0ms 203 bytes (pipelined: 2) (range: bytes=0-) 
Jul 08, 2020 19:40:54.103 [0x7f83f4ff9700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress?status=opening (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.103 [0x7f8406385700] DEBUG - Completed: [127.0.0.1:56200] 204 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress?status=opening (8 live) 0ms 203 bytes (pipelined: 3) (range: bytes=0-) 
Jul 08, 2020 19:40:54.105 [0x7f836ffff700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress?status=opened (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.105 [0x7f8405b84700] DEBUG - Completed: [127.0.0.1:56200] 204 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress?status=opened (8 live) 0ms 203 bytes (pipelined: 4) (range: bytes=0-) 
Jul 08, 2020 19:40:54.106 [0x7f83d37fe700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/stream?index=0&id=0&codec=hevc&type=video (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.106 [0x7f8405b84700] DEBUG - Completed: [127.0.0.1:56200] 200 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/stream?index=0&id=0&codec=hevc&type=video (8 live) 0ms 195 bytes (pipelined: 5) (range: bytes=0-) 
Jul 08, 2020 19:40:54.106 [0x7f83d2ffd700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/stream?index=1&id=0&codec=truehd&type=audio (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.107 [0x7f8405b84700] DEBUG - Completed: [127.0.0.1:56200] 200 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/stream?index=1&id=0&codec=truehd&type=audio (8 live) 0ms 195 bytes (pipelined: 6) (range: bytes=0-) 
Jul 08, 2020 19:40:54.107 [0x7f83f4ff9700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/stream?index=2&id=0&codec=ac3&type=audio (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.108 [0x7f8405b84700] DEBUG - Completed: [127.0.0.1:56200] 200 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/stream?index=2&id=0&codec=ac3&type=audio (8 live) 0ms 195 bytes (pipelined: 7) (range: bytes=0-) 
Jul 08, 2020 19:40:54.261 [0x7f836ffff700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=0&id=0&codec=hevc&type=video&profile=Main%2010&width=3840&height=2160&interlaced=0&sar=1:1&level=153&frameRate=23.976&disp_default=1 (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.261 [0x7f8406385700] DEBUG - Completed: [127.0.0.1:56200] 200 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=0&id=0&codec=hevc&type=video&profile=Main%2010&width=3840&height=2160&interlaced=0&sar=1:1&level=153&frameRate=23.976&disp_default=1 (8 live) 0ms 195 bytes (pipelined: 8) (range: bytes=0-) 
Jul 08, 2020 19:40:54.262 [0x7f83d37fe700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=1&id=0&codec=truehd&type=audio&language=eng&channels=8&layout=7.1&sampleRate=48000&bitDepth=24&disp_default=1 (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.262 [0x7f8406385700] DEBUG - Completed: [127.0.0.1:56200] 200 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=1&id=0&codec=truehd&type=audio&language=eng&channels=8&layout=7.1&sampleRate=48000&bitDepth=24&disp_default=1 (8 live) 0ms 195 bytes (pipelined: 9) (range: bytes=0-) 
Jul 08, 2020 19:40:54.263 [0x7f83d2ffd700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=2&id=0&codec=ac3&type=audio&bitrate=640000&language=eng&channels=6&layout=5.1%28side%29&sampleRate=48000 (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.263 [0x7f8406385700] DEBUG - Completed: [127.0.0.1:56200] 200 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=2&id=0&codec=ac3&type=audio&bitrate=640000&language=eng&channels=6&layout=5.1%28side%29&sampleRate=48000 (8 live) 0ms 195 bytes (pipelined: 10) (range: bytes=0-) 
Jul 08, 2020 19:40:54.264 [0x7f83f4ff9700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=3&id=0&codec=hdmv_pgs_subtitle&type=subtitle&language=eng (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.264 [0x7f8406385700] DEBUG - Completed: [127.0.0.1:56200] 200 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=3&id=0&codec=hdmv_pgs_subtitle&type=subtitle&language=eng (8 live) 0ms 195 bytes (pipelined: 11) (range: bytes=0-) 
Jul 08, 2020 19:40:54.265 [0x7f836ffff700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=4&id=0&codec=hdmv_pgs_subtitle&type=subtitle&language=eng (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.265 [0x7f8406385700] DEBUG - Completed: [127.0.0.1:56200] 200 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=4&id=0&codec=hdmv_pgs_subtitle&type=subtitle&language=eng (8 live) 0ms 195 bytes (pipelined: 12) (range: bytes=0-) 
Jul 08, 2020 19:40:54.265 [0x7f83d37fe700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=5&id=0&codec=hdmv_pgs_subtitle&type=subtitle&language=fre (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.266 [0x7f8406385700] DEBUG - Completed: [127.0.0.1:56200] 200 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=5&id=0&codec=hdmv_pgs_subtitle&type=subtitle&language=fre (8 live) 0ms 195 bytes (pipelined: 13) (range: bytes=0-) 
Jul 08, 2020 19:40:54.266 [0x7f83d2ffd700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=6&id=0&codec=hdmv_pgs_subtitle&type=subtitle&language=spa (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.267 [0x7f8406385700] DEBUG - Completed: [127.0.0.1:56200] 200 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress/streamDetail?index=6&id=0&codec=hdmv_pgs_subtitle&type=subtitle&language=spa (8 live) 0ms 195 bytes (pipelined: 14) (range: bytes=0-) 
Jul 08, 2020 19:40:54.362 [0x7f83f4ff9700] DEBUG - Request: [127.0.0.1:56200 (Loopback)] PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress?duration=6559.584000 (8 live) Signed-in Token (nlundqu) (range: bytes=0-) 
Jul 08, 2020 19:40:54.362 [0x7f8405b84700] DEBUG - Completed: [127.0.0.1:56200] 204 PUT /video/:/transcode/session/xo79bz2vlsmhcgm5me8ukw2s/12521f6e-a453-4c46-96c7-17ec892739d2/progress?duration=6559.584000 (8 live) 0ms 203 bytes (pipelined: 15) (range: bytes=0-) 
Jul 08, 2020 19:40:54.443 [0x7f83d37fe700] ERROR - [Transcoder] [hevc @ 0x332c540] First slice in a frame missing.
Jul 08, 2020 19:40:54.444 [0x7f83d2ffd700] ERROR - [Transcoder] [hevc @ 0x332c540] First slice in a frame missing.
Jul 08, 2020 19:40:54.445 [0x7f836ffff700] ERROR - [Transcoder] [hevc @ 0x332c540] First slice in a frame missing.
Jul 08, 2020 19:40:54.445 [0x7f83f4ff9700] ERROR - [Transcoder] [hevc @ 0x332c540] First slice in a frame missing.
Jul 08, 2020 19:40:54.446 [0x7f83d37fe700] ERROR - [Transcoder] [hevc @ 0x332c540] First slice in a frame missing.
Jul 08, 2020 19:40:54.447 [0x7f83d2ffd700] ERROR - [Transcoder] [hevc @ 0x332c540] First slice in a frame missing.
Jul 08, 2020 19:40:54.447 [0x7f836ffff700] ERROR - [Transcoder] [hevc @ 0x332c540] First slice in a frame missing.
Jul 08, 2020 19:40:54.449 [0x7f83f4ff9700] ERROR - [Transcoder] [hevc @ 0x3337740] First slice in a frame missing.
Jul 08, 2020 19:40:54.449 [0x7f83d37fe700] ERROR - [Transcoder] [hevc @ 0x3337740] First slice in a frame missing.
Jul 08, 2020 19:40:54.450 [0x7f83d2ffd700] ERROR - [Transcoder] [hevc @ 0x3337740] First slice in a frame missing.
Jul 08, 2020 19:40:54.451 [0x7f836ffff700] ERROR - [Transcoder] [hevc @ 0x3337740] First slice in a frame missing.
Jul 08, 2020 19:40:54.451 [0x7f83f4ff9700] ERROR - [Transcoder] [hevc @ 0x3337740] First slice in a frame missing.
Jul 08, 2020 19:40:54.452 [0x7f83d37fe700] ERROR - [Transcoder] [hevc @ 0x3337740] First slice in a frame missing.
Jul 08, 2020 19:40:54.452 [0x7f83d2ffd700] ERROR - [Transcoder] [hevc @ 0x3337740] First slice in a frame missing.
Jul 08, 2020 19:40:56.054 [0x7f83d37fe700] DEBUG - Transcoder segment range: 1798 - 1798 (1798)
Jul 08, 2020 19:40:57.186 [0x7f83d2ffd700] DEBUG - Transcoder segment range: 1798 - 1800 (1800)
Jul 08, 2020 19:40:58.275 [0x7f83f4ff9700] DEBUG - Transcoder segment range: 1798 - 1802 (1802)
Jul 08, 2020 19:40:58.301 [0x7f83557fa700] DEBUG - Returning segment 1802 from session
Jul 08, 2020 19:40:58.301 [0x7f83f7fff700] DEBUG - Cleaning directory for session xo79bz2vlsmhcgm5me8ukw2s (/config/Library/Application Support/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-xo79bz2vlsmhcgm5me8ukw2s-37506f45-bafe-4077-b0db-341f351aea2f)

I interpret this as an encoding problem.

Does it occur with all videos or only this one?

Same behavior on all videos. Additionally, this same video transcodes fine (using the gpu hardware) if accessed via my iPhone or Nvidia Shield, rather than the web client.

I don’t think the “First slice in a frame missing.” is at fault for the transcode dying since I see this error occurring even during the successful transcodes made via my phone & shield. Also googling this error gives cases of other people experiencing it but still having successful encodes.

that’s important info

This isn’t a Server issue at all but is a Plex/Web playback issue?

If so, let’s rewind and restate please so I can attempt to recreate.

How low is the quality being set to?
What are the transcode parameters?

What else would I need to know to recreate this?

Yeah, as mentioned in the OP and my own posts, hardware transcoding only fails when Plex Web or PMP is used as the client.

Other clients like iOS, Android TV, Android Phone all can successfully perform the very same hardware transcodes that fail when attempted from Plex Web & PMP.

I’ve attempted many combinations of source video quality & output quality, and it doesn’t appear to make any difference. All fail the same. For issue reproduction purposes, lets say a 4k video down to 720p.

Are the transcode parameters something that could be seen in the logs I linked earlier? I don’t have any custom parameters configured.

Other details that might be helpful:

  • OS: Ubuntu 20.04
  • Nvidia Driver: 440.100 (installed from Nvidia PPA)

where are you running PMP? Windows?
Which browser?

I ask because I’m running now, in Chrome, at 1.5 Mbps 720p → 4 Mbps 720p without issue of any kind.

Given you have no difficulty with your devices, what is it about the computer (browser and PMP client on that computer, aka Windows, which you have running .. firewall / browser extensions?

I will be candid here. P400 ? It’s a 30 watt, low power, small memory, low end GPU.

https://technical.city/en/video/Quadro-P2000-vs-Quadro-P400

Which is it? The target machine (Windows) or the GPU?.

Do you have quality problems when you turn off the hardware and let the CPU crunch through it? (stuttering notwithstanding)