Originally published at: https://bitmovin.com/blog/3-pass-encoding/
Introduction
Bitmovin’s VOD Encoder is known for its quality, speed, and cloud-native ability to scale quickly and resiliently. Advanced features like split-and-stitch encoding with Smart Chunking, Per-Title and 3-Pass encoding set it apart from other encoders on the market, in terms of both visual quality and bitrate efficiency. For our customers, it means lower costs for storing and delivering video, along with a better experience for their viewers.
In this post, we’ll explain how Bitmovin’s 3-Pass encoding works and show the benefits of using 3-Pass encoding with Bitmovin.
Table of Contents
How does 3-Pass encoding work?
As you might have guessed, with 3-Pass encoding the analysis and encoding optimization happen in 3 phases. After our split-and-stitch algorithm (now with Smart Chunking) divides the source file into separate chunks for parallel processing, the following steps are taken:
1. Analysis
The first step is to run a constant rate factor (CRF) encoding pass that varies the bitrate as needed to maintain constant quality. Using a carefully chosen quality target value based on the source file, we are able to capture valuable data about the motion, complexity and scene changes in the content that we can use in the next steps.
2. Encoding
The information gathered from the CRF pass is scaled so that the overall average bitrate of the output file will respect the target bitrate set by the user. Using new target information, the chunks are encoded.
3. Optimization
Using data from the previous passes, the encoder now re-allocates bits from less complex segments to more complex ones, wherever possible. This ensures there is no degradation during complex, high-motion scenes and helps clean up any lower quality frames. In the process of redistributing bits, any drastic jumps in bitrate between adjacent chunks are smoothed to avoid causing player buffer issues.
What are the benefits of Bitmovin’s 3-Pass encoding?
Now that you know how it works, let’s talk about how using 3-Pass encoding benefits your customers, your operations and your bottom line.
Better visual quality
Because of its multi-stage process, 3-Pass encoding makes sure your viewers are getting the best possible quality on the first try. No need for time consuming experimentation and analysis to find the ideal encoding settings. Your content looks the best it can at any bandwidth.
Bitrate and cost control
Other approaches to improving encoding quality usually involve increasing bitrate, which in turn, increases the eventual storage and delivery costs. 3-Pass encoding makes sure the bits are used exactly and only where they are needed, giving the ideal balance of quality and efficiency for lower costs and less buffering.
Scalability and speed
When using traditional encoding approaches, multi-pass encoding can take a long time for a single file, not to mention large batches of files. With Bitmovin’s 3-Pass, neither is an issue as our split-and-stitch process and cloud-native scalability keep turnaround times to a minimum, even for long form content and unpredictable spikes in demand.
Quality comparisons
In the graph below, the same file was encoded using 2-Pass and 3-Pass encoding and the VMAF score was measured and plotted for every frame (the vertical axis represents how many frames received that VMAF score). With 3-Pass, represented in blue, you can see that the overall average VMAF score improved a bit compared to 2-pass, shown by the red dots on the lower plots. But there’s another more important and impressive difference between the 2, which is the reduction of lower quality frames that would be noticeable by viewers. The quality of the worst frame was improved by ~20 points and the amount of frames scoring below 80 was cut in half.
You can also see where the 2-pass rendition had several frames scoring in the upper 90s, meaning bits were being allocated to those frames that weren’t detectably improving quality for viewers. 3-pass encoding was able to intelligently redistribute those “extra” bits to frames where they could make a noticeable difference.
3-pass works especially well for content with a mix of different complexity and motion, letting you use lower bitrates to produce equivalent quality compared to other methods. This means your streams are less susceptible to buffering and look better for viewers with limited bandwidth, not to mention the cost savings on storage and CDN that can really add up.
What is the difference between 3-Pass and Per-Title encoding?
If you’re familiar with Bitmovin, you may also know about our Per-Title encoding. You might be wondering, “Isn’t Per-Title also about creating the ideal encoding settings for each video?” If you were, great question!
Per-Title encoding analyzes the source file settings and complexity and determines the ideal adaptive bitrate ladder for that piece of content. The Per-Title algorithm feeds the encoder with the resolution and bitrate pairs that will provide the best quality of experience across the entire range of devices and bandwidth.
3-Pass is about getting the absolute best quality encoding for a given bitrate and resolution pair. So Per-Title determines the ideal target bitrates and 3-Pass makes sure they look as good as possible. For adaptive bitrate streaming, we highly recommend using 3-Pass and Per-Title together for the best results.
The graph below is an extreme example, but for this video from a Bitmovin customer, using 3-pass with Per-Title meant encoding an ABR ladder with 4K video at 2 Mbps and lower, compared to their incumbent ABR ladder that was targeting 15 Mbps for 4K content which was mostly wasted for this particular video.
Try 3-Pass encoding for free
3-Pass and Per-Title encoding are both available to use, for free, with a Bitmovin trial. If you’re obsessed with quality, but are spending too much time and effort finding the best encoding settings, you really need to sign up today and see the results for yourself.