ffmpeg 新发布的 7.0 版本大大改进了命令行转码的多线程支持。(https://ffmpeg.org/download.html#release_7.0) 以前使用 ffmpeg 进行转码可能会使用 1 或 2 个核心,并且 CPU 占用率最高为 12%-25%。现在它只使用 60%-70% 的 CPU,而且完成任务的速度要快得多。
我注意到使用 -f rawvideo 开关时多线程不起作用,或者也许我需要更改命令行字符串来启用它?
例如: *
ffmpeg -i file.mp4 -f rawvideo -s 1920x1080 -pix_fmt bgr24 out.dat
仅使用 12% 的 CPU 但是...
ffmpeg -i file.mp4 out.mp4
使用了 60% 的 CPU。
有没有办法让 -f rawvideo 命令使用多线程?
(* 我意识到上面的示例 rawvideo 命令没有做任何有用的事情,我将其包括在内只是为了轻松演示 CPU 使用率的差异)
编辑:我在第二个命令中打错了。应该是 out.mp4 而不是 out.dat。现在已更正。感谢 @rotem 发现这个问题。