Transcode to HEVC with HW Support (Intel/NVidia)

I am creating this thread because the old one (Transcode to HEVC/x265) was locked for going off topic, but this is still a valid feature request that has not been addressed. (Would also be fair if the existing 211 votes counted)

My justification for revisiting this issue:

  1. Bandwidth and Quality: With newer clients and PCs, it would be nice to offer a 5mbps 1080p option. On my i7-3770 with a GTX 1060, hevc_nvenc can do encode 1080p to 5mbps at 10x speed (assuming low disk IO), and the quality is way better than 4mbps 720p.

  2. Implementation: Technically speaking it should not be difficult. Plex already use ffmpeg, just update it. As for codec compatibility, that should be simple. Update your capable clients to advertise HEVC support to the server. If the client is old, incapable, and/or doesn’t advertise, fall back to compatible h264 profiles. (eg “5mbps 1080p HEVC” = “4mbps 720p H264”)

  3. Suspected Licensing Issues: While I don’t completely understand the corporate side of licensing, there seems to be no problem encoding h264 with hardware. Since Plex itself is not doing the encoding, is Plex really responsible for the license? How would Plex executing the same FFMPEG command I manually run to transcode files be any more or less legal?

Please keep this thread on topic so that the mods do not lock it again.

I removed my vote from there and added it here. This needs to happen in some form. With remote sharing affected by data caps and bandwidth limits, this has a clear impact on user experience.

1 Like

I definitely agree with this. Many popular SoC’s these days (even embedded TV SoC’s) all support HEVC decoding now. You can certainly get much more bang (in terms of psychovisual quality or perceived quality) for your bandwidth buck by using HEVC/h.265/x.265 over AVC/h.264/x.264 wherever possible.

1 Like

ChuckPa is clearly missing a lot of knowledge on the encoding/decoding end and the current situation on the hardware market.

HEVC was released in 2013, this has now become the standard encoding platform since the release of UHD as it reduces 50% storage so it also reduces bitrate by 50%, while maintaining image quality, HEVC also mandates 10-bit color which means it is half the size and can support a higher color range than standard H264. In 2014 Blu-ray implemented it as their standard and shortly after that Samsung, Apple, Microsoft, NVIDIA and Android followed. Now all modern browsers also support HEVC.
Nearly all hardware that was released in 2015 supports HEVC, this is a 5-year-old technology, and we just entered 2021 and Plex still does not support it. While the free software and a competitor of Plex, Jellyfin does. To be honest, if you have a devices that does not support HEVC I would question if you should use it as a media streaming server.

Streaming platforms like Netflix, YouTube have not adopted it yet, but the difference is they have an entire infra built around H264, the nice thing about Plex is that they let us build our own infra, this allows them to be a lot more flexible when it comes to encoder implementation.

As for licensing x265 is free, it does not cost anything just like the x264 encoder plex already uses.

I was hoping Plex would be the future, thats why I purchased my lifetime Plex Pass but I now question if there developers can keep up when they cannot release technology that is more then 5 years old…

1 Like

Correction, YouTube and Netflix have also implemented HEVC support.

YouTube and Netflix are both actually starting to transition to AV1, and I’m not sure they ever fully completed their HEVC transition (it looks like a mix of codecs for them right now). AV1 is a royalty-free codec unlike HEVC.

Speaking as a person who has advocated for HEVC support in the past, at this point I’d be fine if Plex leapfrogged it and spent those resources on long-term plans for AV1 support, so they’re not trying to play catch-up to the codec-of-the-moment.

1 Like

the only problem with AV1 support, is HW to support it.

with no AV1 HW encoding, to me there isn’t any point.

edit: not to mention AV1 decoding support on sufficient number of devices to make it worth while

edit2: and even before the HW support, there would need to be FFMPEG support for AV1. (edit: which I guess it already does to whatever extent)

going back to hevc discussion, which already has ffmpeg and GPU/playback device support, I would imagine that licensing and engineering work is still a major factor.

1 Like

100% agreed, but it seems to take a while to nail down stable hardware encoding. Seems like starting to code/test acceleration with early hardware would give them time to have it ready when it’s more prevalent (It looks like Intel has decoding with their new CPU’s and encoding coming soon).

With Netflix and YouTube supporting it, it’s more likely to get adoption in hardware quicker. Famous last words, of course.

HEVC really does look like a “transition codec” right now. And I use it a lot!

1 Like

Thanks for the feedback and insight @Cafe_Diem. I have also read about the licensing and for commercial seem to need to contact MulticoreWare.
From what I know Intel started HEVC Encoding support when they released Skylake in 2015, so it should still be supported. My 2017 Intel CPU can transcode to HEVC no problem.

I myself built my entire setup around HEVC in 2017 waiting for this thread to be implemented ever since I built it:
https://forums.plex.tv/t/transcode-to-hevc-x265/360421/136
So you can imagine how I felt when I saw it was closed today :smile:

I know as an engineer at multiple big named media companies it is a massive undertaking to change to a new codec as you do not want to give the viewer at home a bad expierence so you would normally start with the RAW material and transcode it all over again in the new formats on top of all the hardware and development that is needed to support it.
If licensing is the issue I would be open to paying for the ability to use HEVC in Plex, my setup has cost me a good $9000, why then cheap out on the software :blush:

1 Like

Believe it or not, it was one generation later! Skylake has “hybrid support” for HEVC, which means it helps reduce CPU in Windows but it’s not fully supported in hardware (good luck with Linux). Kaby Lake is the first generation with full HEVC support in graphics, which is what my main server currently runs on.

But to be clear, I do understand HEVC support is there in most hardware <4 years old. I’ve actually been a big supporter of adding it over the last few years. But I can absolutely see the scenario where if Plex thinks AV1 is going to be the future, free, and well-supported in hardware and devices, they should just focus resources there. Some short-term pain for long-term gain, basically.

2 Likes

Understandable, but they did not skip H.264 when the DivX/XviD era made H.264 “transitional” like H.265 is to AV1. I think if the codec has existed more than 5 years we don’t get to call it “transitional” without calling H.264 “transitional” as well.

I’d hate for Plex Team to have another excuse to not implement this.

1 Like

XVID/DIVX never had the wide support h.264 did, which had become the professional standard across the tech and entertainment industries. H.264 has been the standard for around 15 years. It’s the opposite of transitional. HEVC remains to be seen whether it’s a short-term or long-term codec. Heck, even most browser companies have declined to support it, except Apple. The good news for HEVC’s longevity is that it’s the standard for ATSC 3.0 (and it looks fine so far in testing).

The very good news is that HEVC has modern hardware support. The bad news is that, if AV1 is free and overtakes HEVC with the support of the major tech companies, you’d be doing the work twice for updating hardware acceleration.

Not that I’d complain at all about hardware-based HEVC in Plex, all my stuff supports it! Note that I’m not saying “Don’t do it!”. I’m mainly saying “Don’t delay the next-gen free-license codec for this, if you’re already planning that transition.”

1 Like

My server setup is capable of transcoding to & from HEVC, & all my users have devices that are capable of direct playing HEVC. Reason why I would love to be able to transcode to HEVC is to take some of the heavy lifting off of my internet upload bandwidth, & not take to much of a hit on the quality of the stream its transcoded for my users. The 2/3/4mbps x264 profiles Plex uses now are decent/below average quality, & do the job for people with low internet upload bandwidth. But the quality/upload bandwidth ratio by transcoding to HEVC on the fly could be so much better. I could just transcode all my media to HEVC before hand… But aint nobody got time for that :slight_smile: Thats why we use Plex :+1:

Voted!!

2 Likes

Closing in favour of Transcode to HEVC/x265