Adaptive Bitrate Streaming: What it Is and How the ABR Algorithm Works [2024 Update]

Adaptive Bitrate Streaming_ What it Is and How the ABR Algorithm Works Image

For most broadcasters, the user experience they provide is crucial because most viewers won’t deal with a poor stream for long. In fact, over half of the viewers will abandon a poor-quality stream in 90 seconds or less. That means one bad stream could be devastating for business.

The problem is that most users rely on home internet connections. Bandwidth and network conditions for these connections fluctuate throughout the day and could impact the viewing experience. The devices one uses also vary in processing power and playback ability. That’s why today’s broadcasters must keep viewers in mind when putting together an adaptive video streaming workflow. For most companies, that means using the adaptive bitrate streaming algorithm to optimize streaming quality.

In this article, we’ll dive into what adaptive bitrate streaming is and how it works. We’ll also look at what makes up a streaming profile and how brands can implement ABR streaming themselves.

Let’s get into it.

Table of Contents

  • What is Adaptive Bitrate Streaming?
  • What is Bitrate for Streaming?
  • What is Adaptive Playback?
  • How Does ABR Streaming Work?
  • Adaptive High-Bitrate vs. High-Bitrate
  • Adaptive Bitrate Streaming Algorithms
  • Adaptive Bitrate Streaming Profiles
  • What is the ABR Ladder?
  • What is RTMP Adaptive Bitrate?
  • How to Do Adaptive Bitrate Streaming
  • The Benefits of Adaptive Playback
  • Conclusion

What is Adaptive Bitrate Streaming?

what is Adaptive Bitrate Streaming
Adaptive Bitrate Streaming is key to delivering quality video to users.

First, let’s look at the importance of bitrates when streaming and what it means to have adaptive playback capabilities.

What is a Bitrate for Streaming?

The video bitrate of a stream refers to the speed for transferring video data to a user’s device. The standard measure for a bitrate for streaming video is megabits per second (Mbps), which differs from a video’s file size measured in megabytes (MBps).

In general, a higher bitrate means the video quality will be better, but if it exceeds a user’s bandwidth—also measured in Mbps—then buffering can occur. Buffering means the video player cannot download the video file fast enough to keep the video playing at normal speed. That is what causes the spinning icon when a viewer is watching a video.

These are some factors that impact the streaming video bitrate:

  • Video resolution: The resolution of a video refers to the number of pixels within a frame. Most video streams have a resolution that’s 480, 720, 1080, or 4K. A higher resolution makes images sharper and may be necessary to have a quality viewing experience on larger displays.
  • Frame rate: Most broadcasters use 24 frames per second (fps), but sports events or other streams that require smoother playback may use 30 to 60 fps. A higher frame rate can display motion better, but more frames also require additional data.
  • Codec: A higher quality video—with a greater resolution and frame rate—generally has a higher bitrate. That said, some codecs that compress video data are more efficient than others. Newer codecs like H.264 and H.265 result in a higher quality video at lower bitrates than legacy codecs.

What is Adaptive Playback?

Adaptive bitrate streaming (ABR) is an algorithm where a video player client decides which bitrate segments to download. The end result is that broadcasters can offer multiple streams with different ABR bitrates to users. The video player detects fluctuations in the internet connection and the processing capacity of the user’s device to automatically upgrade or downgrade the stream’s bitrate in real-time. Adaptive bitrate streaming helps to provide your viewers with the best possible video experience.

In contrast, multi-bitrate streaming (MBR) involves several stream options, but once the video player chooses an ABR bitrate, it doesn’t adapt based on network conditions. A sudden drop in bandwidth could lead to buffering, so MBR streaming without adaptive playback isn’t ideal for most streaming situations. Multi-bitrate streaming helps to provide viewers with a better viewing experience, but not a perfect viewing experience. 

Adaptive playback, therefore, is a way for video players to dynamically match a stream’s quality to network conditions, available bandwidth, and device performance. If you want to give viewers the best viewing experience, you are going to want to use ABR streaming.

How Does ABR Streaming Work?

abr streaming
With adaptive bitrate streaming, the viewers will always receive the best video quality that their current internet connection speed can support.

ABR streaming is crucial for optimizing video playback, but how exactly do broadcasters make it work?

1. Video Preparation

First, the video content needs to be prepped for ABR live streaming. An encoder needs to encode the video into several bitrates depending on the target streaming profile. Most online video platforms are capable of transcoding videos into multiple formats from a single source file.

Each of these encoded video files needs to be segmented into multi-second parts. The size of these video chunks varies depending on the implementation, but they’re generally between 2 and 10 seconds each. This approach works well with HTTP-based streaming protocols that progressively download video content.

2. Initial Startup

Before a video player can begin playback, it downloads a manifest file that describes the video chunks and ABR bitrates available. To enable adaptive bitrate streaming, streamers need the ability to generate M3U8 files. M3U8 files contain plain text that specifies the locations of media files, either through absolute URLs or relative paths. This manifest file contains the .m3u8 playlist for HLS and media presentation description (MPD) for DASH – which in turn contains the information that makes up a streaming profile. But we will cover that later on.

The video player can simply use the manifest as a guide to request the video assets that are most suitable for the user’s device and connection. Then, it begins playback immediately when there’s enough media content available in the local buffer.

The benefit of streaming video over HTTP is that the content can be stored and delivered from an ordinary web server. That means ABR works well with content delivery networks (CDNs) to further reduce latency, lower packet loss, and increase delivery speed.

Adaptive bitrate streaming paired with a global CDN network can allow you to effectively reach viewers around the globe. 

3. Dynamic Playback

Video players usually start streaming at the lowest bit rate and request higher or lower-quality video chunks as network conditions change. Each player has its own ABR algorithm for deciding which bitrates to download next.

There are two common types of selection ABR video streamings that video players use: throughput and buffer. Throughput-based algorithms measure the download speed of previous video chunks to determine which bitrate to choose next. The problem is that a throughput estimate may not match the encoder bitrate during live streams.

Buffer-based algorithms attempt to control the buffer occupancy to ensure there’s always enough video ready for playback. If the local buffer is running out of media, the next bitrate will be lower to keep ahead of playback. The problem is knowing how far to lower the bitrate to fill the buffer without downgrading the quality too much.

Some adaptive players even offer a hybrid of the two. For example, THEOplayer continually evaluates its downloading speed and may switch bitrate mid-download to keep the buffer occupancy high. Over the coming years, more advanced algorithms using machine learning may gain traction as well. These machines help take adaptive playback to the next level.

Adaptive High-Bitrate vs. High Bitrate

What is adaptive high-bitrate? First, adaptive high-bitrate is a significant advancement over traditional high-bitrate streaming. Compared to high-bitrate streaming, which delivers video content at a constant data rate, adaptive high-bitrate streaming adjusts video quality based on real-time network conditions and device capabilities. This technology uses an adaptive bitrate streaming algorithm to ensure smooth playback. It does this by switching between different quality levels to match the available bandwidth.

The main advantage of adaptive high-bitrate streaming lies in its ability to mitigate buffering and provide a seamless viewing experience, even with fluctuating network conditions. An adaptive media player is crucial in this process as it intelligently selects the appropriate video quality from a set of predefined bitrate options. Adaptive video, then, maintains optimal visual quality without overloading the network. This is in contrast to traditional high-bitrate streaming which may cause interruptions if the network cannot sustain the high data rate.

Overall, while high-bitrate streaming offers great quality, adaptive high-bitrate streaming can achieve high quality yet balances it with performance, ensuring uninterrupted playback and efficient bandwidth use. For modern video delivery, it’s the preferred choice.

Adaptive Bitrate Streaming Algorithms

Adaptive bitrate streaming algorithms are pivotal for delivering high-quality video content. These algorithms enable adaptive bitrate (ABR) streaming, which dynamically adjusts video quality based on real-time network conditions and device performance. The ABR ladder is a major component which consists of multiple pre-encoded versions of the video at different bitrates and resolutions. This allows the algorithm to switch between them as needed.

RTMP adaptive bitrate and other adaptive streaming protocols such as HLS and DASH utilize these algorithms. By doing this they ensure smooth playback without annoying buffering, even as network conditions change. ABR transcoding is the process of creating multiple versions from the original source, each encoded at different bitrates through adaptive bitrate encoding.

An adaptive bitrate streaming player plays a central role. It continually monitors network conditions and adjusts the video stream accordingly. This intelligent approach ensures viewers experience uninterrupted playback at the best possible quality their network can support. This enhances overall viewer experience and satisfaction. 

Adaptive Bitrate Streaming Profiles

A streaming profile is the set of variations that you want to make available for a particular video. This means creating a ladder that includes different bitrates, resolutions, codecs, and more.

Most ABR profiles are universal ladder designs meant to optimize all video files for any streaming device and network condition. Apple even proposed a fixed bitrate encoding ladder (see below), which Netflix later refined to maximize video quality at each particular rung.

fixed bitrate encoding ladder apple note TN2224

Another streaming profile strategy gaining popularity is context-aware encoding (CAE), which considers user devices when encoding as well. Each piece of content gets encoded for specific device types—from smartphones to smart TVs— to build a custom bitrate ladder. This enables broadcasters to offer a higher Quality of Experience with reduced bandwidth requirements.

In the end, there’s not a single streaming profile that fits every broadcaster’s needs. That’s why we cover general guidelines for which protocols and bitrates should be included in most streaming profiles in the next section.

What is the ABR Ladder?

The ABR ladder is a crucial component in ABR video streaming. It ensures a smooth and adaptable viewing experience. An ABR ladder uses multiple versions of a video, each encoded at different bitrates and resolutions through ABR video encoding. This set of varied streams allows the ABR encoder to easily switch between them based on the viewer’s network conditions and device capabilities.

In ABR encoding, video content is transcoded into several quality levels. This forms the rungs of the ABR ladder. During playback, the ABR video streaming system dynamically selects the most appropriate stream, providing the highest possible quality without the buffering. This adaptability ensures viewers enjoy a continuous stream of high-quality viewing, regardless of fluctuations in internet connection quality.

What is RTMP Adaptive Bitrate?

RTMP adaptive bitrate (ABR) streaming is a technique that enhances the viewing experience by dynamically adjusting video quality based on real-time network conditions. RTMP (Real-Time Messaging Protocol) plays a major role in ABR by enabling smooth video delivery of streaming content with minimal buffering.

Unlike progressive video streaming, which delivers video content linearly, regardless of network conditions, RTMP adaptive bitrate streaming uses ABR rate control. This involves continuous monitoring of the viewer’s available bandwidth and device performance, allowing the streaming server to seamlessly switch between different quality levels. This adaptability is great for maintaining a consistent viewing experience.

The ABR rate control within RTMP adaptive bitrate streaming ensures viewers always receive the best possible video quality available to them. With RTMP’s efficient data transport capabilities, ABR video streaming is more reliable and resilient, continuously delivering high-quality content in an efficient manner.

How to Do Adaptive Bitrate Streaming

For broadcasters looking to offer adaptive bitrate streaming, a number of decisions need to be made around streaming protocols, bitrates, and video players. Here are the decisions you need to make in order to offer adaptive bit streaming to your viewers.

Which Streaming Protocol Should I Use?

A streaming protocol is a method for delivering audio or video over the internet. Choosing which video streaming protocol to use will depend on your goals because protocols can handle ABR streaming while others are better for low-latency streams.

Once the most common streaming protocol, Real-time Messaging Protocol (RTMP) has been largely deprecated as a delivery method to end-users. While the protocol can stream to Flash Player, most browsers have switched to HTML5 video players by default. That said, RTMP can still be used to transmit video for an encoder to an OVP, but it’s not ideal for ABR streaming.

Dynamic Adaptive Streaming over HTTP (DASH) is a newer protocol that’s starting to gain traction. Also known as MPEG-DASH, it is codec-agnostic and is designed to work across all modern browsers. While the protocol isn’t natively supported by HTML5 streaming, many players support MPEG-DASH using JavaScript and Media Source Extensions (MSEs).

The preferred protocol for HTML5 video players is HTTP live streaming (HLS). This is crucial because the video player is ultimately what controls ABR live streaming. As far as codecs, HLS supports H.264 and recently added support for H.265 / HEVC. The protocol uses 10-second video segments by default, but some video players allow smaller segments to reduce latency.

What Bitrate Should I Stream At?

The best bitrates to choose will depend on your target audience, but it’s generally a good idea to offer multiple bitrates at varying levels of quality.

Here are some common bitrates settings:

  • 360p video: 400 Kbps – 1000 Kbps
  • 480p video: 500 Kbps – 2 Mbps (1 Mbps = 1000 Kbps)
  • 720p video: 1.5 – 4 Mbps
  • 1080p video: 3 – 6 Mbps

At Dacast, we recommend providing a bitrate below 1000 Kbps to ensure any user can watch your videos. Additional bitrates above this will improve the viewing experience for users that have the device and bandwidth necessary. For HLS adaptive bitrate streaming, here are our suggestions when configuring the encoder.

What is Adaptive Streaming Using JavaScript?

As we mentioned before, the video player is crucial for enabling ABR live streaming. HTML5 players—including Video.js and other JavaScript video players—can stream ABR out of the box. That means they’re adaptive video players.

Along with using an ABR algorithm to choose which video stream bitrate to use, adaptation video players also select a video file that fits the device’s screen. This ensures the user will always see a video that looks good.

For broadcasters, JavaScript and HTML5 video players that support ABR are invaluable. These players not only offer a better user experience but they’re also built into web browsers and universally accessible on nearly any device. That means adaptive streaming using JavaScript enables brands to reach more viewers.

The Benefits of Adaptive Playback

abr algorithm
An adaptive streaming profile contains all the stream variants for a video.

The primary benefit of adaptive bitrate streaming is an improved Quality of Experience. Broadcasters can offer the highest quality video possible for their viewers without risking buffering or other interruptions to the experience.

Along with smoother streams, ABR offers a faster startup. Since ABR streams usually start with a low bitrate stream until the selection algorithm estimates bandwidth capacity or buffering occupancy, the video is able to begin playback immediately. That means brands don’t need to worry about losing viewers due to slow loading times.

ABR adaptive bitrate streaming also improves the viewing experience on smartphones and tablets. In the past, data plan limitations and low device processing power made streaming video on the go a challenge for broadcasters. ABR ensures mobile users are able to watch video streams without buffering despite these potential limitations. 

Since ABR streams utilize HTTP for delivery, it works with most web servers and CDNs. That means it’s cheaper than setting up specialized servers or keeping persistent connections open. Using ABR streaming, therefore, can be a cost-effective way to scale while maintaining a high-quality streaming experience.

When a user has a poor streaming experience, they’re more likely to view your brand negatively, even if it is not directly your fault that the video experience isn’t the best. That limits the opportunity for advertising and monetization down the line. That’s why ABR is crucial for today’s broadcasters. ABR streaming gives you a higher degree of control over the end-user experience. 

Conclusion

Broadcasters need to prioritize their user experience, and ABR live streaming is a surefire way for users to view the highest quality stream possible on nearly any device. ABR streaming has created new user expectations that require the right streaming technology to meet.

As a comprehensive over-the-top (OTT) streaming platform, Dacast makes it straightforward to deliver adaptive bitrate streams with its flexible video ABR encoding capabilities and HTML5 adaptive video player. That’s why the streaming platform was nominated as the best platform for Small/Medium Business Platform in the 2019 Streaming Media Readers’ Choice Awards. Dacast was also listed as one of the Most Important Companies in Online Video Tech in 2021.

You can try Dacast and all its features today with our 14-day free trial.

START NOW

Find out how easy it is to set up and manage adaptive bitrate streams using the OTT platform. For exclusive offers and live streaming tips, you can join our LinkedIn group.

Kevin Graham

Kevin is a content writer and former software developer. He focuses on producing compelling content for B2B software companies.