使用FFmpeg优化图像?

use*_*377 5 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
Run Code Online (Sandbox Code Playgroud)

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

llo*_*gan 5

首先,-s 145*108它不是有效的ffmpeg选项; 它应该是-s 145x108.要正确缩放图像,请参阅如何使用ffmpeg从.flv视频创建缩略图图像的答案对于一些可以保持纵横比的例子.你没有指定你的图像类型,所以我假设你输出到jpeg.您可以使用-qscale:v(或-qscale使用旧的ffmpeg语法)更改输出质量.jpeg的范围是1-31的线性标度,其中1是最佳质量,31是最差质量.

JPG

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

jpegtran -optimize -copy none -perfect -v input.jpg > output.jpg
Run Code Online (Sandbox Code Playgroud)

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

PNG

对于PNG,你有多种工具,包括pngcrush,optipng,和advpng其中几个人:

optipng -o7 input.png
Run Code Online (Sandbox Code Playgroud)

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