Hankerzao 2024-03-12 10:49 采纳率: 0%
浏览 203

win系统下,ffmpeg录制,怎么降低cpu的占比呀?

想解决ffmpeg,cpu占比高和视频能看清不卡顿的问题,cpu最好能在20,甚至15及以下。请教请教,还有什么方法可以改进的吗?

自己用ffmpeg录制屏幕,运用C++上CreateProcess,形式写入到控制台。在电脑端和平板端(win10),发现了cpu占比不同和录制的画面卡顿效果不同,如,在电脑上cpu占比5左右,但录制的视频有卡顿现象,但在平板上,cpu占比35左右。录制的视频没什么卡顿现象,虽然都挺模糊的。
电脑cpu5已经很低了,但是平板cpu占比还在35左右。具体代码如下,

"ffmpeg   -f gdigrab -i desktop -f dshow -i audio=\"麦克风 (Realtek(R) Audio)\"  -vcodec libx264  -r 10 -ar 22050 -s 1280x720  -crf 27    -preset:v ultrafast -threads 1 -y D:/ffmpeg/out1.mp4"
  • 写回答

4条回答 默认 最新

  • 鑫宝Code 优质创作者: 编程框架技术领域 2024-04-14 08:00
    关注
    此回答引用GPT4,由博主鑫宝Code参考后得出

    您好!根据您的描述和代码,我为您提供一些建议来降低 CPU 占用率和改善录制效果。

    1. 降低帧率 (-r):帧率越高,CPU 占用率越高。您可以尝试降低录制的帧率,例如将其从 10 降低到 5。这将减少每秒钟录制的帧数,从而降低 CPU 占用率。但请注意,降低帧率可能会导致视频流畅度降低。

    2. 降低分辨率 (-s):分辨率越高,CPU 占用率越高。您可以尝试降低录制的分辨率,例如将其从 1280x720 降低到 960x540。这将减少每行和每列的像素数量,从而降低 CPU 占用率。但请注意,降低分辨率可能会导致视频质量降低。

    3. 调整 CRF 值:CRF (Constant Rate Factor) 值决定了输出视频的质量和文件大小。较低的 CRF 值会产生更高质量的视频,但文件大小会更大,CPU 占用率也会更高。您可以尝试将 CRF 值从 27 调整到 30 或更高。这将降低输出视频的质量,但可能会降低 CPU 占用率。

    4. 使用硬件加速:如果您的设备支持硬件加速,您可以尝试使用硬件加速来降低 CPU 占用率。例如,您可以使用 NVENC 或 QuickSync 编码器。这需要修改您的 FFmpeg 命令,将 -vcodec libx264 替换为 -vcodec h264nvenc (NVIDIA) 或 -vcodec h264qsv (Intel)。

    5. 优化音频录制:如果您不需要录制麦克风音频,可以考虑移除音频录制部分。这将降低 CPU 占用率。您可以将命令中的 -i audio="麦克风 (Realtek(R) Audio)" 删除。

    根据上述建议,您可以尝试调整 FFmpeg 命令以降低 CPU 占用率和改善录制效果。请注意,降低帧率、分辨率和视频质量可能会导致录制效果降低。您需要在性能和质量之间找到一个平衡点。希望这些建议对您有所帮助!

    评论

报告相同问题?

问题事件

  • 创建了问题 3月12日