ffmpeg 录屏CPU太高,怎么降低

我是WIN环境,通过以下运行,CPU占用 30%
ffmpeg -f dshow -i video="screen-capture-recorder" –threads 4 C:\test5.mp4

爱心人帮我修改下,最好在CPU 10%以内

ffmpeg -f dshow -i video="screen-capture-recorder" –threads 1 C:\test5.mp4
这样看看呢


要降低ffmpeg录屏过程中的CPU占用率,你可以尝试以下方法:

1.降低视频帧率:通过添加参数 -r,可以设置视频的帧率,降低帧率可以降低CPU的负载。例如,将帧率设置为 10 帧每秒可以使用以下命令:

ffmpeg -f dshow -i video="screen-capture-recorder" -r 10 -threads 4 C:\test5.mp4

2.调整视频质量:降低视频的分辨率、比特率和编码质量可以减少CPU的使用。你可以尝试调整以下参数:

-分辨率:通过 -s 参数设置分辨率,例如 -s 1280x720。
-比特率:通过 -b:v 参数设置视频比特率,例如 -b:v 1000k。
-编码质量:通过 -crf 参数设置编码质量,取值范围一般为 18-28,值越小质量越高,例如 -crf 23。
以下是一个设置分辨率为 1280x720,比特率为 1000k,编码质量为 23 的示例命令:

ffmpeg -f dshow -i video="screen-capture-recorder" -r 10 -s 1280x720 -b:v 1000k -crf 23 -threads 4 C:\test5.mp4

3.调整线程数:通过 -threads 参数设置线程数,较低的线程数可以降低CPU占用。你可以尝试将线程数设置为较低的数值,例如 2:

ffmpeg -f dshow -i video="screen-capture-recorder" -r 10 -s 1280x720 -b:v 1000k -crf 23 -threads 2 C:\test5.mp4

请注意,根据你的系统和视频内容,可能需要尝试不同的参数组合来达到最佳性能和质量的平衡。

降低cpu的话,那可以考虑使用独立显卡或者cpu的核显来硬编码,或者降低分辨率和帧率,降低视频编码的质量,要看具体的硬件环境