Traditionally, video streaming servers had to deliver fixed bitrate streaming and there was no alternatives like the availability of dynamic multi-bitrate transcoding. And if your target audience’s network connection was poor, they could experience buffering problems, something that always led to poor viewing experiences for them. To solve this issue, engineers came up with intelligent algorithms that support a technique called Adaptive Bitrate Streaming (ABR)
So, what is Adaptive Bitrate Streaming?
By definition, Adaptive bitrate streaming (ABR) is a technique used to deliver video streaming content over the internet in a way that adjusts to the user’s internet connection speed and device capabilities.
If your live streaming server supports ABR, the video player automatically adjusts the quality of the video being played to match the available network bandwidth. If the network connection is slow, the video player will switch to a lower-quality stream, which requires less bandwidth, to prevent buffering or stalling. If the network connection improves, the player will again automatically switch to a higher-quality stream for a better viewing experience.
This process is done by the video player detecting the available bandwidth and device capability and requesting the appropriate stream from the streaming server. The server delivers multiple versions of the same video file at different bitrates, resolutions, and codecs. The video player selects the appropriate version based on the user’s internet connection and device capability.
Platforms like YouTube use this same technique to enable their users to enjoy a seamless video streaming experience with limited buffering problems even if they there is poor network connection from their end
![](https://www.ugacomp.com/wp-content/uploads/2023/03/YouTube-Adaptive-Bitrate-Streaming-1024x576.png)
Adaptive bitrate streaming ensures that your streaming audience will receive a consistent and uninterrupted viewing experience regardless of their network connection or device capability. It helps to eliminate buffering, stalling, or freezing during video playback, leading to a better user experience.
Does Adaptive Bitrate Stream use Transcoding?
Adaptive Bitrate Streaming typically involves video transcoding, which is the process of converting a video file into multiple versions based on certain metrics like bitrates and resolutions.
Transcoding itself involves two processes:
- Transrating: This involves converting video or audio bitrate to a certain rate. For example, a video file with a high bitrate can be converted to a lower bitrate.
- Transizing: This involves resizing the video resolution. In this process, a video resolution can be converted from high to low. For example, a 1080p video can be resized to a 720p resolution.
During the process of transcoding, multiple versions of the same video file are created at different bitrates, resolutions, and codecs, something that enables ABR to employ its intelligent logic.
How does Adaptive Bitrate Streaming work in Ant Media Server?
Ant Media Server supports Adaptive Bitrate Streaming (ABR) by using HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH) protocols. Ant Media Server achieves ABR by encoding the video at different bitrates and resolutions and creating multiple versions of the same video stream.
To enable ABR in Ant Media Server using HLS, the server transcodes the video into multiple renditions at different bitrates and resolutions. The server then generates an HLS manifest file that lists all the available renditions and their URLs. The HLS client, such as a web browser, selects the best quality rendition based on the available bandwidth and device capabilities at the end-users’ level.
Similarly, to enable ABR using DASH, the server transcodes the video into multiple bitrates and resolutions and generates a DASH manifest file that describes the available video renditions and their URLs. The DASH client, such as a web browser, selects the best rendition based on the available bandwidth and device capabilities.
How much computing power does Ant Media Server need to use Adaptive Bitrate Streaming?
As we know it by now, Adaptive Bitrate Streaming requires transcoding to compress the original video file into multiple lower-quality versions, each optimized for a specific bandwidth range.
Now, the amount of computing power required for ABR can vary depending on several factors, including the complexity of the encoding and transcoding algorithms used, the size and resolution of the video, the number of simultaneous streams, and the hardware capabilities of the streaming server.
The hard truth is, the ABR process is computationally intensive and requires a high-performance server or cloud infrastructure with specialized hardware, such as Graphics Processing Units (GPUs).
Do you really need a GPU for Ant Media server to activate ABR?
In the context of video streaming, GPUs are often used for tasks such as video transcoding, which involves converting video files from one format to another, and video encoding, which involves compressing video data for transmission over a network.
These tasks are highly parallelizable and require complex mathematical operations, which makes GPUs well-suited for such workloads. GPUs can handle large amounts of data in parallel and are optimized for processing video data, resulting in faster and more efficient video streaming.
On the other hand, CPUs are more versatile and can handle a wider range of tasks, including video streaming, but they may not be as efficient or fast as GPUs when it comes to video transcoding and encoding.
Now, the number of CPU cores needed to match the performance of a single GPU for video streaming would depend on the specific tasks being performed, the characteristics of the CPU and GPU being compared, and the quality and complexity of the video being streamed.
Which AWS GPU-optimized instances are good for Adaptive Bitrate Streaming?
Here is a table of some of the GPU-optimized instances you can find on AWS for your advanced Ant Media streaming setup. These instances offer tremendous computing power that you could need to support resource-intensive activities like encoding and transcoding.
Instance Type | GPU Type | GPU Memory | vCPU | Memory (GiB) | Network Bandwidth (Gbps) | Storage (GB) |
---|---|---|---|---|---|---|
g4dn.xlarge | NVIDIA Tesla T4 | 16 GiB | 4 | 16 | Up to 25 | EBS-Only |
g4dn.2xlarge | NVIDIA Tesla T4 | 16 GiB | 8 | 32 | Up to 25 | EBS-Only |
g4dn.4xlarge | NVIDIA Tesla T4 | 16 GiB | 16 | 64 | Up to 25 | EBS-Only |
g4dn.8xlarge | NVIDIA Tesla T4 | 16 GiB | 32 | 128 | 25 | EBS-Only |
g4dn.12xlarge | NVIDIA Tesla T4 | 16 GiB | 48 | 192 | 50 | EBS-Only |
g4dn.16xlarge | NVIDIA Tesla T4 | 16 GiB | 64 | 256 | 100 | EBS-Only |
g4dn.metal | NVIDIA Tesla T4 | 16 GiB | 96 | 384 | 100 | EBS-Only |
p3.2xlarge | NVIDIA V100 | 16 GiB | 8 | 61 | 12 | EBS-Only |
p3.8xlarge | NVIDIA V100 | 64 GiB | 32 | 244 | 25 | EBS-Only |
p3.16xlarge | NVIDIA V100 | 128 GiB | 64 | 488 | 25 | EBS-Only |
To warn you in advance, AWS GPU-optimized instances are not cheap, and can drain your wallet so fast than you can imagine. “If you’re not so sure about what you’re doing”, it’s important to avoid them during the process of setting up your live streaming server.
How to activate Adaptive Bitrate Streaming (ABR) on Ant Media Server?
Adaptive Bitrate Streaming feature only ships with the enterprise edition of the Ant Media server. If you’re using the community version of the software, you won’t be able to access it.
To activate ABR in your Ant Media, you need to follow the following steps:
Log in to your Web Panel
Once your enterprise license is active, all you need is to login to your admin web panel of the Ant Media server using the appropriate credentials you have.
Go to the target Streaming app settings
Ant Media server comes with two default streaming applications named: LiveApp and WebRTCAppEE. See the image below:
![](https://www.ugacomp.com/wp-content/uploads/2023/03/Ant-Media-Streaming-Apps-1024x576.png)
The settings of each application work independently of the other. In other words, Ant Media gives you the ability to trigger adaptive bitrate streaming functionality and other settings only customized to one streaming application and not necessarily on the other.
You can configure the ABR feature by clicking on the target application where your streams are set up. Then, you need to click settings as seen in the image below:
![](https://www.ugacomp.com/wp-content/uploads/2023/03/Ant-Media-Server-Adaptive-Bitrate-Streaming-1024x576.png)
Define various bitrates of your streams
Here, you’re going to tell Ant Media’s ABR algorithm to create various versions of each video stream based on your predefined metrics like resolutions, Frame Rate, and Bitrates. See the image below:
![](https://www.ugacomp.com/wp-content/uploads/2023/03/Ant-Media-Server-Bitrates-and-Resolutions-for-ABR.png)
It’s important to note that, the more resolutions and video bitrates you define, the more computing power this feature is likely to consume from your server. While, Adaptive Bitrate streaming can be critical to providing your viewers with a smooth streaming experience, you will need to be careful when triggering it as this could result in high resource (CPU & RAM) consumption on your server.
More Ant Media Server articles to explore
- How to Secure HLS & DASH Streams in Ant Media Server?
- Solved: SSL not installing on Ant Media Server
- How to install an SSL Certificate on Ant Media Server
- How can I update Ant Media Server on Ubuntu?
- How to open Ant Media Ports through the Firewall?
- Solved: Protect Ant Media Streams from getting embedded
- What you need to know before deploying Ant Media in AWS Cluster
- Solved: Ant Media stream refusing to play after embedding
- How to embed Ant Media Player in WordPress Website
- How much does Ant Media cost to stream to 1000 viewers on AWS
- How much bandwidth does Ant Media Server need?
- How to Optimize the Performance of Ant Media Server
- Why does my Ant Media stream keep buffering?
- How to secure your Ant Media Livestreams?
- Can I use the ant media community license in a cluster?
- How many Streaming channels can you set up on Ant Media?
- Do I necessarily need a GPU to stream Full HD using Ant Media Server?
- How much computing power do you need for Ant Media Server?
- SOLVED: Your live stream will play automatically as soon as it’s available