如何控制使用 FFmpeg 提取的 webP 图像的质量和大小?

如何控制使用 FFmpeg 提取的 webP 图像的质量和大小?

我正在使用 Windows 10 PC,并按照说明使用 FFmpeg 从视频中提取帧在 SuperUser 上的另一个问答主题中. 如何控制生成的 webP 文件的大小?

我尝试了以下命令:

ffmpeg -i anim.mp4 -vf "select=not(mod(n\,6))" -vsync vfr img1/f%04d.jpg -preset photo
ffmpeg -i anim.mp4 -vf "select=not(mod(n\,6))" -vsync vfr img/f%04d.webp -qscale 20 -lossless false -preset photo -compression_level 6

答案1

FFmpeg 中的选项顺序很重要。

输出文件的选项位于该输出文件之前和所有输入文件之后。

因此,这个命令:

ffmpeg -i anim.mp4 -vf "select=not(mod(n\,6))" -vsync vfr img/f%04d.webp -qscale 20 -lossless false -preset photo -compression_level 6

应该:

ffmpeg -i anim.mp4 -vf "select=not(mod(n\,6))" -vsync vfr -qscale 20 -lossless false -preset photo -compression_level 6 img/f%04d.webp

除了 WebP 编码器的质量有专门的选项外quality,因此:

ffmpeg -i anim.mp4 -vf "select=not(mod(n\,6))" -vsync vfr -quality 50 -lossless false -preset photo img/f%04d.webp

quality范围为 0 至 100,数值越高越好。默认值为 75。

compression_level还将调节控制和编码速度,6 表示最慢/最佳。范围是 0-6。

相关内容