High Efficiency Video Coding

I mostly encode family videos so I am not a video pro. But earlier this year I started encoding all my videos in the newer H.265 video compression standard. Also known as x265 and HEVC. My backup was getting very big and I was looking for a way to save some space. So far I have been happy with the results. I have been able to reduce video size by up to 50% in some cases while not being able to tell much of a difference in quality.

Video editing in Blender

I have read on the internet that some people say the older x264 or H.264 still has the best overall quality but from my experience, x265 looks fine at a lower bit rate then x264. I encoded the same video from my GoPro in x264 and another with a lower bit rate in x265 and I could not tell much of a difference. I was stopping frame by frame and looking very hard to notice the slightest differences. But this may also depend a lot on the type of video you are in coding.

HEVC vs H.264

How does HEVC work? In short H.264 and H.265 break out the video into a bunch of squares then only update the squares that have changed since the last frame. By doing this you do not have to save data for unchanged parts which reduces the file size of the video.

How x265 works.

But H.264 uses the same size squares while H.265 changes the size of the squares in order to be more efficient at the cost of more CPU power.

H.265 is slow

Because the more advance encoding uses more CPU power H.265 is a lot slower to encode and decode. The older H.264 has hardware support on most computers and phones nowadays but most devices do not have hardware support for H.265 yet. In order to play the videos on my desktop I have to use software decoding in VLC player. But I suspect in a few years the hardware support for H.265 will catch up and it will be just as fast as H.264 is now in playback and encoding.

How to Encode H.265

I use Blender to do my simple video editing. Mostly cutting clips out and adding clips together. Then I use Blender to export the video with H.264 with a high bitrate like 24,000 kbps or a variable bitrate with a high-quality setting. That way I try to avoid losing too much quality. Then I use Handbrake to convert the video to H.265. I like to use the “Constant Quality” setting and set it to something between 20 and 24. This will cause Handbrake to use a variable bitrate and potentially save a lot more space.

At this point, Blender will not encode to H.265 so that is why I have to use this multi-step process.

Video Bitrate Guide

If you can’t or do not want to use a variable bitrate then here are some bitrate suggestions. But they are not hard rules. Just some starting baselines. Some videos will need more, and some will need less. In theory, H.265 should be able to go 50% less then H.264 while keeping the same quality. But I like a little more quality so I have not gone 50% lower than the H.264 suggestions. My GoPro records at around 25,000 kbps so taking those videos down to 8,000 kbps already saves a lot of space.

I have also noticed that on dark videos I can get away with a lower bitrate.

Remember 1 Mbps = 1000 Kbps. Some programs go by kbps and some go by mbps.

H.264 Suggestions.H.265 Bitrates I have used and like.
2160p (4k) 30fps = 44-56 Mbps
2160p (4k) 60fps = 66-85 Mbps
1440p (2k) 30fps = 20 Mbps
1440p (2k) 60fps = 30 Mbps
1080p 30fps = 10 Mbps
1080p 60fps = 15 Mbps
720p 30fps = 6.5 Mbps
720p 60fps = 9.5 Mbps
1080p 30fps = 8-12 Mbps

I have not done anything other than 1080p 30 fps with H.265 so I do not have a lot filled in on my chart yet. I also still prefer the variable bitrate options myself.

Leave a Reply

Your email address will not be published. Required fields are marked *