HEVC encoding - feature request - reserve HEVC encoding only for 4k or HDR sources

I played around with HEVC transcoding yesterday, and really like this feature!

My server is Linux based, and I tried two different Nvidia GPUs (Turing, Ampere).

The learnings & drawback for me - was how much HEVC impacts # transcodes compared to h.264. Also, not sure why :slight_smile: , but I was a bit surprised turning on this feature transcoded everything (SD, HD, 4k) as HEVC.

Feature Request:
Is there a way we could get the best of both worlds?

  • h264 encoding for HD and below
  • Reserve HEVC for UHD or HDR encoded source files

Thanks again for improving and adding functionality, excited to see how this feature continues to mature!

1 Like

Sounds like a terrible idea for people who are upload constrained

If it’s an option to enable then people who are upload constrained can chose to keep the status quo and encode everything to HVEC, while people who want more fine-grained control over can have that. Not terrible at all.

1 Like

Thanks, this is how I was thinking about it. Nested check boxes for SD, HD, UHD… or 480p,720p,1080p,2160p… or non-hdr, HDR… etc.

Chances are that the difference is (at least a considerable portion) caused by the tone mapping from HDR to SDR.

Also, UHD raw rips tend to have also higher bandwidth audio streams, which are more complex to decode and downmix for “lesser” players.

What i learned is that HEVC HW transcoding is more intensive on the GPU than AVC/h.264.

With an Ampere GPU and HEVC transcoding I could sustain 2 simultaneous HEVC encodes. A third would eventually introduce buffering. Mind you, this is 2 of ANYTHING… could be 2 1080p transcodes, and a third 1080p would sink that ship for all.

Same GPU, I can get 5+ simultaneous AVC transcodes - all working just fine.

I understand your perspective if the use case is 2 or less simultaneous transcodes while prioritizing PQ for those streams.

In my use case, I prefer a higher number of transcodes (3ish) and only really wanted the HEVC so HDR is preserved on UHD transcodes. Having the ability to reserve the expensive HEVC transcoding for only HDR sources would hit my mark.

As mentioned by @kesawi , giving the option for more granular controls would enable both use cases, and everyone wins!

With an Nvidia RTX A4000 Ampere, I am able to sustain 4 concurrent HEVC 4K HDR10 encodes. I am using PMS v1.41.3 Public Branch.


I start to have issues with 5 encodes of HEVC 4K HDR10 with micro buffering
CC: @ChuckPa

@DRied Out of curiosity which Nvidia GPU are you employing?

I am able to sustain 8 concurrent HEVC 4K HDR10 → 12Mbps HEVC 1080p HDR10 encodes without micro buffering

1 Like

My GPU is an RTX 3050 6 GB. Know this GPU is weak for gaming, but it has low power consumption and Ampere NVENC, so seems to be a good fit for transcoding.

I played around a bit more tonight, and you are right about getting more transcodes @ 1080x12Mbps. Great find, this allows me to hit my target of 3+.

I’m kindof shocked how much harder it is on the GPU when set to 1080x20Mbps.

I still think having a bit more granularity on picking sources for so folks can mix n match AVC & HEVC would be nice.

Not sure about your environment but 20Mbps with HEVC encoding enabled in PMS, actually becomes HEVC 4K HDR10…so yeah it will not run as many encodes as below 20Mbps

1 Like

Choices. Some are upload constrained, some are hw constrained.

1 Like

I saw in todays server update, a similar feature was implemented.
Testing this out now :slight_smile:

I did have to reboot my server after the upgrade in order to get HW transcoding working again, but lets just call that an outlier.

Seems to be working!

Do we know is 20Mbps the lowest bit rate to support 4K?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.