使用FFmpeg优化图像?

时间:2012-10-31 11:33:27

标签: ffmpeg lossless-compression google-pagespeed

Google PageSpeed建议我的网页上的图片可以进行优化。无损压缩将平均节省11%,但我的图像是使用以下FFmpeg命令创建的:

ffmpeg -i '$video_path' -vcodec mjpeg -vframes 1 -an -f rawvideo -ss 00:00:20 -s 145*108 $thumb_image

有没有办法可以优化这些图像?

1 个答案:

答案 0 :(得分:5)

首先-s 145*108不是有效的ffmpeg选项;它应该是-s 145x108。要正确缩放图像,请参阅How to create thumbnail image from .flv video by using ffmpeg?的答案,了解一些可保持纵横比的示例。你没有指定你的图像类型,所以我假设你输出到jpeg。您可以使用-qscale:v更改输出质量(如果使用旧的ffmpeg语法,则可以更改-qscale)。 jpeg的范围是1-31的线性标度,其中1是最佳质量,31是最差质量。

JPG

至于无损优化jpeg,您可以使用jpgcrushjpegtran

jpegtran -optimize -copy none -perfect -v input.jpg > output.jpg

我注意到Opera没有正确显示用jpgcrush处理的图像,但这是我前一段时间检查过的。

PNG

对于png,您有多种工具,包括pngcrushoptipngadvpng以及其他几种工具:

optipng -o7 input.png

请记住,FFmpeg使用问题更适合超级用户。