Pular para o conteúdo

Requisitos de Hardware

A TV digital é um serviço de alta carga e exige alguns recursos. O Astra não tem restrição de número de canais ou de clientes. Mesmo assim, os protocolos escolhidos e os recursos disponíveis podem influenciar esses parâmetros.

Recomendamos uma CPU com a maior frequência disponível. A frequência ideal de CPU para um headend de TV digital é de 2.5 - 3GHz ou mais. Processadores com muitos núcleos, mas frequência baixa (por exemplo, 1.8-2.5 GHz), não são adequados para tarefas que exigem baixa latência.

Processadores que só têm cache L2 podem não ser tão ruins, mas em 99% dos casos isso indica que o resto do equipamento, como placa-mãe e memória RAM, está obsoleto e não é adequado para uso.

Exemplo de um bom processador:

  • Intel Xeon 10C E5-2680v2
  • Xeon 8C E5-2670
  • Intel Xeon 6C X5670
  • Core i5-9600K

Verifique se a CPU está operando em modo de desempenho e se o modo de economia de energia está desativado. Leia mais.

Para o sistema e o funcionamento geral do software, recomendamos pelo menos 2Gb de RAM. Reserve pelo menos 20%.

Memória RAM adicional é necessária:

  • Para a recepção, os recursos não são tão importantes quanto para a entrega. Cerca de 1Gb de RAM a cada 100 canais.
  • Para moduladores DVB como TBS, DigitalDevices ou HiDes, o Astra reserva 256Mb por transponder
  • Para a entrega de canais UDP com sincronização de bitrate, o Astra reserva cerca de 12Mb por canal. Cerca de 2Gb de RAM são suficientes para entregar 100 canais com o protocolo UDP.
  • Para a entrega de canais UDP sem sincronização, o Astra reserva apenas 1Mb por canal. Em geral isso não é recomendado.
  • Para a entrega HLS, o uso de RAM depende das configurações do HLS. Por padrão, o Astra prepara 4 segmentos, cada um com até 3 segundos. Para um canal HD com bitrate de 10Mbit por segundo, serão reservados cerca de 15Mb (calculado como 4 * 3 * 10 / 8), além de 2Mb fixos por canal, que não dependem do bitrate do canal. Cada sessão ativa precisa de cerca de 2Mb de RAM.

A frequência da RAM também é bastante importante. Números aproximados para comparação:

  • DDR1 400 MHz - não serve
  • DDR2 600 MHz - serve para configurações pequenas, como receber 10-15 canais e transmiti-los por udp
  • DDR3 1333-1600 MHz - serve
  • DDR4 2133-2800 MHz - serve
  • DDR4 2800-3400 Mhz - cara e desnecessária

Evite usar VLAN, Bonding e adaptadores de rede de uso doméstico.

O tamanho do ring buffer da NIC varia conforme o fabricante e a categoria da NIC. Um buffer maior reduz a chance de perda de pacotes durante atrasos de agendamento.

  • menos de 1024 geralmente não é recomendado
  • entre 2048 e 4096 é considerado bom
  • 8192 é considerado excelente

Os pacotes são transmitidos entre o ring buffer da NIC e o kernel do sistema operacional por meio de filas. Cada fila recebe um núcleo de CPU dedicado. Adaptadores de rede com várias filas conseguem processar pacotes ao mesmo tempo.

Adaptadores de rede com uma única fila são apenas para uso doméstico e não são recomendados para montar um headend de TV digital.

  • Intel
    • 82599ES, 82599EB (2 portas)
    • 82599EN (1 porta)
    • i350AM2
  • Mellanox
    • MT27520
  • SolarFlare
    • SFN7122F
  • D-Link, Realtek: qualquer modelo de uso doméstico não serve para um headend de TV digital.
  • Intel: embora recomendemos placas de rede Intel, não recomendamos estes modelos em específico. Têm apenas uma fila e todos os dados serão processados por um único núcleo de CPU:
    • 82541GI Gigabit Ethernet Controller (rev 05)
    • 82541PI Gigabit Ethernet Controller (rev 05)
    • 82574L Gigabit Network Connection
    • 82540EM Gigabit Ethernet Controller (rev 03)
    • 82545EM
    • 82579LM
    • 82571EB Gigabit Ethernet Controller (rev 06)
    • 82573L Gigabit Ethernet Controller
    • 82573E Gigabit Ethernet Controller (rev 03)
    • 82578DC Gigabit Network Connection (rev 06)
    • 82546EB Gigabit Ethernet Controller (rev 01)
    • 82546GB Gigabit Ethernet Controller (rev 03)
    • I219-V (rev 31)
    • I217
  • Broadcom
    • NetXtreme BCM5701
    • NetXtreme BCM5704
    • NetXtreme BCM5715
    • NetXtreme BCM5719 - aparecem perdas de pacotes periodicamente a 256 mbit/s.
    • NetXtreme BCM5721
    • NetXtreme BCM5722
    • NetXtreme II BCM5708
    • NetXtreme II BCM5709 - embora tenha várias filas, o RSS só consegue funcionar em uma delas, criando uma carga alta em um único núcleo
    • NetXtreme II BCM5716 , suporta a distribuição de interrupções entre os núcleos disponíveis, mas ainda deixa a maior parte dos pacotes no núcleo 0
  • Qualcomm
    • Atheros AR8121/AR8113/AR8114 Gigabit ou Fast Ethernet
    • Atheros AR8131 Gigabit Ethernet
    • Atheros AR8132 Fast Ethernet
    • Atheros AR8151 v2.0 Gigabit Ethernet (rev c0)
  • Outros
    • VMware VMXNET3 - não serve para entrega UDP, muitos pacotes descartados
    • VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 86)
    • 3Com Corporation 3c905C-TX/TX-M [Tornado]
    • RedHat Virtio network device
    • Marvell 88E8057 PCI-E Gigabit Ethernet Controller
    • Marvell 88E8050 PCI-E ASF Gigabit Ethernet Controller
    • QLogic Corp. cLOM8214 1/10GbE Controller (rev 54) - não funciona alterar o número de filas, por padrão 3 rx, 1 rx tx.
    • HP NC326i
    • NVidia Corporation MCP55 Ethernet (rev a3) - apenas uma fila. Por isso, mesmo com pouco tráfego gera uma carga muito alta no núcleo do processador que cuida do tráfego dessa placa de rede, o que deixa o processamento de pacotes inaceitavelmente lento.
  • DigitalDevices: todos os adaptadores DVB da Digital Devices funcionam bem com o Astra.
    • DD Max SX8 - receptor S/S2 de 8 sintonizadores + multiswitch
    • DD Max A8i - receptor DVB-C2/T2 ISDB-T de 8 sintonizadores
  • TBS: os adaptadores DVB da TBS são uma das soluções mais populares para receber televisão digital.
    • TBS6904 - receptor S/S2 de 4 sintonizadores
    • TBS6909 - receptor S/S2 de 8 sintonizadores + multiswitch
    • TBS6205 - receptor DVB-T2/T/C de 4 sintonizadores
  • DVBSky
    • T980CI - receptor DVB-T/T2/C de 1 sintonizador com slot CI.
    • S950CI - receptor DVB-S/S2 de 1 sintonizador com slot CI.
    • T9580 - receptor S2/T2/T/C de 2 sintonizadores com sintonizadores independentes.

Moduladores DVB e interfaces CI recomendados:

  • DigitalDevices
    • DD RESI DVB-C FSM - modulador DVB-C
    • DD Octopus Twin CI - 2 interfaces CI para descriptografar canais
  • TBS
    • TBS6004 DVB-C 4 QAM PCIe Card
    • TBS6104 DVB-T Quad Modulator Card
    • TBS6900 - 2 interfaces CI para descriptografar canais
  • DigitalDevices
    • Digital Devices RESI SDR Modulator - DVB-T/ISDB-T (sem suporte. comportamento imprevisível)
    • Digital Devices RESI SDR Modulator - PAL Modulator (sem suporte)
  • TBS
    • TBS6032 16 QAM DVB-C Modulator - (comportamento imprevisível)
  • SkyStar 1 - placa antiga, não suporta o padrão S2
  • Mystique SaTiX-SX - placa antiga, não suporta o padrão S2
  • Qualquer adaptador USB

A RAM total necessária é calculada como a soma de:

  • Funcionamento geral do software
  • Recepção
  • Entrega
  • Outros softwares no seu servidor
  • Reserva de RAM

Em resumo, para 100 canais:

  • Funcionamento geral do software: 2Gb
  • Recepção: 1Gb
  • Entrega com 4 transponders: 2Gb (256Mb por transponder, mais recursos adicionais para a multiplexação)
  • Outros softwares: 0
  • Reserva de RAM: (2 + 1 + 2) * 0.5 = 2.5Gb

Total (arredondado): 8Gb

Pela natureza do HLS, todos os clientes se conectam diretamente ao servidor. Para balanceamento de carga, recomendamos usar servidores de cache. Leia mais em HLS Caching Proxy with Nginx