Plex Media Server 1.16.7.1597 (Updated) - New Transcoder Preview

Hello, forum users! It’s time again for an update to Plex’s transcoding and analysis backend. This is a special forums-only preview release; the changes in this build will be included in an upcoming regular release once any new issues are handled.

Please test this version with a variety of different media file formats and clients. If you notice any new issues (specifically ones that don’t also happen on the current beta release), please respond to this discussion instead of starting a new one, and include your Plex Media Server logs and a sample file that reproduces the issue.

Note that regular releases’ version numbers may share the same first 3 components as this release. The fourth component (the build number) will differ.

If you’re running Windows, you should always uninstall preview releases before installing another preview release or an official release. This won’t affect your library or personal data at all, and it will work around some Windows installer-related issues.

To test in a Docker container, open a shell in the container (using docker exec), download and dpkg -i the Ubuntu package, update the version number in /version to reflect the build number you’re testing, and restart the container.

NEW:

  • Update to current upstream ffmpeg
  • Support for hardware decoding on Linux with Nvidia GPUs
  • Support for zero-copy hardware transcoding on Windows with Intel GPUs
  • Support for zero-copy hardware transcoding on Linux with Nvidia GPUs
  • Support for zero-copy hardware transcoding of interlaced media

Additionally, this update moves us towards being able to support tone-mapping HDR media to SDR for playback. This isn’t available in this preview, and I can’t make any promises on the timeline on it, but know that it’s something we’re working on :slight_smile:.

Updated (1.16.7.1573 → 1.16.7.1597)

  • Fixed issues with hardware acceleration on Windows with Intel GPUs
  • Fixed settings issue on Synology NASes

Known issues: (actively being worked on)

  • (Windows - Intel GPU) HW decode of some MPEG2 DVR recordings can fail.
  • (Linux - Nvidia GPU) GPU can remain in P0 power state after a transcode.
  • (Windows - Intel GPU) Green bar at bottom of video when transcoding HEVC content on Windows.

Issues that will be fixed in Next Release:

  • (Windows - NVIDIA GPU) Some HW transcodes can fail with a format conversion error.
    (Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0')
  • (Linux - Intel GPU) macro-blocking and picture quality with some VAAPI transcodes.
  • (Linux) TrueHD audio can fail to transcode in some cases.

Download Links (Updated):

28 Likes

oh F yeah

image

image

I’ll need to reinstall a Windows Plex box to test, but may do that this weekend. Congrats on the beta!

Is there any hope this resolves the issue of spotty hardware transcoding for Intel graphics on Windows?

Is there any hope this resolves the issue of spotty hardware transcoding for Intel graphics on Windows?

There’ve been a few stability improvements in that area, so there’s a decent chance that the issues you’d run into have been fixed. Only one way to know for sure, though!

1 Like

fyi to anyone trying this out on linux, and hasn’t already tried the unsupported patch…

@ 1444MiB per 4k transcode, a 4 gig ram video card will support up to TWO 4k transcodes. The 3rd 4k transcode will not have enough video ram and will fall back to cpu.

This confirms that VIDEO RAM is the single most important stat on a supported gpu (for plex transcoding purposes).

As a reminder, all nvidia gpus of the same architecture have the same gpu encoder/decoder, which means they have the same transcode performance.

Of course nvidia doesn’t release cheap cards with lots of video ram, so if you want lots of 4k transcodes, you still need an expensive card with lots of video ram.

assuming ~ 1.5 gigs of video ram per transcode, you can do the math on your own video card, or your next potential video card.

this means a 5 gig p2000 will support THREE 4k transcodes.

a 6 gig card will support up to FOUR 4k transcodes
a 8 gig card will support up to FIVE 4k transcodes

2 Likes

I can direct play on Samsung Tizen devices now, so that’s good. Not sure if this update fixed that, but less transcoding is better.

Gave it a try on my DS918+. PMS runs but Server settings cant be reached. Cant change or view any setting of the Server. Library is there, as my Movie and Series. Transcoding works but very pixaleted.

Cant get logs because of not reachable Server Settings.

Synology 64bit Intel Package

What does this do for MacOS users using a MacMini.

Is there a forum preview for the official Plex Inc, Docker ?? I’m running your official Docker on my Unraid server and I would like to also try it!

4 Likes

I’m running on Ubuntu 18.04.3 with Quadro P400, latest nvidia driver.

After installing this version I’ve lost the setting to change playback quality, and it’s stuck at the default SD. I had it set to max on the previous version (1.16.5.1554) but it seems to have ignored it.

If you need more information let me know.

I have got the same issue on my XPenology setup (DSM 6.2) using Plex x64 Synology package.

Looks like the server is returning 404 Not Found when clicking on any Server Settings link on the left panel.

Very cool Update.
My setup update, a linux container:

  • (container) Ditched the the patch for previously injecting options to ffmpeg
  • (host) Updated my nvidia kernel driver to 418.88 because ffmpeg required a more recent version of cuda
  • (container) installed libnvidia-encoder to 418.88

Done, the hw transcoding is now working properly.

And good luck with the tone mapping feature :wink:, many people (including me) would finally rejoice playing their 4k hdr content to non compatible clients

1 Like

I am getting the same issue on DS1817+ running on latest DSM 6.2.2-24922

I’ll be investigating the Synology issue tomorrow. In the mean time PMS logs would be a big help if you are having issues :grinning:

1 Like

I finally got Windows reinstalled on my box this afternoon (after the usual “WHERE is my license key?!” search).

Early reaction is very positive for Windows hardware transcoding with Intel. Some of my longstanding frustrations with transcoding are resolved with this beta. I’ll hammer it more in the coming days to see if I have any further feedback.

Hello, my question would be if the problems with the power state 0 are solved with this update? has anyone tested that?

hey there, transcoder (the CPU side of things) seems a lot better and uses less resources…

however, what part of plex decides which file to play?

Scenario:
in a library, in the movie’s folder (eg. John Wick 3…) there is a 4K file, and a 1080p file
a remote stream user selects John Wick 3 to play, and the requested res is 720p
what chooses which file to transcode?

Because I just had that scenario, and it chose the 4K version… Whereas before this version it chose the 1080p file to transcode

2 Likes

So I’m really curious, what changes were required to support nvdec? If you just added “nvdec” to the old transcoder options it worked on the old transcoder so I’m curious what features were added to support decoding.

assuming ~ 1.5 gigs of video ram per transcode, you can do the math on your own video card, or your next potential video card.

What? My card uses ~350MB per 4K H265 HDR transcode…

[root@nas plexmediaserver]# nvidia-smi 
Sun Aug 25 07:31:47 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.34       Driver Version: 430.34       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro P4000        Off  | 00000000:02:00.0 Off |                  N/A |
| 55%   60C    P0    30W / 105W |    353MiB /  8119MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     46870      C   /usr/lib/plexmediaserver/Plex Transcoder     343MiB |
+-----------------------------------------------------------------------------+

Transcoding not working for me on Win10+P2000. It detects both nvdec and nvenc, then tried to play, but gets this error:

Aug 25, 2019 15:03:26.744 [23304] 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 25, 2019 15:03:26.746 [6428] Error — [Transcoder] Error reinitializing filters!
Aug 25, 2019 15:03:26.747 [23304] Error — [Transcoder] Failed to inject frame into filter network: Function not implemented
Aug 25, 2019 15:03:26.748 [6428] Error — [Transcoder] Error while processing the decoded data for stream #0:0
Aug 25, 2019 15:03:26.821 [21988] Debug — Jobs: 'C:\Program Files (x86)\Plex\Plex Media Server\Plex Transcoder.exe' exit code for process 3212 is 1 (failure)
Aug 25, 2019 15:03:26.822 [23084] Debug — Streaming Resource: Changing client to use software decoding

It then plays the file using software transcoding. I’ve tried several files both x265 and x264.
Anybody else having similar issues? (filtering the console for tpu: will show you the hardware detected)

something is not right on your end.

see the second post, 4k/hdr/hevc transcodes take ~1444mib per transcode

you can also refer to @ nVidia Hardware Transcoding Calculator for Plex Estimates which will also state approximately the same (they use MB instead of MiB).

your example is closer to a 1080 transcode.