ABR provides a mechanism for real-time and continuous display of video no matter how much or how little bandwidth is available on the device being used. It does this by fragmenting or packaging the content into small 2- to 10-second segments with several profiles (the same content at different bit rates) and then delivering the correct sequence of fragments at a bit rate that suits the available bandwidth. This means that to deliver a constant stream of content that does not falter the quality of the video will vary according to bit rate and available bandwidth. To be sure, the higher the bit rate the better the quality of experience, but most importantly as long as some bandwidth is available the video will keep playing.
Any ABR system works by actively measuring the latency, available bandwidth, and how full the playout device buffer is. If it is becoming full, the client device requests a lower bitrate profile. As the buffer empties the device requests a higher bitrate profile.
Figure 1 illustrates the key principles behind this. In this particular example the segments are occurring on 2 second boundaries and it shows the seamless transition of the content on a device as it moves between different profiles. The same thing could happen on a single device as it moves between different networks and the overall available bandwidth varies, such as when switching between a Wi-Fi network and a cell phone network.
Figure 1. Client device switching profiles when bandwidth allocations change
Note that it is vital that the switch over boundaries, normally called encoder boundary points (EBPs), are perfectly aligned. If they are not there will be discontinuities in the displayed video when the device switches between profiles.
Read more at www.streamingmedia.com