Plex Media Server 1.16.7.1597 (Updated) - New Transcoder Preview

I have 16 core 32 thread dual Xeon E5-2660 Windows Plex server. Passmark 16327
CPUs barley flinch at any task.
Should I care about zero copy transcoding?

I have encountered problems with some old XVID encoded avi files.

I didn’t get logs, and disabling HA allowed (transcoded) playback.

Hopefully someone else can confirm, and I will gather logs when I can.

Media
Duration 49:55
Bitrate 979 kbps
Width 640
Height 480
Aspect Ratio 1.33
Video Resolution 480p
Container AVI
Video Frame Rate 24p
Video Profile advanced simple
Part
Duration 49:55
File abc123 - XviD MP3.avi
Size 349.52 MB
Container AVI
Indexes sd
Video Profile advanced simple
Codec MPEG4
Bitrate 861 kbps
Bit Depth 8
Chroma Location left
Chroma Subsampling 4:2:0
Frame Rate 23.976 fps
Height 480
Level 5
Profile advanced simple
Ref Frames 1
Width 640
Display Title 480p (MPEG4)
Codec MP3
Channels 2
Bitrate 105 kbps
Audio Channel Layout stereo
Sampling Rate 48000 Hz
Stream Identifier 1
Display Title Unknown (MP3 Stereo)

Out of curiousity what is your CPU usage for transcoding a 4K HEVC HDR10 media file to a lesser quality stream?

So far I can’t reproduce this on Intel with Windows 10. It decodes in software, encodes in hardware. Seems to look fine too. I don’t have nvidia to test with, though.

Can someone please address this on-topic question, or even merge it into here? I created a new post as reply was temporarily not working here.

I included a link to the source media, and clean logs with just an example of it failing under hw transcode and it working under sw transcode.

https://forums.plex.tv/t/1-16-7-1597-new-transcoder-preview-fails-to-play-file-if-hw-transcoding-is-enabled/456200

To all following this thread, I have updated the original post to add a Known Issues section. This summarises the issues found and reported, which we have reproduced and are working on a fix for.

1 Like

I see no mention of what I said earlier, ie. when I tried watching a video with Firefox and I had subtitles enabled, Plex began to eat excessive amounts of CPU-resources. I just would like a clarification as to whether it is what it is and there’s nothing that can be done, or if it’s an issue with the current build and the impact could possibly be lessened in the future.

couldnt post in this thread at the time, but can you devs please add this to the list to fix.

Sync not working.

Hi @gaygirlie_hotmail.com, Ahh that issue is actually present in current PMS 1.16.6 which is covered here Plex Media Server process uses 100% cpu (SRT->ASS Conversion) We have fixed internally, and should be included in an upcoming release.

Yes I was wondering the same as by log shows the below. Bare in mind that same video files work flawlessly with NVDEC/NVENC on the latest production release version.

Aug 31, 2019 13:33:12.180 [11120] Debug — TPU: hardware transcoding: zero-copy support not present
Aug 31, 2019 13:33:12.180 [11120] Debug — TPU: hardware transcoding: final decoder: nvdec, final encoder: nvenc
Aug 31, 2019 13:33:12.182 [11120] Debug — Job running: EAE_ROOT='\\?\C:\Users\maoan\AppData\Local\Plex Media Server\Cache\Transcode\Sessions\EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='C\:\\Users\\maoan\\AppData\\Local\\Plex\ Media\ Server\\Codecs\\9742c5a-2492-windows-x86\\' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' C:\Program Files (x86)\Plex\Plex Media Server\Plex Transcoder.exe -codec:0 h264 -hwaccel:0 nvdec -hwaccel_fallback_threshold:0 10 -hwaccel_output_format:0 cuda -codec:1 dca -ss 903 -analyzeduration 20000000 -probesize 20000000 -i Z:\Movie\Free.Solo.2018.LiMiTED.1080p.BluRay.x264-CADAVER[EtHD]\free.solo.2018.limited.1080p.bluray.x264-cadaver[EtHD].mkv -filter_complex [0:0]scale=w=1280:h=694[0];[0]format=pix_fmts=yuv420p|nv12[1] -filter_complex "[0:1] aresample=async=1:ocl='5.1':osr=48000:rematrix_maxval=10.000000dB[2]" -map [1] -codec:0 h264_nvenc -b:0 2563k -maxrate:0 3418k -bufsize:0 6836k -preset:0 hq -forced-idr:0 1 -r:0 23.975999999999999 -map [2] -metadata:s:1 language=eng -codec:1 libopus -b:1 345k -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/3u56qps9jgvyuba0tfu78k4e/99054918-7759-4a06-8761-e2b366d6d8b1/seglist -segment_list_type csv -segment_list_unfinished 1 -segment_list_size 2147483647 -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 -y -init_hw_device cuda=cuda:/dev/dri/renderD128 -hwaccel_device cuda -filter_hw_device cuda -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/3u56qps9jgvyuba0tfu78k4e/99054918-7759-4a06-8761-e2b366d6d8b1/progress 
Aug 31, 2019 13:33:12.182 [11120] Debug — Job running: EAE_ROOT='\\?\C:\Users\maoan\AppData\Local\Plex Media Server\Cache\Transcode\Sessions\EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='C\:\\Users\\maoan\\AppData\\Local\\Plex\ Media\ Server\\Codecs\\9742c5a-2492-windows-x86\\' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' C:\Program Files (x86)\Plex\Plex Media Server\Plex Transcoder.exe -codec:0 h264 -hwaccel:0 nvdec -hwaccel_fallback_threshold:0 10 -hwaccel_output_format:0 cuda -codec:1 dca -ss 903 -analyzeduration 20000000 -probesize 20000000 -i Z:\Movie\Free.Solo.2018.LiMiTED.1080p.BluRay.x264-CADAVER[EtHD]\free.solo.2018.limited.1080p.bluray.x264-cadaver[EtHD].mkv -filter_complex [0:0]scale=w=1280:h=694[0];[0]format=pix_fmts=yuv420p|nv12[1] -filter_complex "[0:1] aresample=async=1:ocl='5.1':osr=48000:rematrix_maxval=10.000000dB[2]" -map [1] -codec:0 h264_nvenc -b:0 2563k -maxrate:0 3418k -bufsize:0 6836k -preset:0 hq -forced-idr:0 1 -r:0 23.975999999999999 -map [2] -metadata:s:1 language=eng -codec:1 libopus -b:1 345k -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/3u56qps9jgvyuba0tfu78k4e/99054918-7759-4a06-8761-e2b366d6d8b1/seglist -segment_list_type csv -segment_list_unfinished 1 -segment_list_size 2147483647 -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 -y -init_hw_device cuda=cuda:/dev/dri/renderD128 -hwaccel_device cuda -filter_hw_device cuda -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/3u56qps9jgvyuba0tfu78k4e/99054918-7759-4a06-8761-e2b366d6d8b1/progress 
Aug 31, 2019 13:33:12.191 [11120] Debug — Jobs: Starting child process with pid 5992
Aug 31, 2019 13:33:12.191 [11120] Debug — Jobs: Starting child process with pid 5992
.
.
.
Aug 31, 2019 13:33:12.473 [1572] Error — [Transcoder] Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
Aug 31, 2019 13:33:12.473 [1572] Error — [Transcoder] Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
Aug 31, 2019 13:33:12.474 [0480] Error — [Transcoder] Error reinitializing filters!
Aug 31, 2019 13:33:12.474 [0480] Error — [Transcoder] Error reinitializing filters!
Aug 31, 2019 13:33:12.475 [1572] Error — [Transcoder] Failed to inject frame into filter network: Function not implemented
Aug 31, 2019 13:33:12.475 [1572] Error — [Transcoder] Failed to inject frame into filter network: Function not implemented
Aug 31, 2019 13:33:12.475 [0480] Error — [Transcoder] Error while processing the decoded data for stream #0:0
Aug 31, 2019 13:33:12.475 [0480] Error — [Transcoder] Error while processing the decoded data for stream #0:0
Aug 31, 2019 13:33:12.519 [13960] Debug — Jobs: 'C:\Program Files (x86)\Plex\Plex Media Server\Plex Transcoder.exe' exit code for process 5992 is 1 (failure)
Aug 31, 2019 13:33:12.519 [13960] Debug — Jobs: 'C:\Program Files (x86)\Plex\Plex Media Server\Plex Transcoder.exe' exit code for process 5992 is 1 (failure)
Aug 31, 2019 13:33:12.519 [8304] Debug — Streaming Resource: Changing client to use software decoding

Can not get Transcoder to utilize hardware. Yes the option is selected in settings.

Running server hardware - Have a Matrox G200e listed in device manager? Could this be screwing something up?

Spec’s:
Xeon E-2174G
8GB RAM
Avago/LSI - RAID Card
RAID1 - S4610 Intel SSD’s
P2000 Quadro
Windows Server 2019
PMS 1.16.7.1597
Quadro Drivers 26.21.14.3170

transcoding utilizes hw (poorly) if I roll-back. The new beta never shows hw and utilizes 95%+ CPU.

I’ll upload logs shortly.

Stuck in P-State P0 after transcode finished on NVIDIA is not a knwow problem (present in PMS since 2014) ??

it’s an epic problem

Yes we are aware of that issue, but it is not a new issue present only in the transcoder preview.

Yes but the main track to solve the problem was ffmpeg version upgrade … if it doesnt fix this issue, i’m worried about the ability to solve this very blocking problem that prevents any decent hardware transcoding on linux

Here are my logs…

Started server and played one 4K file. Changed from Direct to 1080P 20Mbps.

Sep 04, 2019 13:25:53.982 [2504] INFO - Plex Media Server v1.16.7.1597-a6e223f7f - Microsoft PC x64 - build: windows-x86 windows - GMT -04:00
Sep 04, 2019 13:25:53.983 [2504] INFO - Windows version: 10.0 (Build 17763), language en-US
Sep 04, 2019 13:25:53.983 [2504] INFO - 8 3792 MHz processor(s): Architecture=0, Level=6, Revision=40458 Processor Identifier=Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
Sep 04, 2019 13:25:54.540 [3908] INFO - OCSP: Successfully retrieved response from cache.
Sep 04, 2019 13:25:56.011 [5076] WARN - Crash: Crash reporting disabled
Sep 04, 2019 13:25:56.976 [8852] WARN - Held transaction for too long (..\Library\MetadataCollection.cpp:236): 0.109375 seconds
Sep 04, 2019 13:25:58.068 [6352] INFO - Sync: downloaded 1 sync list(s) with 2 sync items(s): 0 new, 0 updated, 0 deleted
Sep 04, 2019 13:25:59.017 [1876] INFO - AutoUpdate: no updates available
Sep 04, 2019 13:25:59.629 [7864] INFO - AutoUpdate: no updates available
Sep 04, 2019 13:26:00.805 [2692] ERROR - [PlexRelay] kex protocol error: type 7 seq 11
Sep 04, 2019 13:26:00.806 [7080] ERROR - [PlexRelay] kex protocol error: type 7 seq 11
Sep 04, 2019 13:26:01.274 [1296] INFO - [PlexRelay] Allocated port 16763 for remote forward to 127.0.0.1:32401
Sep 04, 2019 13:26:01.323 [2692] INFO - [PlexRelay] Allocated port 10969 for remote forward to 127.0.0.1:32401
Sep 04, 2019 13:26:01.691 [3168] INFO - LibraryUpdateManager path watching is disabled
Sep 04, 2019 13:26:05.882 [2552] WARN - NAT: PMP, got an error: NATPMP_ERR_RECVFROM.
Sep 04, 2019 13:26:50.727 [6808] WARN - QueryParser: Invalid field 'libraryHubsOnly' found, ignoring.
Sep 04, 2019 13:26:50.729 [6808] WARN - QueryParser: Invalid field 'libraryHubsOnly' found, ignoring.
Sep 04, 2019 13:27:00.997 [7520] ERROR - [FFMPEG] - Error initializing an MFX session: -3.
Sep 04, 2019 13:27:01.280 [7520] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:01.533 [7520] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:02.251 [7520] ERROR - [Transcoder] Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
Sep 04, 2019 13:27:02.252 [4408] ERROR - [Transcoder] Error reinitializing filters!
Sep 04, 2019 13:27:02.253 [7520] ERROR - [Transcoder] Failed to inject frame into filter network: Function not implemented
Sep 04, 2019 13:27:02.253 [4408] ERROR - [Transcoder] Error while processing the decoded data for stream #0:0
Sep 04, 2019 13:27:02.357 [4936] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:02.359 [4936] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:06.303 [8600] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:06.463 [8600] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:06.621 [8600] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:06.783 [8600] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:06.930 [8600] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:07.079 [8600] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:07.150 [6808] WARN - Transcode runner appears to have died.
Sep 04, 2019 13:27:07.150 [6236] WARN - Transcode runner appears to have died.
Sep 04, 2019 13:27:07.252 [6236] WARN - Timed out waiting for segment.
Sep 04, 2019 13:27:07.252 [6808] WARN - Timed out waiting for segment.
Sep 04, 2019 13:27:07.515 [7520] ERROR - [Transcoder] Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
Sep 04, 2019 13:27:07.517 [8600] ERROR - [Transcoder] Error reinitializing filters!
Sep 04, 2019 13:27:07.517 [7520] ERROR - [Transcoder] Failed to inject frame into filter network: Function not implemented
Sep 04, 2019 13:27:07.518 [8600] ERROR - [Transcoder] Error while processing the decoded data for stream #0:0
Sep 04, 2019 13:27:07.618 [9168] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:07.620 [9168] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:07.621 [9168] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:07.623 [9168] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:07.624 [9168] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:07.626 [9168] INFO - [FFMPEG] - MFT name: 'Microsoft AAC Audio Encoder MFT'
Sep 04, 2019 13:27:54.222 [9184] WARN - Held transaction for too long (..\Sync\SyncItemGenerator.cpp:153): 0.234375 seconds
Sep 04, 2019 13:27:54.677 [9184] WARN - Held transaction for too long (..\Sync\SyncItemGenerator.cpp:153): 0.203125 seconds
Sep 04, 2019 13:28:00.959 [9184] WARN - Held transaction for too long (..\Sync\SyncItemGenerator.cpp:153): 0.203125 seconds
Sep 04, 2019 13:28:01.429 [9184] WARN - Held transaction for too long (..\Sync\SyncItemGenerator.cpp:153): 0.234375 seconds

File in question has these specs:

Media
Duration 2:02:25
Bitrate 86241 kbps
Width 3840
Height 2160
Aspect Ratio 1.78
Video Resolution 4K
Container MKV
Video Frame Rate 24p
Audio Profile ma
Video Profile main 10
Part
Duration 2:02:25
File 310 to Yuma (2007).mkv
Size 73.75 GB
Audio Profile ma
Container MKV
Indexes sd
Video Profile main 10
Codec HEVC
Bitrate 84481 kbps
Bit Depth 10
Chroma Subsampling 4:2:0
Color Primaries bt2020
Color Range tv
Color Space bt2020nc
Color Trc smpte2084
Frame Rate 23.976 fps
Height 2160
Level 5.1
Profile main 10
Ref Frames 1
Title MPEG-H HEVC Video / 79677 kbps / 2160p / 23.976 fps / 16:9 / Main 10 Profile 5.1 High / 4:2:0 / 10 bits / HDR / BT.2020
Width 3840
Display Title 4K (HEVC Main 10 HDR)
Codec DCA
Channels 8
Bitrate 1536 kbps
Language English
Audio Channel Layout 7.1
Bit Depth 24
Profile ma
Sampling Rate 48000 Hz
Title DTS:X/DTS-HD Master Audio / 7.1-X / 48 kHz / 6290 kbps / 24-bit
Display Title English (DTS-HD MA 7.1)
Codec AC3
Channels 2
Bitrate 224 kbps
Language English
Audio Channel Layout stereo
Sampling Rate 48000 Hz
Title Commentary by Director James Mangold / Dolby Digital Audio / 2.0 / 48 kHz / 224 kbps / Dolby Surround
Display Title English (AC3 Stereo)
Codec PGS
Bitrate 24 kbps
Language English
Header Compression true
Display Title English (PGS)
Codec PGS
Bitrate 39 kbps
Language English
Header Compression true
Title SDH
Display Title English (PGS)
Codec PGS
Bitrate 36 kbps
Language Español
Header Compression true
Title Latin American
Display Title Español (PGS)

Can’t utilize any hardware for transcoding per status in Plex server view. If I roll back it does do HW.

I don’t know if I was supposed to have DEBUG turned on or not… But I turned that on and repeated the process… From those logs I see that the process starts:

Sep 04, 2019 13:37:56.794 [8456] DEBUG - Starting a transcode session hltba16pc9p1lwmhdnln3eux at offset -1.0 (state=3)
Sep 04, 2019 13:37:56.795 [8456] DEBUG - TPU: hardware transcoding: using hardware decode accelerator nvdec
Sep 04, 2019 13:37:56.795 [6024] DEBUG - IVA: Downloaded 0 trailers for source 2.
Sep 04, 2019 13:37:56.795 [8456] DEBUG - [Universal] Using local file path instead of URL: \\XXXXXXXXXX\XXXX..mkv
Sep 04, 2019 13:37:56.795 [8456] DEBUG - TPU: hardware transcoding: zero-copy support not present
Sep 04, 2019 13:37:56.796 [8456] DEBUG - TPU: hardware transcoding: final decoder: nvdec, final encoder: nvenc

And then appears to shortly crash:

Sep 04, 2019 13:37:57.115 [0032] ERROR - [Transcoder] Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
Sep 04, 2019 13:37:57.116 [0032] ERROR - [Transcoder] Error reinitializing filters!
Sep 04, 2019 13:37:57.117 [0032] ERROR - [Transcoder] Failed to inject frame into filter network: Function not implemented
Sep 04, 2019 13:37:57.117 [0032] ERROR - [Transcoder] Error while processing the decoded data for stream #0:0
Sep 04, 2019 13:37:57.205 [7544] DEBUG - Jobs: 'C:\Program Files (x86)\Plex\Plex Media Server\Plex Transcoder.exe' exit code for process 7748 is 1 (failure)

Finally fails back to software transcoding:

Sep 04, 2019 13:37:57.436 [8240] DEBUG - Transcode Session: Going to restart at offset 0.000000 with segment number -1
Sep 04, 2019 13:37:57.436 [8240] DEBUG - Killing job.
Sep 04, 2019 13:37:57.436 [8240] DEBUG - Job was already killed, not killing again.
Sep 04, 2019 13:37:57.436 [8240] DEBUG - Stopping transcode session hltba16pc9p1lwmhdnln3eux
Sep 04, 2019 13:37:57.436 [8240] DEBUG - Starting a transcode session hltba16pc9p1lwmhdnln3eux at offset 0.0 (state=3)
Sep 04, 2019 13:37:57.436 [8240] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Sep 04, 2019 13:37:57.437 [8240] DEBUG - [Universal] Using local file path instead of URL: \\XXXXXXXXXXXXXXXXXXXXXX\XXXXXX.mkv
Sep 04, 2019 13:37:57.437 [8240] DEBUG - TPU: hardware transcoding: zero-copy support not present
Sep 04, 2019 13:37:57.437 [8240] DEBUG - TPU: hardware transcoding: final decoder: , final encoder: 

Hi @natelabo That looks like the NVIDIA issue at the top of the Known Issues list. I have updated the list to include the error string so its clear for other users.

6 Likes

Cant wait until the Nvidia issue is resolved

2 Likes

Another quick question, what does it take to have zero-copy enabled with Nvidia in Windows environment?

I bumped into a video where using external VOBSUB causes the transcoder-process to crash, whereas with internal SRT or no subtitles at all works fine. Has this been reported yet and, if not, what information would you like?

Plex is running on Ubuntu 19.04, not inside an LXC-container, VM or Docker, with NVIDIA GPU-acceleration enabled and working fine, and the client watching/attempting to watch the video was Firefox.

Zipped XML of the title in question included. video.zip (6.0 KB)

NEVERMIND: this seems to happen even with H/W-transcoding disabled, so this is probably the wrong place to report this.