Как изменить приоритет процесса ffmpeg?

Как изменить приоритет процесса ffmpeg?

Я пытаюсь найти способ установить приоритет процесса 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

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

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

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

Обычно значение по умолчанию равно 0, более высокое значение означает, что приоритет будет ниже приоритета по умолчанию.

Связанный контент