Google PageSpeed建议我的网页上的图片可以进行优化。无损压缩将平均节省11%,但我的图像是使用以下FFmpeg命令创建的:
ffmpeg -i '$video_path' -vcodec mjpeg -vframes 1 -an -f rawvideo -ss 00:00:20 -s 145*108 $thumb_image
有没有办法可以优化这些图像?
答案 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是最差质量。
至于无损优化jpeg,您可以使用jpgcrush
或jpegtran
:
jpegtran -optimize -copy none -perfect -v input.jpg > output.jpg
我注意到Opera没有正确显示用jpgcrush
处理的图像,但这是我前一段时间检查过的。
对于png,您有多种工具,包括pngcrush
,optipng
和advpng
以及其他几种工具:
optipng -o7 input.png
请记住,FFmpeg使用问题更适合超级用户。