Hardware Requirements
- System Requirements - RTMP Server
- System Requirements - Transcoding Server
- System Requirements - Load Baance Server
System Requirements - RTMP Server
Below is a rough guideline for server hardware requirements for your RTMP server
For 10 Concurrent Streams
-
CPU:
• 2 cores (modern dual‑core at ~2.5+ GHz should be sufficient) -
RAM:
• 4 GB minimum (8 GB recommended for extra buffering and system overhead) -
Network:
• 1 Gbps NIC- Estimated Bandwidth: ~40 Mbps total (10 streams × 4 Mbps)
- Plenty of headroom is available with a 1 Gbps link
For 100 Concurrent Streams
-
CPU:
• 4–8 cores- For ingest only, a quad‑core 3.0+ GHz processor may suffice
- If any processing (e.g., repackaging) is added, lean toward 8 cores
-
RAM:
• 8 GB minimum (16 GB recommended to comfortably handle buffering, connection management, and OS overhead) -
Network:
• 1 Gbps NIC might be borderline if streams are high quality- Estimated Bandwidth: ~400 Mbps total (100 streams × 4 Mbps)
- For extra reliability and headroom, consider a 10 Gbps NIC or NIC bonding
For 1,000 Concurrent Streams
-
CPU:
• 8–16 cores- For pure ingest, 8 cores might work if optimized
- If you perform any transcoding or heavy processing, 16+ cores are recommended
-
RAM:
• 16 GB minimum (32 GB recommended to accommodate higher buffering, connection management, and any additional processing tasks) -
Network:
• 10 Gbps NIC (or aggregated/multiple NICs)- Estimated Bandwidth: ~4 Gbps total (1,000 streams × 4 Mbps)
- A 10 Gbps connection provides the necessary headroom and stability
Key Considerations
-
Processing Load:
The above recommendations assume minimal CPU load per stream (i.e. simple ingress). -
Network Overhead:
Real‑world conditions (protocol overhead, burstiness, etc.) might push bandwidth requirements higher. It’s wise to over‑dimension network capacity relative to the calculated total. -
Scalability:
In production, consider load balancing across multiple servers if you expect to consistently approach these limits, and ensure monitoring to adjust resources as needed.
These guidelines provide a starting point to help you size your hardware. Actual requirements can vary significantly depending on your exact situation.
System Requirements - Transcoding Server
Below is a rough guideline for server hardware requirements for a transcoding server
For 10 Concurrent Streams
- CPU:
• 6–8 cores- This gives headroom to run roughly 20 concurrent encoding tasks (2 per stream) plus manage the passthrough.
- RAM:
• 8 GB minimum (16 GB recommended)- Ensures smooth operation with multiple encoder processes and OS overhead.
- Network:
• 1 Gbps NIC- Estimated Ingress: 10 × 4 Mbps ≈ 40 Mbps
- Estimated Egress: 10 × (1.5 + 2.5 + 4) ≈ 80 Mbps
- The 1 Gbps link easily covers this with room for spikes.
For 100 Concurrent Streams
- CPU:
• 16–32 cores- Each stream produces 2 CPU-intensive transcoding jobs; a larger core count is critical. The higher range is advised for pure software encoding.
- RAM:
• 16 GB minimum (32 GB recommended)- More concurrent encoding tasks will benefit from extra memory.
- Network:
• 10 Gbps NIC (or aggregated connections)- Estimated Ingress: 100 × 4 Mbps ≈ 400 Mbps
- Estimated Egress: 100 × ~8 Mbps ≈ 800 Mbps
- Although calculated bitrates are below 1 Gbps, using a 10 Gbps NIC provides ample headroom for overhead, bursty traffic, and potential increases in bitrate if you choose higher-quality settings.
Additional Considerations
-
Hardware Acceleration:
If you can use GPUs or dedicated encoding hardware (NVENC aka NVIDIA), you can significantly reduce CPU requirements. For large-scale transcoding, this is often a more cost‑effective and energy‑efficient approach. -
Scalability:
For very high concurrency (hundreds to thousands of streams), consider a multi‑server or cloud‑based transcoding farm that distributes the load rather than relying on a single box. -
Encoding Settings & Quality:
More aggressive encoding quality settings will increase CPU load. Tailor these recommendations based on your specific quality versus resource trade‑offs. -
Redundancy & Future Growth:
Always plan with extra headroom for unexpected spikes and future scaling needs.
These guidelines provide a starting point to help you size your hardware. Actual requirements can vary significantly depending on your exact situation.
System Requirements - Load Baance Server
Below is a rough guideline for server hardware requirements for a load balance server
Assumptions:
- Stream Bitrate: We’ll assume each “complete” stream (all ABR renditions combined) averages about 8 Mbps (e.g. 480p at ~1.5 Mbps, 720p at ~2.5 Mbps, plus 1080p at ~4 Mbps).
- Connection Handling: The load balancer maintains TCP/HTTP connections for streaming protocols (or even raw RTMP, if used) and may perform SSL/TLS termination.
- Overhead: Always allow extra headroom for protocol overhead, bursty traffic, and connection management.
For 10 Concurrent Egress Streams
-
CPU:
• 2 cores- For basic packet forwarding and connection handling (even with SSL termination), a modern dual‑core CPU should suffice.
-
RAM:
• 4 GB minimum (8 GB recommended)- To handle OS buffers, connection tracking, and any light processing.
-
Network:
• 1 Gbps NIC- Estimated Egress Throughput: 10 × 8 Mbps ≈ 80 Mbps
- A 1 Gbps link provides ample headroom.
For 100 Concurrent Egress Streams
-
CPU:
• 4–8 cores- More cores help manage a higher number of concurrent connections, especially if SSL termination or deeper packet inspection is involved.
-
RAM:
• 8 GB minimum (16 GB recommended)- Additional memory is useful for a larger connection table and buffering.
-
Network:
• 1 Gbps NIC might be borderline- Estimated Egress Throughput: 100 × 8 Mbps ≈ 800 Mbps
- Recommendation: Use a 10 Gbps NIC or dual 1 Gbps NICs (bonded) to comfortably handle bursts and protocol overhead.
For 1,000 Concurrent Egress Streams
Important:
Handling 1,000 concurrent streams (totaling around 8 Gbps egress) is a high-demand scenario. Often, a single load balancer at this scale is implemented as part of a distributed architecture with clustering or specialized hardware.
-
CPU:
• 16–32 cores- A high core count is needed to manage thousands of simultaneous connections and potential SSL termination or other processing tasks.
-
RAM:
• 16 GB minimum (32 GB recommended)- To efficiently manage a large connection table and OS/network buffers.
-
Network:
• High‑throughput NIC(s):- Estimated Egress Throughput: 1,000 × 8 Mbps ≈ 8 Gbps
- Recommendation: At least a 10 Gbps NIC, though depending on burstiness and protocol overhead, you might consider aggregated NICs or a 40 Gbps solution to ensure stability.
Additional Considerations
-
Distributed Architecture:
For 1,000+ streams, consider deploying multiple load balancers behind a front‑end DNS or hardware load balancing solution to spread the traffic and provide redundancy. -
Monitoring & Scalability:
Always plan for some extra headroom to handle traffic spikes, and monitor your system closely to adjust resource allocation as needed.
These guidelines provide a starting point to help you size your hardware. Actual requirements can vary significantly depending on your exact situation.