Я пытаюсь найти способ установить приоритет процесса ffmpeg. Сервер конвертирует входящие видео в разные разрешения, новые видео должны иметь более высокий приоритет и конвертироваться быстрее, чем существующие процессы.

Он должен работать аналогично алгоритмам SJF (Shortest Job First) или LIFO (Last In First Out).

Есть ли способ сделать это с помощью ffmpeg?

Я порождаю такие процессы как ffmpeg -i "${video_path}" -strict experimental -movflags faststart -vf "${resolution}" "${output_path}" >> "${ffmpeg_log}" 2>&1

Замечания:

Я уже проверил nice решение на основе. Похоже, это не работает. Я породил 2 процесса ffmpeg с приоритетом 10 и -10, и тот, который был создан раньше, был завершен ранее

1 ответ1

2

Вы просто вызываете nice перед вызовом процесса вместе со значением добротности.

Страницы руководства для nice покажут вам, как точно определить, насколько «приятен» процесс, то есть более низкие значения == менее приятный, с более высоким приоритетом.

nice --5 "ffmpeg -i...." запускает ffmpeg с хорошим значением -5, что делает его более приоритетным, чем что-либо с хорошим значением -1.

0 обычно является значением по умолчанию, более высокое значение, чем это, означает, что у вас будет меньше приоритета по умолчанию.

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