Bitrate indicates the speed at which video content (or any other data) is delivered. It represents the amount of bits per second that are transmitted digitally across a network. The speed of the bitrate can also determine the cost of delivery. In a video context higher bitrate usually indicates a higher quality stream. Video bitrate indicates the average bitrate consumed by players during the playback session.
A bitrate can essentially tell the video player how many bits of the video content or file can be processed per second during the video playback. This is where the concept of Adaptive Bitrates (ABR) comes in. Optimising ABR can eliminate wasted bandwidth during congestion and allow you to more efficiently use the available bandwidth. Bandwidth itself is not the speed of the internet, but rather the amount of time it takes to show information to the end user. In this post we discuss how to optimise ABR for more efficient bandwidth usage while still maintaining an excellent Quality of Experience (QoE).
Available bandwidth estimation is a crucial part of ABR, but also difficult to get entirely accurate. Streaming video can naturally use a huge chunk of the available bandwidth. Things like poor network security, or old hardware such as outdated routers and cables can put a huge drain on the bandwidth usage. Likewise, it is also important to consider if the end user has a capped bandwidth usage. If you are choosing the highest quality stream, it’s possible you could be using anywhere from 3GB to 7GB of data per hour of streaming. With 1080p images being 2.25 times bigger, and 4k being 4.5 times bigger compared to 720p, the required bandwidth is soaring to new heights. As a direct result, the cost of delivery for the operator is increasing significantly, especially if the end viewer does not have a cap on their bandwidth usage.
The screen size or resolution, the start-up time and the dropped frame rate should all be taken into consideration. A well constructed ABR algorithm will take all of those, as well as the player size, into account, ensuring that the bitrate is capped at a certain amount.
Some players strive for a faster join time. To achieve this the player will first start downloading the video content at the lowest bitrate into the buffer, and then aggressively get faster to reduce buffer. Join times can be crucial for the end viewer and quality of experience, as buffering is an annoyance that can cause viewers to abandon the stream all together and Exit Before Video Start (EBVS).
It’s also important to take QoE and the dropped frame rate into account. At times, the device hosting the stream doesn’t have the resources, causing frames of the content to be dropped. If too many frames are dropped, the player will drop to a lower available bitrate/quality in the stream, and this will clearly reduce the quality of experience for the viewer.
Based on Current Bandwidth
If the player is told to optimise bandwidth, it can take into account two options. The first is important but very difficult to always get right.
As the player starts to download segments into the buffer on a network, the player will estimate the bandwidth from the download of the previous segment. The player will then choose the first bitrate that is lower than the bandwidth that was estimated and begin to download and play. When a network is varying greatly, the player can run into challenges with this method because the last segment may not be representative of the current network situation. This can make the quality of experience not smooth and ultimately suffer.
Based on Historic Bandwidth
The other option would be for the network to take the network history into account. In this method, the player would take the history of the current network bandwidth in consideration to then estimate the bitrate. The player will aim to display the highest quality video content based on the historic bandwidth data and knowledge of the network conditions. It is important to note that network history may be limited to the current playout session as privacy policies (like GDPR) may rule out the option to leverage the historic bandwidth across sessions.
THEO and Adaptive Bitrate Streaming
Our THEO Universal Video Player has three preset strategies that the player will automatically use when it comes to ABR. Bandwidth is the default strategy. The player will optimise ABR behaviour to focus on displaying the most optimal quality based on historic bandwidth data and knowledge of the network conditions. When no historic data is available, the player will use the performance strategy. The performance strategy will optimise ABR behaviour to focus on the performance of the player. Lastly, the quality strategy will optimise ABR behaviour to focus on displaying the best visual quality possible to the end viewer. For an ABR demo, visit our Demo Zone.
Have more questions about ABR and efficient bandwidth usage? Contact one of our THEO experts for advice on your particular use case.