Plex Media Server 1.16.7.1597 (Updated) - New Transcoder Preview

Would it be possible to allow us to select which gpu (iGPU/Nvidia) plex will use as the primary transcoder. Right now plex defaults to using my cpu integrated graphics for transcoding but I would prefer to have it use my nvidia p400 gpu first and then cpu when the gpu can not transcode anymore instances.

Since my setup is an LXC container on Proxmox host. I would need to disable the cpu passthrough entirely in order for the gpu to be used at all.

4 Likes

I would absolutely love it if you could assign gpu/cpu priority for plex transcoding. Currently, I am running an RTX 2070 and a P2000. If my RTX card is set as the primary display that’s what plex chooses as the primary transcoder. If my p2000 is the primary then thats what plex will use. In order for me to game I have to set the RTX card as primary, star the game, alt-tab out of the game, then switch back to the p2000 as primary. HUGE PITA

Have you tried setting preferred GPU for apps in Windows?
For Plex you have to choose the whole directory to switch gpu’s.

Yes, Nothing works. I am going to try to setup a VM and run my media server off that.

1 Like

I’ve been running this since you released the updated version, and it’s been great so far.

I do have one question: Is there any way that the thumbnail generation process could also be offloaded to the GPU?

3 Likes

I reported an issue some time ago and was told that it would be resolved in this transcoder refactor. I just tested the latest build and the issue exists in this version as well.

The summary is that if hardware transcoding fails on a 10 bit HEVC file (which is expected given my hardware), it then fails to fall back to software transcoding like it should and the video does not play at all. Because of this many of us are forced to disable hardware transcoding if we have any 10 bit HEVC at all in our library.
See my original thread here for more context Linux PMS fails to transcode HEVC 10 bit content if HW encoding is enabled (PMS 1.15.1.710 )

Again, I just tested this scenario and it still exists with the new transcoder. You can test with this file http://jell.yfish.us/media/jellyfish-3-mbps-hd-hevc-10bit.mkv

Attached are my logs…

Plex Media Server Logs_2019-09-05_14-04-21.zip (880.4 KB)

1 Like

Windows Server 2016
PMS 1.16.7.1597
GPU : P2000

I am attempting to play a movie, and with the HW Transcoding turned on, the movie will not play. The orange circle just keeps spinning and spinning. When I finally cancel the playback, I get the error "Error Code: s7000 (Player).
The logs are attached.

Plex Media Server Logs_2019-09-09_16-16-18.zip (5.1 MB)

I’m having issues with getting interlaced material propperly detected.

49

Plex Media Server Logs_2019-09-10_17-36-44.zip (3.3 MB)

sample file: https://www.dropbox.com/s/9eol89jq63hfubj/De%20Wereld%20Draait%20Door.ts?dl=0

Running Plex media server 1.16.7.1596
Nvidia Quadro P400 passed trough into ubuntu 18.04 VM

I use a Shield as client, but i get very blurry signal, and i can see the content is not being de-interlaced.

Any luck on this one? It would appear that most of my content (All of it). Is this problematic format. - Basically with these builds I have lost all HW transcoding.

Yeah that will be fixed in the next release we do :slight_smile:

4 Likes

Can’t wait til it’s released! Also, is plex going to ever do multi-gpu support? For example, being able to select which gpu to use for HW transcoding?

Audio transcoding failure

  • Windows Server 2016
  • WMA Lossless
  • Transcoding error until there was internet connectivity

Q: Appears to download this codec when first needed? Is this the same for all codecs?

In most cases, yes that is correct (This is how PMS has worked since PMS 1.0.0)

Since upgrading to 1.16.7.1597 (subsequently back to 1.16.6.1592) my sync no longer is working. I’ve done a database repair as well. Anyone have any ideas? See relevant log errors below.

Sep 11, 2019 13:07:23.524	ERROR	Exception inside transaction (inside=1) (../Library/MetadataItem.cpp:753): Null value fetched and no indicator defined.
Sep 11, 2019 13:07:23.524	ERROR	Thread: Uncaught exception running async task which was spawned by thread 0x7fef6dffb700: Null value fetched and no indicator defined.

Could you post your full PMS log?

@chrisallen here you go. Thanks for taking a look.Plex Media Server.log (2.7 MB)

When you say sync doesn’t work, could you explain the steps you’re taking and the behaviour you seeing?

@chrisallen After further testing this appears to only affect files from a specific library, others work fine (music, movies, etc.). I don’t think this is related to the preview version after all. Any suggestions on repairing a corrupt library if the standard DB repair doenst help?

Did you follow the steps in our support article? If that fails, one alternative is to recreate that library, then delete the old one.

I noticed HW failing on h264 DECODING with the following lines

Sep 12, 2019 19:09:08.436 [0x7f51577fe700] DEBUG - TPU: hardware transcoding: using hardware decode accelerator nvdec
Sep 12, 2019 19:09:08.436 [0x7f51577fe700] DEBUG - [Universal] Using local file path instead of URL: /data/media/movies/Ready Player One (2018)/Ready Player One (2018) Bluray-720p [AC3 5.1][x264].mkv
Sep 12, 2019 19:09:08.436 [0x7f51577fe700] DEBUG - TPU: hardware transcoding: zero-copy support present
Sep 12, 2019 19:09:08.436 [0x7f51577fe700] DEBUG - TPU: hardware transcoding: using zero-copy transcoding
Sep 12, 2019 19:09:08.437 [0x7f51577fe700] DEBUG - TPU: hardware transcoding: final decoder: nvdec, final encoder: nvenc
Sep 12, 2019 19:09:08.437 [0x7f51577fe700] DEBUG - Job running: EAE_ROOT='/tmp/pms-e0e1520d-2776-4f6e-96f7-79464b80c296/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/9742c5a-2492-linux-x86_64/' XDG_CACHE_HOME='/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache' XDG_DATA_HOME='/usr/lib/plexmediaserver/Resources' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/usr/lib/plexmediaserver/Plex Transcoder' '-codec:1' 'h264' '-hwaccel:1' 'nvdec' '-hwaccel_fallback_threshold:1' '10' '-hwaccel_output_format:1' 'cuda' '-codec:0' 'ac3' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/data/media/movies/Ready Player One (2018)/Ready Player One (2018) Bluray-720p [AC3 5.1][x264].mkv' '-filter_complex' '[0:1]hwupload[0];[0]scale_cuda=w=1280:h=536:format=nv12[1]' '-filter_complex' '[0:0] aresample=async=1:ocl='\''stereo'\'':osr=48000[2]' '-map' '[1]' '-metadata:s:0' 'language=eng' '-codec:0' 'h264_nvenc' '-b:0' '2526k' '-maxrate:0' '3368k' '-bufsize:0' '6736k' '-forced-idr:0' '1' '-r:0' '23.975999999999999' '-force_key_frames:0' 'expr:gte(t,0+n_forced*5)' '-map' '[2]' '-metadata:s:1' 'language=eng' '-codec:1' 'libopus' '-b:1' '140k' '-segment_format' 'matroska' '-f' 'ssegment' '-individual_header_trailer' '0' '-flags' '+global_header' '-segment_format_options' 'output_ts_offset=10' '-segment_header_filename' 'header' '-segment_time' '5' '-segment_start_number' '0' '-segment_copyts' '1' '-segment_time_delta' '0.0625' '-segment_list' 'http://127.0.0.1:32400/video/:/transcode/session/0831FEC4-11BB-4CDA-8F56-13540C54FA4D/2e650e0a-3243-428f-8f3e-ed78128dad0a/seglist' '-segment_list_type' 'csv' '-segment_list_size' '2147483647' '-segment_list_separate_stream_times' '1' '-segment_list_unfinished' '1' '-max_delay' '5000000' '-avoid_negative_ts' 'disabled' '-map_metadata:g' '-1' '-map_metadata:c' '-1' '-map_chapters' '-1' 'media-%05d.ts' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-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/0831FEC4-11BB-4CDA-8F56-13540C54FA4D/2e650e0a-3243-428f-8f3e-ed78128dad0a/progress'

...

Sep 12, 2019 19:09:10.374 [0x7f5154ff9700] ERROR - [Transcoder] [h264 @ 0x26b2d00] decoder->cvdl->cuvidCreateDecoder(&decoder->decoder, params) failed -> CUDA_ERROR_INVALID_VALUE: invalid argument
Sep 12, 2019 19:09:10.374 [0x7f5156ffd700] ERROR - [Transcoder] [h264 @ 0x26b2d00] Failed setup for format cuda: hwaccel initialisation returned error.
S

the server now playing starts out with HW decode, then the HW disappears.

I have confirmed via nvidia-smi that decoder utilization = 0%

HW encoding still seems to work.

HW decoding of x265/hevc still works.

Plex Media Server Logs_2019-09-12_19-09-55.zip (3.4 MB)

proxmox 6/debian 10
nvidia driver 435.21
gtx1650