I configured multiple resolution/bitrate combinations for a livestream using HLS, the streams plays well/stable in few certain regions but has lot of resolution cycling in other regions. Later I added support for manual resolution selection, so users could use a resolution that worked fine for them, we have observed that even though they have chosen the highest resolution/bitrate it worked fine. I guess (may be wrong) the ABR algorithm was too sensitive to the network state and frequently switched bitrates
- Can you please point me to the ABR algorithm that VideoJS use?
- Is it possible to adjust the sensitivity of ABR?
There is a description of how the ABR algorithm works in video-js available in their docs: https://github.com/videojs/http-streaming/blob/main/docs/bitrate-switching.md
As listed in the docs, you can override the ABR algorithm completely with your own by providing your own selectPlaylist function, but based on your description I think using the https://github.com/videojs/videojs-contrib-quality-levels plugin will allow you to tune the ABR selection to your needs