-
Notifications
You must be signed in to change notification settings - Fork 983
AVideo Platform Hardware Requirements
We recommend at least 1 GB ram (files up to 500 MB), 1 CPU core, and 80 GB disk
Better hardware will be a better performance (of course)
- If you want to encode faster, get a better CPU
- If you want to encode larger videos, get more RAM
- If you want to have many simultaneous users, get more bandwidth
- 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
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
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
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.
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
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
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.
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
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
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.