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.
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.
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.
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:
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.
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.
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.