x264 vs. AV1 Real-Time Test Results
Video encoding requirements are diverse, so video engineers must maintain benchmarks on the state of all significant encoder implementations. Working with the largest streaming services and platforms, our team routinely collects performance data of open-source implementations compared to the Visionular Aurora family of encoders. In this study, we compared x264 to our Aurora1 AV1 encoder.
Twenty 1080p videos representing various characteristics common to premium and UGC live streaming were selected. The encoders were operated on an AWS C5 AMD EPYC 7R32 instance (16 cores / 32 threads). We enabled 1, 2, 3, 4, 5, and 6 concurrent FFmpeg instances using the same source video to observe the number of simultaneous streams generated in real-time.
Testing was performed at three different speeds for each encoder. Modes used for x264 were medium, fast, and faster. While for Aurora1, the operational speed modes used were veryfast, superfast, and ultrafast. We tuned the encoder configuration to use the frame-level parallelism feature of Aurora1 with two settings: -fpp=4 and -fpp=8.
For those not familiar with this setting, the option of -fpp8 means more frames are available for multithreading, leading to a faster encoding speed but reduced coding efficiency. There is always a tradeoff between performance (speed) and efficiency.
A common perception is that the AV1 standard is too complex to support live encoding in software. Though AV1 is a substantially more complex standard with over 100 coding tools than the almost twenty-year-old H.264 standard, Aurora1 ‘veryfast‘ operates at nearly double the speed of x264 medium at the same perceptual quality.
Summary of test results.
1. All 20 videos may be encoded in real-time using the reference AWS EC2 C5 instance containing 16 physical cores running x264 medium.
2. When encoding each video twice on the same reference EC2 instance, 17 out of the 20 videos were successfully encoded in real-time with x264 medium. However, when the concurrent stream count increased to three, just two videos were successfully encoded.
See more data for the x264 test scenario. Get all the data here.
1. Aurora1 veryfast was able to successfully encode all 20 videos on the reference AWS EC2 C5 instance containing 16 physical cores.
2. Equalling x264, when encoding each video twice on the same reference EC2 instance, 17 out of the 20 videos were successfully encoded in real-time with Aurora1.
3. However, when the concurrent stream count increased to three, Aurora1 was fast enough to encode five videos simultaneously compared to just 3 with x264 medium.
4. Aurora1 -fpp8 is faster across all speed levels compared to -fpp4. See the BD-rate performance for different objective metrics, comparing Aurora1 against x264 medium. Get all the data here.
The data demonstrates AV1’s real-time readiness when using Aurora1 to reduce bitrate as much as 40% with an encoding speedup between 25% to 95% over x264 medium. To date, we have launched more than 55 paid customers, many deploying Aurora1 for real-time and low latency use cases.
Watch the video below to see Zoe Liu present more details in her February 2022 Meta (Facebook) sponsored RTC@Scale presentation.