Selective Hardware Transcoding by resolution

Hello!

Hardware transcoding works great for me at 720p or higher resolutions and saves my Intel NUC server a lot of CPU power when enabled. However my 480p or lower transcode remote users complain the quality is unwatchable.

Please add a setting to only use hardware transcoding at select resolutions or greater. We could set it to only use hardware transcode at 720 or 1080 stream or higher and then use the normal transcoding processes for lower resolutions. This would provide at least some CPU relief and benefits while not impacting lower quality streams. Thank you!!

I am far from a plex guru but have used plex for 3-4 years on Pc’s (and NUCS) Several Shields, and several Synology and qnap NAS.

I think u have your thinking wrong.
Firstly you don’t want transcoding unless u must. So if everything is transcoding there lies the problem.
I convert/remux everything to mp4 x.265 or x.264 and play on Shields, AppleTV4, Roku and xbox locally and roku, fire tv, chromecast , lg tv , samsung TV and various Android phones and Boxes remotely.
Over the last almost 3 year using Tautulli for stats about 30% transcode but most of those are using subtitles (a known transcoding cause).
So the real number might be 10% Transcode.

You don’t mention the size, bit rate or format of your media.
If 480p are transcoding it is the media format/bit rate or your clients players.
IMO :grin:

I appreciate the response but it’s off base. I have no control over what clients my users are using, in this case a friend is watching a very old TV show which is encoded in AVI 480p. The user has a PlayStation 4 and their plex client transcodes the show when they watch it on the PS4. So if hardware transcoding is enabled the 480p show transcodes for the PlayStation 4 client and it looks awful. However say another friend starts a 1080p stream to their phone, hardware transcoding kicks in and the stream looks great.

So I’m asking for an option to exist so hardware transcoding is only used for 720 (or whatever the server owner wants) or higher resolutions. This way for higher end streams it’s used, saving some CPU burn, but for lower resolutions where hardware transcoding looks rough plex will use it’s normal transcoded. Thank you!

I get what you are asking and whether that can be done or not I have no idea.

But really if your “friends” want to use your free service it is up to them to get a box that works.:stuck_out_tongue:

I completely agree with this request, i want the exact same feature. we should be able to say use hardware transcoding but only for videos that are higher than a given resolution. I have the same problem that some stuff looks like absolute garbage when HW transcoding is enabled. I got a quadro m2000 just for HW transcoding but i can’t use it because a lot of the older stuff i have looks like crap. It’s a real shame that it’s all or nothing. Does anyone else have another solution for this problem. Possibly there is a way to script it to reencode all of my older sd files to 720p so that they look good in HW transcoding. But a simple setting in Plex would be ideal (over reencoding all of my files)

I also want this feature, selective transcoding method based upon libraries, collections, bitrates will be very useful.

Thinking about it, there is a workaround but it involves duplicating PMS which is not ideal if you have a huge library. This would work on Windows on older PLEX versions I think:

  • Create a PMS running as a service with SYSTEM account, as far as I can remember this cannot use hardware transcoding anyway if newer PLEX versions can use hw transcoding under these circumstances, you can just leave the option disabled on this instance’s control panel.
  • Setup an autologon account and run Plex also under that account, this one will be able to load graphic components and it will be able to use hardware transcoding.
  • Distribute your media between libraries or just duplicate libraries on PLEX, as per your wishes.
  • If possible, use UPnP on your router/gateway so multiple ports are opened automatically and mapped to the right PLEX instance.

Not the smarter but I think it will work, then you just need to instruct your leechers to pin on their menu the different libraries from the different servers as per their needs.

You should not notice a lot of CPU load as one instance will be using CPU and the other the GPU, only library tasks and web services running.

This shouldn’t be selectable by just resolution, but also by bitrate. The lower the bitrate, the more desirable it is to use CPU over GPU – especially very low bitrates.

In addition, GPU should still be used for decoding and scaling.

Agreed - my low-quality streaming files looked tiled/blurry with HW transcoding. If I can tell Plex to only use HW transcoding if CPU is running hot, or if I have more than two movies streaming all subsequent streams use HW transcoding, or to not transcode anything below 720, or a combination of the three. I’m not a fan of ‘only use HW transcoding for movies in this particular library’ approach. I posted a question to this very issue without seeing a feature request which matches my issue.

Thanks for posting this. I’m not enjoying the current toggle that not only enables hardware transcoding, but forces it to do every job. It’s resulting in bloated, bandwidth-wasting high bitrates.