Adaptive Bitrate Streaming
What is adaptive bitrate streaming?
Adaptive bitrate streaming (also known as adaptive streaming) is a technology designed to deliver video in the most efficient way possible and in the highest usable quality for each specific user and device. It s NOT to be confused with progressive streaming.
What is progressive video streaming?
A progressive video stream is one single video file being streamed over the internet.
This type of file is often .mp4 but can be in many different formats. The progressive video can be stretched and squashed to fit different screen sizes, but regardless of the device playing it, the video file will always be the same.
This diagram shows the journey of a progressive video from your server to your visitor.
The main takeaway from this diagram is that the video file is the same, regardless of the device it is played on. In the diagram, the example video file is 1280 pixels x 720 pixels, and that same file will simply be squashed or stretched to fit the various screen sizes that it plays on.
The problems with progressive streaming
There are two major problems with progressive streaming.
The first is quality. A video that is only 1280 x 720 will never play at correct quality levels on a screen that is 1920 x 1080px. It will be stretched and you will see pixelation.
The second is buffering. If the user has a low-quality internet connection, and cannot download the video stream fast enough, the video will need to pause, wait for more data, and then start again. This is very common, especially on mobile devices, where the connection can vary greatly depending on the user’s location.
How adaptive bitrate streaming works
Adaptive bitrate streaming solves each of the two main problems with progressive streaming: Quality and buffering.
Adaptive streaming allows the video provider to create a different video for each of the screen sizes (or devices) that they wish to target.
This diagram simply shows how that works. As you can see, you can stream a specific video file to fit specific screen sizes, ensuring that the viewer always receives the best video for their needs.
The second problem is buffering.
Buffering happens when a user is unable to download a video file fast enough to keep the video playing.
What is a good bitrate for streaming?
Most videos play at 24 frames per second, so the internet connection needs to download at least 24 frames every second to avoid buffering.
Adaptive streaming solves this by “adapting” to the speed of the user’s internet connection.
For example, if a small video can be downloaded faster than a large video, and a user has a slow internet connection, an adaptive video stream will switch to smaller video file sizes to keep the video playing.
In the diagram above you can see that the priority is to avoid buffering, rather than maintaining quality.
A user is happier to watch a few minutes of lower quality video if their internet speed slows down than to sit and watch a spinning icon until the stream catches up.
The term “bitrate” is often used to describe the speed of the internet connection, which is why adaptive streaming is also called adaptive bitrate streaming. A fast internet connection has a higher bitrate than a slow internet connection.
Bitrate is literally the rate at which bits of data travel to the users’ machine.
The power of adaptive bitrate streaming is that it “adapts”
The next concept to understand is “adaption”.
These settings and decisions about which video is best for each specific user can be changed from second to second. This means that as a user’s internet connection changes, the adaptive stream will switch back and forth between video qualities.
How does this magic happen? This is achieved with the use of segments. Segments are really at the heart of adaptive streaming.
When a video file is encoded to adaptive format, it is broken up into segments.
These are short snippets of video, often set to 4 seconds long (although they can be longer or shorter). At the end of each 4-second segment, the Player can switch to a different video file if necessary.
Here is an example:
Let’s imagine that a child is in the back seat of her parents’ car is watching a Youtube video on an iPad via a mobile network. The video is streaming at 854 x 480 pixels with no problems. But then, the road goes down into a valley, and the quality of the mobile network connection drops.
The data starts flowing more slowly. (Remember we need to download 24 frames per second.)
If the video was a progressive video, there would be no hope. It would simply stop. But in this example, the child watches an adaptive video, through an Adaptive Video Player. The Adaptive Player recognizes that the data is coming too slowly, and reacts to avoid buffering.
It switches to a video file that is small enough to ensure the child’s iPad will receive the required 24 frames per second to continue playing the video without interruption.
But adaptive streaming isn’t just for traveling!
The internet is a complex network of connections and systems and the performance of these systems is constantly changing. Adaptive streaming is now a vital part of delivering video on the internet.
More video technology guides and articles:
- Encoding Definition and Adaptive Bitrate: Video Compression Guide
- Back to Basics: Guide to the HTML5 Video Tag
- What is a VoD Platform? A comprehensive guide to Video on Demand (VOD)
- Video Technology : Top 5 video technology trends
- HEVC vs VP9: Modern codecs comparison
- What is the AV1 Codec?
Did you know?
Bitmovin has a range of VOD services that can help you deliver content to your customers effectively.
Its variety of features allows you to create content tailored to your specific audience, without the stress of setting everything up yourself. Built-in analytics also help you make technical decisions to deliver the optimal user experience.
Why not try Bitmovin for Free and see what it can do for you.