What is adaptive bitrate streaming?

Adaptive bitrate streaming adjusts video quality based on network conditions to improve video streaming over HTTP networks. This process makes playback as smooth as possible for viewers regardless of their device, location, or Internet speed.

Learning Objectives

After reading this article you will be able to:

  • Learn what adaptive bitrate streaming is and how it works
  • Explain which protocols support adaptive bitrate streaming
  • Understand the benefits of adaptive bitrate streaming

Related Content

Want to keep learning?

Subscribe to theNET, Cloudflare's monthly recap of the Internet's most popular insights!

Refer to Cloudflare's Privacy Policy to learn how we collect and process your personal data.

Copy article link

What is adaptive bitrate streaming?

Adaptive bitrate streaming is a method for improving streaming over HTTP networks. The term “bitrate” refers to how quickly data travels across a network and is often used to describe an Internet connection’s speed. A high-speed connection is a high-bitrate connection. Streaming — or the process that makes watching videos online possible — consists of transmitting video files hosted in a remote server to a client. In streaming, videos are segmented into smaller clips so viewers do not need to wait for an entire video to load before they can begin watching it.

First, multiple versions of video files are created and encoded to fit a variety of network conditions. Then, based on factors like bandwidth and device type, the video player selects the highest-quality file that the device can play with the smallest amount of buffering possible. This allows playback to be as smooth as possible for end users around the world, regardless of their device or Internet speed.

Adaptive bitrate streaming works similarly to how a manager might assign work to a new employee. To help the employee acclimate, the manager will likely start off with fewer and/or simpler assignments. Once the employee successfully completes their introductory projects, the manager will begin to assign more complex tasks. As the employee settles into their role, the manager will continually adjust the employee’s workload to ensure they are learning but not overwhelmed.

Similarly, in adaptive bitrate streaming, the video player learns what video quality a connection can withstand. If the connection is struggling to play a video segment, the player will switch to a smaller file with lower quality for the next segment. A viewer may experience some changes in quality, but the video will continue to play.

How does adaptive bitrate streaming work?

Adaptive bitrate streaming starts at the video encoding stage. Encoding is the process in which uncompressed videos are converted into a form that can be stored and used on many devices. For adaptive bitrate streaming to work, different video files that support different bitrates must be created.

After encoding, the video is segmented into smaller files that are a few seconds in length. In most streaming setups, videos are transmitted in a series of segments, rather than an entire video file sent all at once. The segmentation process is particularly important because without it, video players would need to download the entire video file before the content could begin playing.

Moreover, segments are important to adaptive bitrate streaming because the adjustment process is triggered at the end of a video segment. If a viewer’s connection cannot download the video fast enough to stream without buffering, the video player will switch to a smaller file once the segment finishes.

When a video first starts playing, many video players will start by requesting the lowest bitrate file available. If the player determines that the client can handle a higher bitrate file, it will select higher bitrate files until it finds the highest one the client can handle. If the selected file is the ideal match for the connection, the player will continue to request segments at that bitrate unless the conditions change. This is known as the adaptive bitrate or encoding “ladder.” The player moves up the ladder when the connection has enough bandwidth to accommodate higher bitrate videos and down the ladder when it decreases.

What are the benefits of adaptive bitrate streaming?

As of 2021, viewers stream one billion hours of YouTube video a day. Video content is an ever-growing channel for communication, advertising, education, and more. Thus, ensuring the quality of video playback matters. Adaptive bitrate streaming offers many benefits that can improve video quality:

  • Widening access: Without adaptive bitrate streaming, viewers with slower connections or certain devices would never be able to see some videos.
  • Improving the user experience: Adaptive bitrate streaming decreases buffering, so users experience fewer frustrating loading delays.
  • Enabling mobile viewing with fewer interruptions: Streaming on mobile devices has increased by 1,000% since 2012, so optimizing for mobile streaming is critical. When a viewer streams mobile video content while moving from place to place, bitrate can vary widely on a single device. For example, connection strength on a home WiFi network may be stronger than a connection on a train or in a shopping mall. By continuously adjusting to changing conditions, adaptive bitrate streaming can minimize disruptions for mobile viewers.

What streaming protocols support adaptive bitrate streaming?

Adaptive bitrate streaming is possible only with certain streaming protocols. A protocol is a set of standards that dictate how data is packaged and processed across networks. Streaming has its own set of protocols.

The three most popular streaming protocols that support adaptive bitrate streaming are HTTP live streaming (HLS), Dynamic Adaptive Streaming over HTTP (DASH), and HTTP Dynamic Streaming (HDS).

All three follow the same basic process of encoding and segmenting videos before streaming. However, each protocol has its own encoding or file type requirements and is compatible with different devices. For example, some protocols require specific encoding formats, which are ways of optimizing video files for different platforms, programs, and devices.

  • HLS: HLS works for on-demand and live streaming and requires the H.264 or H.265 encoding format. Unlike some protocols, HLS does not require the use of special servers. Originally, HLS was compatible only with Apple devices, but it is now device-agnostic. However, Apple devices accept only the HLS format.
  • DASH: DASH does not require any specific encoding standard. Additionally, any origin server can be set up to serve DASH streams because it runs over HTTP. The DASH format, like all other formats besides HLS, does not work with Apple devices.
  • HDS: Originally designed to work with Adobe Flash (which has been discontinued), this format can be used for on-demand or live streaming and works over HTTP connections The HDS format requires videos to be converted from MP4 to F4F (fragmented MP4) and the H.264 encoding standard. Apple devices are the only devices that are incompatible with the HDS protocol.
  • Does Cloudflare support adaptive bitrate streaming?

    Cloudflare Stream is a video platform that operates within 100 milliseconds of 99% of the Internet-connected population in the developed world. It supports adaptive bitrate streaming and automatically encodes videos at multiple screen sizes and quality levels, supporting a variety of devices and bitrates. Learn more about improving playback with Cloudflare Stream.