Я выполняю обработку звука в Debian Linux и обнаруживаю, что виртуальная машина с одним ядром кодирует аудио в формате OGG или AAC примерно так же быстро с восемью ядрами процессора.

Поскольку у меня нет систематического обучения информатике, я упустил часть, посвященную выделению ресурсов ЦП, и то, что я до сих пор пробовал в Linux, кажется тупиком, поэтому я пощадлю вас.

Короче говоря, есть ли способ запустить кодировщик, например, fdkaac (несвободный) или oggenc, чтобы он использовал столько ЦП, сколько доступно системе?

1 ответ1

2

Чтобы воспользоваться несколькими ядрами ЦП, используемая вами программа кодирования должна быть написана особым образом (с потоками). Это не относится к oggenc . Вы можете попробовать использовать кодировщики, которые поддерживают потоки, такие как mencoder . mencoder есть параметр threads который следует установить равным 8 (по умолчанию он равен 1, что означает отсутствие потоков).

Другая возможность (которая часто является предпочтительной) заключается в одновременном кодировании нескольких файлов с несколькими экземплярами кодера, работающими параллельно. В этом случае не требуется поддержка потоков от самого кодера, поскольку ОС позаботится о планировании процессов кодера для доступных ядер ЦП.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .