System Requirements

Digital TV is a high-load service and requires some resources. Astra has no restrictions on the number of channels or clients. However, the chosen protocols and available resources may influence these parameters.

Software operation

Avoid using consumer-grade hardware or deprecated hardware.

For system and general software operation we recommend at least 2Gb of RAM. For reserve at least 20%.

UDP Multicast or DVB Broadcast

Content delivery over UDP Multicast or DVB Broadcast networks, the system requirements are minimal. Only a single server can prepare all channels and distribute them across the network.

CPU

We recommend a CPU with the highest available frequency. Ensure the CPU is operating in performance mode and power-saving mode is disabled.

The number of CPU cores needed depends on the number of channels to be delivered. A good rule of thumb is one core per 30 channels. Therefore, for 100 channels good choice will be a CPU with 4 cores.

RAM

  • For DVB modulators such as TBS, DigitalDevices, or HiDes, Astra allocates 256Mb per transponder
  • For UDP channels with bitrate synchronization, Astra allocates about 12Mb per channel. Without synchronization, only 1Mb per channel is allocated, but this is generally not recommended

Approximately 2Gb of RAM is enough for deliver 100 channels.

Networking

Avoid using VLAN, Bonding and consumer-grade network adapters.

HLS

Content delivery with the HLS protocol is the most complicated and resource-intensive process due to the nature of the protocol.

CPU

CPU frequency is not crucial for HLS. Make sure the CPU is in performance mode and power-saving mode is turned off.

The number of CPU cores needed depends on the number of Rx/Tx queues in the network adapter. Therefore, for Intel 82599 with 128Tx queues use CPU with as many cores as possible.

RAM

RAM usage depends on the HLS settings. By default, Astra prepares 4 segments, each up to 3 seconds long. For HD channel with a bitrate of 10Mbit per second, approximately 15Mb (calculated 4 * 3 * 10 / 8) will be allocated, in addition to a fixed 2Mb per channel, that doesn't depend of the channel bitrate.

Each active session requires about 2Mb of RAM.

Networking

Use server-grade network adapters with as many Tx queues as possible

Scaling

Due to HLS nature all clients connected directly to the server. For load balancing we recommend to use caching servers. Read more in HLS Caching Proxy with Nginx

Receiving channels

Resources for channels receiving is not so important as delivery. About 1Gb of RAM per 100 channels.

Summary

Total RAM needed calculated as sum of the:

  • General software operation
  • Receiving
  • Delivery
  • Other software on your server
  • RAM Reserve

Example with DVB-C Broadcasting

In summary for 100 channels:

  • General software operation: 2Gb
  • Receiving: 1Gb
  • Delivery with 4 transponders: 2Gb (256Mb per transponder, plus additional resources for mulpiplexing)
  • Other software: 0
  • RAM Reserver: (2 + 1 + 2) * 0.5 = 2.5Gb

Total (rounded up): 8Gb