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 .
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.
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!
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
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.
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.
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.
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
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)