Skip to main content

Adaptive bitrate streaming

What is adaptive bitrate streaming?

Adaptive bitrate streaming is a process that adjusts the quality of a video in real-time based on your network conditions. Videos with a higher resolution and frame rates require more bandwidth (and a higher bitrate) to play smoothly.

If you’re streaming a live video in 1080p on your end, but some of your viewers have a slower connection, they might experience lagging or buffering. You could lower the quality of your video to 720p, but that means the overall quality of your video is lower.

Adaptive bitrate streaming solves this problem by creating a different video for each screen size or device your viewer might be watching it on. It also adapts the resolution and frame rate to the viewers’ bandwidth limitations. With adaptive bitrate streaming enabled, viewers always receive the highest-quality video possible on their end.

How does adaptive bitrate streaming work?

You can think of adaptive bitrate streaming in three steps: encoding, segmenting and playing.

1. Encoding

Encoding is taking a raw video file and converting it into a format that can be played online and on multiple types of devices. During the encoding stage, several video files of different qualities are created so that the right one can be played for viewers based on their network conditions.

2. Segmenting

Segmenting is chopping the video file into smaller chunks that are a few seconds long. When you stream a video, whether live or pre-recorded, the video is sent in segments, gradually, rather than sending the whole thing all at once.

When a video player has adaptive bitrate streaming enabled, it checks the network connection at the end of each segment. If it detects slower bitrate or poorer internet connection, it switches to one of the other video files that was created during the encoding process.

3. Playing 

When your video first starts, most video players request the video file created with the lowest quality, for the slowest connections. It’s like a test to see how well the viewer’s network connection can handle it. If it passes the test at the end of the first segment, the video player selects the next highest-quality video file.

This process of testing and selecting the most adequate video file continues for the entire length of the video.