2

C# Windows Forms アプリケーション内で 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 プロセスが完全にブロックされました。

他の方法はありますか?

4

1 に答える 1

3

ここで概説されているソリューション

FFMpegのCPU使用率を制限するにはどうすればよいですか?

FFMpegが使用するスレッドの数を、コンピューターで使用可能なコアの数より少なく制限することです。

コメントのフォローアップとして、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();
于 2012-07-06T07:32:20.233 に答える