Trabalhando em um site de tubos . Estou executando vídeos através do ffmpeg em um servidor linux dedicado para converter para mp4 .
O servidor especifica:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 60
Stepping: 3
CPU MHz: 3491.749
BogoMIPS: 6983.49
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
O problema durante o teste é que, mesmo executando apenas 4-5 de uma vez, o servidor carrega disparados para uma média de cerca de 36. Essa é apenas uma pessoa. Eu imagino que, quando abrir, muitas pessoas farão o upload de uma só vez.
Parece que o ffmpeg tenta usar todos os recursos disponíveis por conversão.
Ouvi dizer que há um cenário de roscas que você pode alterar, mas não consigo encontrá-lo. Eu tenho um servidor de 8 cpu. É usado apenas para conversões, então ouvi dizer que a melhor configuração seria entre 2 e 4. Posso testá-la.
Mas como altero essa configuração? Tudo o que vejo online discute essa configuração, mas não as etapas para alterá-la.
-threads
antes da entrada você está aplicando esta opção a entrada (o decodificador). Um uso generalizado éffmpeg [global options] [input options] -i input [output options] output
.