Hi Plex Devs,
Hi Plex Community,
In the last days I decided to upgrade my account to “Plex Pass”. I upgraded because I use this software everyday and I would like to give my opinion on the required new features.
I already know that there are other feature requests in the forum, but I think that the main requirement is to have a GPU HW accelerated support and there are too specific asks for particular architectures.
**Rationale
I the last days new codecs are gaining visibility (hevc/h.265). At the same time a lot of people has low-power NAS or low-power headless PC as PMS. Always at the same time we have TV that are not future proof.
The actual result is that often to watch the last contents (usuali at least full-hd and with h265 codec) requires the transcoding to perform conversion from source format (container and stream) to target format (usually a small set of combination between container and supported stream format). Transcoding is not the evil and it’s the main difference between Plex and other products. Transconding is also the future-proof component that will permit to not change TV every year.
The people usually uses Intel hardware that offers an integrated GPU. Other people has external GPU like NVidia or AMD/ATI.
To make Transcoding future proof a GPU HW Acceleration will be useful, supporting at least the most important libraries (VA-API, CUDA, OpenCL, …). Adding HW Acceleration we will able to keep our low power HW increasing the lifetime of our HWs because (from benchmark) we can reduce the CPU usage about the 60%.
The main Plex competitor is proposing already this feature (I think because he is using a almost vanilla version of ffmpeg).
The ffmpeg, how you already know, already inserted this support (https://trac.ffmpeg.org/wiki/HWAccelIntro), and Plex should find a good way to have a generic platform (hw agnostic) with plug-able hw acceleration modules (VA-API module for Intel GPU, …) .
**Proposed feature
Plex should offers a way to add HW acceleration plugin in order to support main GPU architectures. A plugin can be a specific version of Transcoder (compiled with a specific support) or a transconding sub module called from the main Transcoding task.
The main architectures are Intel (VA-API, Intel QuickSync and OpenCL), NVidia (CUDA, NVENC), others. I think that VA-API is a good start point because it should be available also on some Intel base NAS.
In addition, the HW support can be a very interesting Premium feature in order to create more cash flow…
(I’m sorry for the multiple post)