От чего зависит кол-во стримов на процессоре? (Ядра, потоки, частота)
Это зависит от нагрузки, которую дает кодирование потоков. Одно физическое ядро CPU может кодировать 3 потока разрешением 480p и ниже, или 2 потока 720p. Для кодирования одного потока 1080p требуется два ядра CPU.
Для того, чтобы ускорить кодирование, используется нативный код, поэтому, кроме Java heap, задействуется и системная оперативная память. Поэтому минимальный рекомендованный объем памяти на транскодирующем сервере - 64 Гб, из них 32 Гб на Java heap.
Итоговую конфигурацию сервера можно вычислить, посчитав требуемое максимальное количество одновременно кодируемых потоков. также необходимо заложить запас в 20%.
Из реальной практики: выделенный физический сервер с 80 физическими ядрами CPU (160 HT ядер) мог кодировать до 60 потоков одновременно.
Также мы рекомендуем транскодинг на физических серверах, а не на виртуальных, т.к. в общем случае неизвестно, как именно виртуальные ядра гостевой системы отображаются на физические ядра хост-системы.
Взгляд упал на 2х процессорные материнские платы с AMD EPYC 7763. Будет ли транскодинг нормально работать на таком конфиге? Поможет ли это сильно увеличить кол-во потоков на одну машину?
При соблюдении ограничений, которые мы привели выше, транскодинг на таком сервере должен работать. По характеристикам процессора, можно тестировать до 50 потоков с кодированием в 720p.