Aurora5 HEVC Test Results - May 2022
We’ve all had the experience of having friends or relatives tell us how smart their babies are – and how do we respond? We smile, we nod… but we don’t really believe it. We just attribute it to the understandable pride of being a parent.
Well, here at Visionular, our baby is the Aurora5 HEVC encoder. And yes, we do talk about how great it is. (It really is!)
So, realizing that singing the praises of our own product may be less than convincing, we wanted to find a more objective assessment of its performance — and we decided to put the Aurora5 to the test against two very strong competitors.
Meet our test set
We chose six 1080p raw videos with a mix of 25, 50, and 60 FPS that are all in the public domain and pose various encoding challenges — lots of small details, sweeping camera movements, things like that.
It’s relatively easy to encode, say, a locked-off camera shot of two people sitting talking to each other, since there are very few differences in the image from frame to frame. But we wanted video clips that were really going to stress test our Aurora5 HEVC encoder and put it through its paces.
Following are links to the files so that you can take a look at the originals.
The other testing element that you have to know about are the specs of the machine we used for testing. The CPU was an AMD EPYC 7032 with 16 cores and 32 threads.
Contestants in this encoding bake-off were the x264 open-source H.264 encoder running at medium speed, the x265 open-source HEVC encoder set to very fast (both presets are the most commonly used with x264 and x265 for live encoding), and our Aurora5 HEVC encoder running in its very fast mode.
Those were the terms of this engagement. Let’s see how we did.
Round 1: Encoding speed in frames per second
Encoding speed is crucial for livestreaming as it’s the difference between an uninterrupted viewer experience and one that lags, buffers and freezes. To really put these encoders to the test, we had them encode 2, 4, 8 and 16 renditions simultaneously on the same machine. Here’s how to read the results.
On the above chart, whenever the encoding speed (measured in frames per second – FPS) equals or is greater than the source frame rate, the encoder can livestream successfully. It’s when that number drops below the source frame rate that problems develop — insufficient FPS values are indicated in red.
As you can see from this chart, when encoding two renditions at the same time, x264 and Aurora5 can both handle them easily at every target bitrate. The red numbers indicate, however, that x265 struggled with three of the clips, especially for the higher target bitrates.
When we move on to four simultaneous rendition encodes, x265 really struggles and simply cannot handle the highest target bitrate (and others) for any of the clips. The x264 encoder begins to show signs of strain with the highest targeted bitrate on a couple of files as well. Aurora5, on the other hand, is still going strong.
When we encoded eight renditions at the same time, x265 collapsed in defeat – it could not successfully encode any of our clips at even the lowest target bitrate. Likewise, x264 really met its match with eight simultaneous renditions and was only successful encoding three of the film clips at the lower target bitrates. But Aurora5 barely broke a sweat, successfully encoding four of the clips at every target bitrate and the remaining two at every rate except the highest two.
For our ultimate challenge of 16 simultaneous renditions, both x264 and x265 were simply incapable of keeping up, with the former successfully encoding only a single film clip at the lowest target bitrate and x265 incapable of encoding even a single file regardless of bitrate. Aurora5, however, effectively encoded approximately half of the clips within their target bitrate range.
Round 2: CPU usage
The second metric that video engineers are being forced to pay close attention to is CPU usage – that is, the extent to which each encoder draws on the processing resources of the CPU to do its job.
In this test, lower numbers win — and in nearly every rendition and at every bitrate, Aurora5 has the lowest number, meaning it demands a smaller percentage of the CPU’s processing power.
The difference in performance is pronounced when encoding two simultaneous renditions. The gap remains similar with four and eight renditions. It’s only when we encode 16 simultaneous renditions that Aurora5’s lead narrows, which makes it the very clear winner of round two.
Round 3: Memory usage
As with CPU usage and encoding speed, Aurora5 defeats x264 and x265 for memory usage as well. As the following chart shows, our encoder uses substantially less memory (meaning it outputs smaller file sizes) regardless of the number of renditions being encoded or the target bitrate being achieved. Less memory means reduced server cost and higher inherent computing efficiency.
In fact, compared to x264 set to medium speed, Aurora5 on very fast uses 38.33% less memory, and compared to x265 on very fast, the Aurora5 very fast setting achieves a whopping 69.25% memory savings.
Round 4: Bringing it all together
It goes without saying that blazing-fast encoding speeds and hyper-efficient CPU and memory usage count for little if the quality of a video is poor. What we constantly strive for at Visionular are fast speeds and small file sizes with excellent video quality — compromising on any of these attributes is simply unacceptable.
As the next chart shows, it’s when we combine these metrics and look at the big picture (no pun intended) that Aurora5 really shines.
As we all know, there are both subjective and objective measurements of video quality. For live streaming, the objective measurements are vital because there is no time to evaluate video quality subjectively. This chart includes the five most common objective quality metrics, and it shows that compared to x264 medium, Aurora5 operating in very fast can achieve close to a 65% improvement in encoding speed while also seeing a coding efficient BD rate gain up to 47% — meaning Aurora5’s impressive speeds do not come at the expense of picture quality or bitrate.
Likewise, compared to x265 very fast, Aurora5 very fast is able to encode at a speed more than 2.7 times x265 with a coding efficiency BD rate gain of approximately 15%.
With Aurora5, you can get significantly faster encoding speeds with absolutely no compromise on picture quality.
Round 5: Let’s try a little experiment
How about we subject our encoder contestants to a trial by fire with a hypothetical scenario.
Let’s estimate how many CPU cores are needed to encode 100 1080p channels with five ABR layers each – three in HD and two in SD — and at various bitrates.
The machine in question will feature the following specs: AMD EPYC 7R32 CPU with 16 cores and 32 threads.
What did we find? Let’s take a look.
Aurora5 would require 584 CPU cores to meet this tremendous challenge. But x264 would need nearly twice that many – 1,107 — and x265 would need significantly more than double that number – 1,823 cores. Ouch! That’s a lot of needed computing power.
Aurora5 veryfast #cores
x264 medium #cores
x265 veryfast #cores
The winner is…
We have a unanimous decision: Aurora5 wins hands down.
Aurora5 is able to encode challenging video faster than either of the commonly used open-source competitors while needing fewer CPU resources, producing a smaller file, and offering objectively superior picture quality. Turns out the competition wasn’t all that competitive for Aurora5.
So, the next time you find us going on and on about how great our Aurora5 HEVC encoder is, remember that our pride is well founded (plus, it’s not bragging if you can back it up). If you’re looking for an encoder that you know will be capable of handling even the most demanding livestream scenarios, you will want to take a look at Aurora5. Your viewers will thank you.