FFmpeg限制CPU的使用率,使用“-threads 2”

回复
jvip_chen
帖子: 57
注册时间: 2019年 1月 5日 13:36 星期六

FFmpeg限制CPU的使用率,使用“-threads 2”

帖子 jvip_chen » 2019年 2月 21日 10:25 星期四

使用–threads 2 可以将CPU的使用率控制在50%左右。

FFmpeg -i IN –threads 2 OUT

源文链接:https://stackoverflow.com/questions/113 ... -cpu-usage

The solution as outlined here

How can I limit FFMpeg CPU usage?

is to limit the number of threads that FFMpeg uses to less than the number of available cores on the computer.

Following up on your comment, you can supply an 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();

测试一 -threads
-threads 2 以两个线程进行运行, 加快处理的速度。

转换视频:7752c7dd-36aa-47eb-95a5-2193c9726541.wmv

目标视频:7752c7dd-36aa-47eb-95a5-2193c9726541.mp4

转换命令:FFmpeg -i IN -map 0 -r 25 -threads 4 -y Out

本机测试机环境:win7旗舰版+Intel(R) Core(TM)i5-2400 CPU @3.10GHz 3.10GHz+4.00GB+64bit

序号 开启的线程数 占用CPU数 CPU使用率(%) 转换时间(min) 其他
1 1 1 25 7
2 2 4 40-55 3 2个CPU〉50%,1个=50%,1个CPU=40%
3 4 4 60-70 3 4个CPU比较平均
4 4 4 70-80 2 4个CPU使用平均
5 - 4 80-85 2 4个CPU使用较平均

为了达到更快的转换速度,CPU使用率在可允许范围内,选择-threads 2。

回复