Unless progressive files, adaptive streams are delivered segment by segments. This enables the player to potentially switch the quality as often as required in order to provide the best possible user experience at any time, even if the internet connectivity changes or becomes unavailable for a few moments within the session.
One of the multiples challenges a player has to face is to provide the best possible experience to every user, regardless if they have good or bad internet connectivity. This requirement can be summarized as the ability to request the highest possible quality, while minimize the start up time as much as possible and avoid rebuffering in order to keep users engaged. In general, optimizing one of these three parameters will have a negative impact on the two others.
In order to fulfill the challenge, Bitmovin HTML5 Player uses an Adaptive Bitrate Algorithm (ABR) which has been designed by our engineers to provide the best possible trade off for every use case.
As we are aware that some of our customers may have special needs, we also implemented the possibility to completely influence or customize this algorithm as described in our according blogpost.