如何限制FFMpeg CPU使用率?

时间:2012-07-06 07:28:24

标签: c# performance ffmpeg

我在C#Windows窗体应用程序中调用FFMpeg。由于它使用了如此多的CPU(几乎100%),我的线程都无法继续工作。有没有办法限制CPU使用率?

以下是我的工作代码,

Process ffmpeg = new Process();
ffmpeg.StartInfo.UseShellExecute = false;
ffmpeg.StartInfo.FileName = '..\ffmpeg.exe'
ffmpeg.StartInfo.CreateNoWindow = true;
ffmpeg.Start();

我试图将Process.PriorityClass设置为PriorityClass.BelowNormal,但这完全阻止了ffmpeg进程。

还有其他出路吗?

1 个答案:

答案 0 :(得分:3)

此处概述的解决方案

How can I limit FFMpeg CPU usage?

是将FFMpeg使用的线程数限制为小于计算机上可用内核的数量。

跟进您的评论,您可以提供Argument via StartInfo

Process ffmpeg = new Process();
ffmpeg.StartInfo.UseShellExecute = false;
ffmpeg.StartInfo.FileName = "..\ffmpeg.exe";
ffmpeg.StartInfo.Arguments = "-threads 2";  // <=== Add this line
ffmpeg.StartInfo.CreateNoWindow = true;
ffmpeg.Start();