Ugacomp

How much computing power do you need for Ant Media Server?

Where necessary, you may need to have access to a VPS server so you can follow how to implement the steps in this article.  You can get a cheaper VPS Server from Contabo with 4vCPU cores, 8GM RAM, and 32TB Bandwidth for less than $5.50 per month. Get this deal here now

Table of Contents

Cloud VPS S

$5.50 Monthly
  • 4 vCPU Cores | 8GB RAM

CLOUD VPS M

$15.50 Monthly
  • 6 vCPU Cores | 16GB RAM

CLOUD VPS L

$17.50 Monthly
  • 8 vCPU Cores | 24GB RAM

Our experience has taught us that Ant Media Server is so efficient in utilizing computing resources. A simple Linux instance is capable of streaming up to 1080p quality videos, especially if you have moderate traffic for your live-stream broadcasts

Factors to put into consideration when deploying Ant Media Server

As your audience grows, the need to scale your infrastructure will arise. And it’s important to put a number of factors into consideration before you attempt to do anything. Some of these factors include;

Estimated Number of viewers

The size of your streaming audience matters a lot if you’re deploying a robust ant media streaming infrastructure. The bigger the audience, the more computing resources will be needed. Now, this works in such a way that more viewers have to send concurrent requests to the server which can end up depleting its bandwidth capacity, RAM & CPU power.

If you have no plan to scale, and your server is responding to an overwhelming audience, it will end up crashing and your end goal will not be achieved.

So, when your audience grows, you need to look at the possibility of scaling your Ant Media streaming infrastructure. This basically means that you need to set up some kind of autoscaling functionality that calculates certain metrics to automatically scale your infrastructure without experiencing downtime or compromising overall performance.

The Number of Broadcasts

A live-streaming broadcast sends out video content to the end viewers in real time. On your server, you can choose to set up as many broadcasts as you can depending on your needs. In most cases, multiple broadcasts are needed if you have multiple channels to stream to. This means that each channel will need its own broadcast session using protocols like RTMP or SRT to transmit video data to end viewers.

So, when you’re running a single broadcast with a limited audience, you don’t need to configure and deploy massive computing power for the streaming server. On the other hand, creating multiple broadcasts can also influence the need to scalable in a move to boost the power of your infrastructure so it can handle the load. 

Total Broadcast time

This is the number of hours your live stream sessions will stay active. The amount of time a live stream broadcast stays active can determine your computing costs. For example, if you’re using a pay-as-you-go pricing model to subscribe to high-end server infrastructure on platforms like AWS, your costs will jump up quickly.

So, you have to precisely determine how long your live stream broadcasts will run to help you estimate how much you will be paying. The longer the broadcast sessions go, the more money you’re likely to spend especially if you’re using the pay-as-you-go model.

Total Viewing hours

The average time each of your viewers will spend streaming your content matters. The way how your viewers behave is important for you to understand.

If your viewers are spending more time viewing your content, then you must make sure you have enough bandwidth and computing power to handle the load. 

So, the more time your audience concurrently spends your live stream content will also mean consuming much bandwidth and computing power. 

The Video Quality

Video quality is determined in bitrates, measured as kbps or kilobits per second. Videos with high kbps tend to be of higher quality compared to those of low kbps. 

For example, a Full HD video (1080p) running at 30 frame rate per second is likely to have a bitrate of 8,000 kbps. But such bitrate can increase if the frame rate per second is above the average, lets say 60fps which makes it about 12,000 kbps

Now, it’s important to understand that, when you plan to stream in full HD, your video will generate high bitrates. But this is going to consume a lot of bandwidth and your costs will go up.

Why does video quality matter? 

Well, the short answer is that viewers want to watch quality stuff. If you’re running a business-grade streaming infrastructure. you need to provide your customers with high-quality content that will entice them to increase their average watch time.

But you should remember that when you provide streaming in higher resolutions, you will also have to make sure your infrastructure has the power to carry the heavy load. Streaming high-definition videos require much processing power to encode or transcode streams. You will also need much bandwidth to flawlessly stream high-quality videos to your audience.

How much RAM & CPU do you need for Ant Media Server?

The amount of hardware you’re going to deploy will depend on the factors I’ve stated above. Assessing these factors will define the implementation of your infrastructure deployment strategy.

Let me be honest with you, large-scale streaming projects aren’t cheap at all. And if you’re planning to stream full HD to a bigger audience, be prepared to deploy as many server instances as possible.

For example, nobody should lie to you that you will just need 2 to 10 server instances to stream to over a million viewers. It’s not possible at all due to the amount of computing power required to transcode and broadcast full HD video content to your audience.

This kind of project is massive and so, it requires powerful hardware to ensure that there is a flawless live-streaming experience for your users. As we know it, the nature of the server hardware you deploy matters in the world of live streaming.

Origin and Edge instances

If you’re planning a scalable large streaming infrastructure, you must put into consideration the number of origins and edge instances that will be sufficient for your needs,

So, what are the origin and edge instances?

The origin server is the core instance that intelligently distributes streaming content to the edge servers to achieve something called load balancing. On the other hand, the edge instances are the actual servers that deliver the video content to the end viewers.

In a large-scale live streaming environment, edge instances could be configured to scale automatically based on the growth rate of your audience.

It’s important to note that your live-streaming viewers should be served content using edge instances and not using origin servers. The primary role of an origin instance is to provide a configuration blueprint that’s crucial for the replication of any number of edge instances in a scalable environment.

Usually, the number of edge instances can grow or reduce based on the evolving traffic metrics of your stream. when your traffic is rapidly growing, your infrastructure will have to expand and this means increasing the number of edge servers to increase the streaming load capacity. But when the size of your audience tremendously reduces, you will have to reduce the size of your infrastructure to avoid unnecessarily paying for massive costs. 

Streaming with 4-Core CPU instances

A single 4-core CPU live-streaming instance has the potential to serve up to 200 concurrent viewers.

If you had 4-core CPU-type of servers and you wanted to use this kind of hardware to stream to about a million viewers, you would need to deploy roughly 5001 instances to achieve the scalability you need. What this means is that you will have one origin instance and 5000 edge instances for your infrastructure.

Similarly, if you expected to have about 100,000 concurrent viewers of your stream, you would deploy about 501 4-core CPU-type of servers (one origin instance and 500 edge instances). If you had an audience of 10,000 concurrent viewers, you would have 51 server instances.

And if you expect to have an audience of 1000 viewers, you would need to deploy one origin instance and 5 edge instances, which can bring the total to 6 server instances.

So, an origin instance will be used to accept the incoming broadcasts from edge instances, and your viewers will receive the streams from the edge instances. 

Streaming with 8-Core instances

If each of your servers is integrated with 8-core CPUs, then you would need to deploy about 2501 instances (one origin and 2500 edge instances) to achieve the scalability that can serve a million concurrent viewers. 

If you had an audience of about 100,000 concurrent viewers, you would deploy 251 instances (one origin and 250 edge instances). If your audience had 10,000 concurrent viewers, you would need to deploy 26 server instances.

And if you had 1000 viewers, you would have to deploy 4 instances (one origin and 3 edge instances) using the 8-core CPU servers

Streaming with 16-core instances

You will need about 1251 instances each with 16 cores of CPU to stream to a million viewers. 126 instances are needed for an audience of 100,000 concurrent viewers

You will deploy 14 16-Core CPU types of servers (one origin and 13 edge instances) to serve 10,000 concurrent live stream viewers. 

You would need 3 instances to stream to an audience of 1000 concurrent viewers using the 16-core CPU types of servers

Streaming with 32-core instances

At this point, you will need to deploy around 501 instances each integrated with a 32-core CPU to serve an audience of a million viewers.

You would need to deploy 51 32-core CPU-type instances to stream to an audience of 100,000 concurrent viewers. And you would need 6 instances to deliver quality streaming to an audience of 10,000 concurrent viewers. And finally, you would have only one 32-core CPU type of server to stream to an audience of 1000 concurrent viewers.

So, the less powerful the servers you have, the more instances you need to achieve the scalability you want.

Server capacity is measured based on the type of CPU and even the amount of RAM it’s integrated with. Servers with really powerful CPUs are going to do a great job of delivering a flawless streaming experience to your audience.

Does the Amount of RAM matter?

8GB RAM should be your starting point. It’s advisable to have the amount of RAM double the size of the CPU cores per instance. For example, if you had a 4-core CPU instance, you would need 8GB RAM. If you had an 8-core CPU instance, you would need 16GB RAM. And if you had a 16-core CPU instance, you need 32GB RAM.

You will need to follow this standard based on the hardware specifications you have. 

Does the number of broadcasts matter?

Basically, having less than 10 concurrent broadcasts shouldn’t give you any worries regarding how your infrastructure will perform. For example, if you had 10 broadcasts and an audience of 1000 viewers, you would still use the same hardware specifications that apply to a one-broadcast stream of the same audience.

How much Bandwidth do you need to live stream to a larger audience?

Streaming bandwidth refers to the amount of data transferred to the end viewers in a given period. Whenever your audience watches your streams, a certain amount of data is consumed.

During live streaming, the amount of bandwidth consumed will depend on the quality of the videos you stream. For example, low-quality streams will consume fewer data compared to high-resolution videos. 

240p Stream Broadcast

A 240p video is considered to be of the lowest quality. So, if you chose to stream using this quality, each viewer would consume about 140MB of data per hour. Assuming you had 1000 concurrent viewers, the total data consumed per hour would be roughly 140GB per hour.

360p Stream Broadcast

If you run a 360p video stream, each user would consume roughly 230MB (0.23GB) per hour. And assuming you had 1000 concurrent viewers, 230GB of data would be consumed per hour.

480p Stream Broadcast

Each viewer would consume about 450MB (0.45GB) per hour if you ran a 480-video stream. So, assuming you had 1000 concurrent viewers, they would consume about 450GB of data per hour

720p Stream Broadcast

A single viewer would consume about 680MB (0.68GB) of data per hour if you chose to make a 720p video stream. And 1000 concurrent viewers would consume 680GB of data per hour.

1080p Stream Broadcast

Each user consumes 1.35GB per hour if you make a 1080p stream broadcast. And 1000 concurrent viewers would consume about 1350GB of data per hour.

More Ant Media Server articles to explore

Hire us to handle what you want

Hire us through our Fiverr Profile and leave all the complicated & technical stuff to us. Here are some of the things we can do for you:

  • Website migration, troubleshooting, and maintenance.
  • Server & application deployment, scaling, troubleshooting, and maintenance
  • Deployment of Kubernetes, Docker, Cloudron, Ant Media, Apache, Nginx,  OpenVPN, cPanel, WHMCS, WordPress, and more
  • Everything you need on AWS, IBM Cloud, GCP, Azure, Oracle Cloud, Alibaba Cloud, Linode, Contabo, DigitalOcean, Ionos, Vultr, GoDaddy, HostGator, Namecheap, DreamHost, and more.
 

We will design, configure, deploy, or troubleshoot anything you want. Starting from $10, we will get your job done in the shortest time possible. Your payment is safe with Fiverr as we will only be paid once your project is completed.