如何改变ffmpeg进程优先级?

如何改变ffmpeg进程优先级?

我正在尝试找到一种方法来设置 ffmpeg 进程优先级。服务器将传入的视频转换为不同的分辨率,新视频应该比现有进程具有更高的优先级,并且转换速度更快。

它的工作方式应该类似于 SJF(最短作业优先)或 LIFO(后进先出)算法。

有没有办法用 ffmpeg 来做到这一点?

我生成这样的进程 ffmpeg -i "${video_path}" -strict experimental -movflags faststart -vf "${resolution}" "${output_path}" >> "${ffmpeg_log}" 2>&1

笔记:

我已经测试过nice基于解决方案。看起来它不起作用。我生成了 2 个优先级分别为 10 和 -10 的 ffmpeg 进程,较早生成的进程较早完成

答案1

你只需拨打nice在调用该过程之前,以及niceness值。

的手册页将向nice您展示如何准确确定一个进程的“好”程度,即较低的值==不太好,优先级较高。

nice --5 "ffmpeg -i...."将使用 -5 的 nice 值启动 ffmpeg,使其优先级高于使用 -1 的 nice 值。

0 通常是默认值,高于此值意味着您的优先级低于默认优先级。

相关内容