我在 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 进程。
还有别的出路吗?
最佳答案
此处概述的解决方案
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();
关于c# - 如何限制 FFMpeg CPU 使用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11357713/