Transcode to HEVC/x265

Is the ability to transcode to HEVC/x265 something that’s on the roadmap?

Most, possibly all, of the people I share my library with use playback devices which support HEVC playback. I’ve got a very beefy Xeon processor with more cores than I have fingers in my server that is perfectly capable of transcoding a couple streams to HEVC. It would be nice if there was an advanced option, or maybe a feature for PlexPass subscribers, to enable transcoding to HEVC for devices that support it to increase the quality of their streams, especially in situations where download speeds can be limited like streaming over cellular or slow home broadband. I’ve got a friend that lives in the boonies stuck on 3Mbps DSL, but he has an Apple TV 4K so his 2Mbps streams could be much better looking if he could stream them via HEVC.

Plex doesn’t give roadmaps but transcoding to HEVC doesn’t make much sense, does it?

HEVC is extremely hard to decode as it is. Encoding to HEVC is even harder.

If the source video only has 2 Mbps of video, encoding to HEVC buys nothing … Bits lost cannot be reinvented by encoding to HEVC.

10 Likes

The source video is not 2Mbps. I obviously know you can’t increase the quality of a video above the original. I was referring to a scenario where, for instance, my friend with the 3Mbps DSL is trying to play back a BluRay remux 1080p H.264 video. Because of his limited bandwidth my Plex server is going to transcode that video down to 2Mbps x264 when he tries to play it. If that video could be transcoded to HEVC he would receive a much better looking video using that same 2Mbps of bandwidth.

I understand that encoding HEVC is very CPU intensive. More and more hardware is being released that supports HEVC hardware encoding. Beefy server CPUs can also handle it in software. Why not give the user the option to turn it on if their hardware can handle it?

15 Likes

Here’s what I must look at from my perspective.

  1. Which CPUs (QSV) or GPUs (working on) support HEVC encoding in libva?
  2. How many need/want that capability? (This is the business folks decision)
  3. How much will it cost to implement (another business decision)

With the list of what can handle it,

I then set out to implement on Linux and in NAS boxes with Intel -8xxx processors.
Engineering can put together the codec(s).

It’s doable but a big effort.

2 Likes

The time has come for H.265 encoding using HW Transcoding.
There is little performance difference because it’s done in HW and not software. Especially true for consumer Nvidia card owners.

If not using HW then this can easily overwhelm a CPU for sure. Therefore it should be an option.

Bitrate for bitrate H.265 looks better in my testing when taking a file and converting it to both H.264 and H.265. The bitrate/filesize difference is outstanding.

I’ve been using H.265 for quite a while in my libraries and have been pleased. Every device I have and use support this except for one Roku 3 which isn’t being used currently. Every new device supports it out of the box. It has to in order to support 4K.

Probably as important is knowing how to work with H.265. By this I mean if you had an H.265/DTS file and tried to play this back on a Plex client that is only stereo this file would require both audio and video transcoding to HLS vs just transcoding the audio ONLY since nothing is wrong with the video.

When tone mapping of 4K material is handled correctly in ffmpeg for real time transcoding, users will want H.265 to H.265 as no one is going to want the huge H.264 bitrate/files and not keeping it 10 bit. Going to H.264 will double the bitrate needed and not look as good.

H.265 is no longer “FUTURE” technology but is here TODAY. Well actually been here for a while but it’s getting more and more important to embrace this (at least via HW) as there is a need for it.

32 Likes

I agree.
It is long past time to have a client option to request, and server options to prefer and force HEVC transcoding.

6 Likes

I agree. The time for HEVC transcoding support is long overdue. My entire library is encoded in h.265. All my devices I use for playback support HEVC hardware decoding, including my mobile phones. My Plex server is more than capable of transcoding to HEVC in real-time at decent quality. As 4K content grows, the need for HEVC transcoding will become more and more important. Better to innovate ahead of that curve than to be limping behind it.

8 Likes

Well if HEVC on Plex ends up requiring hardware transcoding then it remains unavailable to the large number of us who don’t use Windows.

1 Like

Or they could support it on different platforms. :slight_smile:

3 Likes

Would like more codec options for transcoding too :slight_smile:

1 Like

Have to agree here. H265 transcoding is here today and applications that don’t use it will be left behind.

5 Likes

Tell that to all the people that still use AVI’s and all the apps that play AVI’s.

Welcome to the forum!!

I would really love to see this functionality. The most quality my family members get from their connection is 4 Mbps 720p. If it was transcoded to H265 they would probably be able to get a good 1080p out of that same 4Mbps connection.

11 Likes

Your best bet for now is to convert these files to H.265 before you add them into Plex. This way Plex doesn’t need to do the transcoding but only stream the files. Worse case is that a client doesn’t support H.265 so it needs to be decoded (much easier than encoding) and re-encoded to H.264 for that client.

If you test and do some homework you can come up with a good ffmpeg command line that can be used to convert all your files to a format that will stream in 4 Mb.

I personally only do CPU based conversion to H.265 which gives better quality and lower bitrates then HW at present.

6 Likes

This is very accurate. I’ll take it one step further, because I had to do testing for a device with limited space. The tests would apply just as effectively if you’re sending data over/to a slow connection:

For most film content, you can get a very watchable movie by encoding to 720p HEVC at 1,000 Kbps (1 Mbps). Some devices can natively play HE-AAC 5.1 audio, and you can get away with using 160Kbps total. If nobody needs surround, you could do either HE-AAC 2.0 at 64 Kbps, or AAC 2.0 at 160Kbps.

This kind of transcode rate is not what you’d want to use when you have good bandwidth, a high-end calibrated TV/projector, and a good surround sound system. But for someone who wants to see a movie on their 50-inch flatscreen using the TV speakers? It would be more than fine. It also works nicely on a 10-inch tablet.

3 Likes

Adding h265 transcode support should be a no brainer. It will allow for better image quality any time there may be a bandwidth constraint. Hardware constraints are very quickly becoming irrelevant. This is the same progression as mpeg2 to h264 so its not like this is a new thing.

3 Likes

+1 for request to add HEVC encoding… I’m sure most, if not the majority, of Plex users have clients that support H265 or will be in the near future.
Isn’t H265 licensed where H264 is open source?

4 Likes

As far as I know they’re both licensed and paid for. Neither is free in an open source way.

You may be thinking of the upcoming AV1 Codec.

1 Like

Ah. Nice article, maybe here is what I was thinking of

The next-generation HEVC/H.265 codec, with its many patents, could cost up to ten times more than AVC/H.264

…though I’m sure Plex isn’t shy of any pennies :money_mouth_face: