AT&T Video Optimizer
Adaptive Bitrate Streaming
Adaptive bitrate streaming (ABR or ABS) is technology designed to stream files efficiently over HTTP networks.
Multiple files of the same content, in different size files, are offered to a user’s video player, and the client chooses the most suitable file to play back on the device.
It was designed to help improve streaming by delivering the right content under the circumstances, considering the specific device and the specific network condition, decreasing the need for rebuffering.
Video data is measured in bits per second, known as the bitrate. Adaptive bitrate streaming adjusts the bitrate of files being streamed according to the capability of the connection.
ABR dynamically tracks CPU and memory capacity and adjusts video quality to match. The source video is encoded at varying bit rates on the server side, and those video files are then divided into small segments. Segment length can vary, but typically they run between one and ten seconds, and sometimes those segments may also be broken down into even smaller segments.
Most video players now support ABR. The logic in the player on a user’s device is able to choose among the different bitrate segments offered in the video’s manifest file, picking the segments that best match the bandwidth on the user’s device at that moment.
The player starts by requesting the lowest bit rate segments offered. If the player client determines the download speed exceeds the bit rate of the initial segment, it will request the next higher bit rate segment, until the current bitrate segment and the available bandwidth are a good match, and the player will continue to request segments at that bitrate, until the bandwidth changes. If everything is working correctly, the user will have a smooth viewing experience under a variety of network conditions.
Streaming video has been around for many years. In the early days streaming was based on the User Datagram Protocol (UDP), which is used for establishing low-latency and loss tolerating connections between applications on the Internet. The alternative to UDP is Transfer Control Protocol (TCP), a connection-oriented protocol for sending data on the internet.
Streaming video using proprietary, competing UDP protocols created confusion. Video providers had a hard time keeping up with increasing demand and dealing with connection and buffering issues. So there was a move toward adopting streaming over HTTP using TCP request and response, and breaking the video into smaller pieces, along with logic on the player to monitor download speeds and only request video segments that met the current network conditions.
Adaptive bitrate streaming solved a lot of issues. It allowed for video distribution to content distribution networks (CDNs), reduced buffering and led to fewer connectivity issues.
Best Practice Recommendation
The Best Practice recommendation is to use an adaptive bitrate strategy for delivering streaming video over wireless networks.
The reason we recommend adaptive bitrate streaming is because it provides a great overall solution for mobile devices and networks, by offering high quality video for users with faster connection speeds and acceptable quality for those with on slower connections. Given the ability to adapt to the available network and radio access network (RAN) bandwidth, the use of an Adaptive Bitrate protocol is very useful, especially over wireless networks.
The most widely used ABR technologies are HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (MPEG-DASH).
You can learn more about video streaming and other development issues in our Mobile Development Best Practices recommendations.