我正在尝试确定 M1 Mac 使用 FFmpeg 进行视频转码(特别是调整大小和调整比特率)的效果如何。我可以使用如下命令进行单个转码:
ffmpeg -I in.mp4 -nostdin -c:v h264_videotoolbox -c:a copy -vf scale=1280:720 -b:v 8000k out.mp4
Run Code Online (Sandbox Code Playgroud)
现在,当我运行这个程序时,我可以在活动监视器中看到该进程,但它显示 CPU 使用率很高,但 GPU 使用率为 0%,尽管它肯定使用某种形式的硬件加速(使用 libx264 而不是 h264_videotoolbox 慢得多)。
当我尝试同时运行多个进程时,计时表明几乎没有并行执行的证据:
| 测试 | 定时 |
|---|---|
| 转换单个测试文件 | 6.8秒 |
| 依次转换文件 5 次 | 33.6秒 |
| 并行转换文件 5 次 | 31.5秒 |
由于 M1 芯片内部应该有 7 或 8 个 GPU,我预计会看到相当好的并行性,那么我是否缺少以下选项: