Skip to content

AVideo Platform Hardware Requirements

akhilleusuggo edited this page Nov 23, 2020 · 31 revisions

Minimum requirements

We recommend at least 1 GB ram (files up to 500 MB), 1 CPU core, and 80 GB disk

Improve the hardware

Better hardware will be a better performance (of course)

  1. If you want to encode faster, get a better CPU
  2. If you want to encode larger videos, get more RAM
  3. If you want to have many simultaneous users, get more bandwidth

How Many Livestream Can I Make?

  • You can have unlimited and simultaneous live streams.
  • You can have unlimited users connected to each live stream.

The only limitation is your hardware, but we can not tell you what hardware is needed to handle a specific amount of users. It depends on your bandwidth and the quality of the video you are transmitting. But keep in mind you can always add new Live servers and expand your capacity.

But If you plan on using this site for a live broadcast with a large audience, I recommend that you have a dedicated server. Usually, VPSs suspend you because live streams drain a lot of cloud resources.

By default, we use NGINX to stream your live stream without resizing it, so if you broadcast in 1080p, your users will receive 1080p live.

For more details, please read this

Adaptive Bitrates on Livestream

But we also use the Adaptive Bitrates on Livestream, what will consume more of your CPU and less of your bandwidth. More simultaneous Livestream, more CPU will consume.

But in my experience is, with the Adaptive Bitrates on Livestream a 100 mbps Network can handle up to 100 simultaneous users. So a 1Gbps should handle 1000 Simultaneous users.

if you want details about how to improve your Live Stream try to ask it on https://github.com/arut/nginx-rtmp-module

How should the CPU be?

The CPU is mainly used to encode VOD videos. The faster your processor is faster you will encode your videos. Also, you can have multiple encoders on the same server or in a separated server (we recommend keeping them separated)

We recommend at least 2 CPUs core

How should the RAM be?

There is a script calculation..., your maximum file size can be only 50% of your RAM memory because the script needs to copy files between locations and handles it on the virtual memory.

In Example, if you want to upload a 4GB file you will need to have at least 8 GB Ram on the server otherwise you will have a Memory Leaks - Allowed memory size of # bytes exhausted error.

Disk Storage

Your streamer and encoder need some free space to be able to process videos. we recommend at least 3x of the space for the max file size you will submit to your site. for example, if you want to process a 5GB file you need at least 15GB free (if you will process only one file at a time). But you also can expand your Storage space any time

What ports do I need to open?

You will need ports 80, 8080, 443, 444 and 1935 to make the default installation

  • 80 for apache HTTP
  • 443 for apache HTTPS
  • 8080 for nginx HTTP
  • 8443 for nginx HTTPS
  • 1935 for RTMP connection

What Can I do to Balance my Servers

Storage and VOD Videos

VOD videos require you to store them, and sometimes your server gets full and you may need another server to store the videos. if you use the YPTStorage you will be able to add as many servers as you want, also you will use the Storage server bandwidth to deliver the videos to your viewers. Also, you can use S3 and B2 storage for unlimited storage, before deciding the storage type, please read this.

Live Streams

The Livestream some times you need more bandwidth or maybe disk IO, depending on how many lives/users you are running, you can have multiple live servers feeding your Streamer site, please read this

Encoder

You can install and use as many encoders as you want, each encoder will provide you a queue to process one video at a time. we recommend the encoder to be in a separate server, and you can use multiple servers to encode videos. to connect those encoders you will need the Encoder network

Database

We recommend the database to be hosted on the same server as the streamer due to the multiple queries we execute on each request, but you also can host it separately.

image

Clone this wiki locally