AWS for M&E Blog
Encode video in a smarter way using Automated ABR
The most common over the top (OTT) distribution formats in use today are based on delivery of video using ABR (Adaptive Bitrate) technologies. An ABR package contains multiple renditions of the content encoded in a range of bitrates and resolutions. Formats like HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH) define how to create a ladder with multiple renditions of the same video. Each is encoded at a different frame size or bitrate, for delivery to web players, mobile devices, and smart TVs. Each player can dynamically choose the right rendition that meets its display configuration and currently available bandwidth. The goal is to play back content smoothly, switching between renditions as required.
How many renditions should you use and how should they be distributed? And how do you determine the right combination of bitrates and resolutions for your content? For many companies, the easy choice for ABR ladder is a fixed one where the same settings are used across a range of source content types. While easy to implement, the one size fits all approach results in inefficient use of origin storage and less than optimal video quality and bit usage of your video content.
In reality, the ideal ABR package configuration varies widely depending on each source video because the visual complexity of each source affects how it can optimally be compressed. While some of you may create different versions of an ABR ladder for different categories of content, having the time and resources to create a unique ladder per video has been a nearly impossible challenge to overcome. Today, however, with the scalability of resources available in the AWS Cloud, you can create an efficient ladder for each video you encode to optimize quality and save on origin costs with a solution that is easy to enable.
Emergence of per-title encoding
In 2015, Netflix was one of the first OTT services to recognize that a one-size-fits-all approach to ABR ladders was an issue. Netflix started work on a new approach for creating ABR ladders called per-title encoding, to deliver the same or better video quality to viewers using less bandwidth. Netflix realized that in order to deliver the best quality, each title needed its own unique bitrate ladder. This method required compute resources and time to encode test outputs, analyze the results, and build a unique set of resolutions and bitrates. However, the savings and video quality was worth the additional time and resources. Not only that, but the technological resources required to handle this approach were available for their engineers to prototype and build on AWS.
Introducing Automated ABR Configuration
AWS has just released a new feature called Automated ABR Configuration in AWS Elemental MediaConvert, which allows you access the same cost savings that Netflix achieved. Automated ABR Configuration creates a unique ABR ladder for each video source. The creation of the ABR set is based on the complexity of the content from an analysis performed during the encode process. This analysis step picks the ideal renditions for the ABR configuration of each video.
Automated ABR Configuration is built on top of AWS Elemental’s Quality-Defined Variable Bitrate (QVBR) encoding mode, which is designed to create the best video quality with the lowest bitrate. With QVBR as a starting point, Automated ABR Configuration optimizes the output ladder by eliminating redundant or overlapping renditions. The goal is to find the ideal resolution for each rendition, which often means using a lower bitrate or a lower resolution than a fixed ladder would have used, while at the same time preserving the viewing experience. The result is cost savings with overall package size and origin storage costs reduced by up to 40% compared to a fixed ABR ladder. This is a significant advantage for streaming providers with large libraries of long-tail, or lower viewership, content.
Let’s look at a sample test set of 12 video titles. The baseline set was 6 renditions created according to a standard template, and encoded with QVBR and the AVC codec. The Automated ABR Configuration outputs varied between 4 and 6 renditions, and also used QVBR:
|Baseline – Fixed ABR ladder||Automated ABR Configuration|
|Sum of bitrates||160,979 Kbps||112,341 Kbps|
|Savings compared to fixed ABR ladder||–||30%|
After encoding the sources using a fixed ABR ladder, and then again using Automated ABR, we ended up with smaller file sizes, saving 30% in bitrate sum. The video quality was the same or better in many cases, according to our objective and subjective testing. This means our viewers are happy and we have saved costs in origin storage for our VOD content.
In addition, distribution cost may also be lower depending on your content. While the bitrates allocated using Automated ABR Configuration depend heavily on the content, most use cases tested achieved distribution cost reduction compared to the fixed bitrate ladder. For comparison, let’s look at one specific video. Here the total origin ABR package size is 29% smaller for the Automated ABR Configuration output compared to the fixed ladder:
|Baseline – Fixed ABR Ladder||Automated ABR Configuration|
|W x H||Average Bitrate||W x H||Average Bitrate||Savings Per Rendition|
|1920 x 1080||3,694 Kbps||1920 x 1080||3,655 Kbps||1%|
|1280 x 720||1,970 Kbps||1280 x 720||1,904 Kbps||3%|
|1280 x 720||1,944 Kbps||1280 x 720||1,284 Kbps||34%|
|960 x 540||1,324 Kbps||768 x 432||708 Kbps||26% (average)|
|852 x 480||1,032 Kbps|
|640 x 360||708 Kbps|
|Total Bitrate:||10,672 Kbps||Total Bitrate:||7,551 Kbps|
|Savings compared to
fixed ABR ladder:
You can also see that viewers streaming at the highest resolution – 1080p – are streaming at a 1% lower bitrate with Automated ABR Configuration, which is a small improvement. The real savings for this video are with viewers streaming at the two 720p renditions, with 3% and 34% less bits using Automated ABR Configuration. Anything delivered below 720p is now collapsed to 768×432 at 708 Kbps, which saves an average of 26% (0%, 31%, and 47%) in distribution compared to three renditions below 720p of the fixed ladder. Actual results depend on the number of viewers streaming at each rendition, but you can see how your distribution costs can be reduced using Automated ABR Configuration.
Simple to enable
Automated ABR Configuration is a feature that is easy to enable. Once it’s on, you don’t have to worry about adjusting any of the settings every time you encode a new video. Instead, you just let MediaConvert do all the work for you.
To enable the feature, click on Automated ABR and configure three settings that apply limitations to the outputs. These settings control the maximum number of renditions, along with the minimum and maximum bitrates for the ABR set. This keeps your content within the bounds required for your network and video players.
Automated ABR Configuration works with HLS, DASH, CMAF, or Smooth Streaming ABR output groups. Like other MediaConvert features, Automated ABR Configuration can be invoked via the API or any of the available SDKs
Finally, Automated ABR Configuration is available at no additional cost for MediaConvert jobs in the on-demand, Professional pricing tier.
With a click, Automated ABR Configuration in MediaConvert creates a unique ABR stack for every video you encode. For each rendition in the ladder, video quality is maximized using the lowest bitrate by using the QVBR encoding mode. Automated ABR Configuration chooses the right number and distribution of renditions to use, selects the best resolution and bitrate for each output, and eliminates steps in the ladder that might increase the overall ABR package size without increasing video quality. The result is a ladder optimized for each video, costs savings in origin storage and, depending on your content, distribution savings.
Learn more by reading the Automated ABR documentation, and get started with AWS Elemental MediaConvert today.