我有高质量的图像8MP ,并且需要尽我所能,而不会失去太多质量。Photoshop和类似的"保存Web"功能非常有效。
如何使用FFMPEG完成此操作?图像是JPG
实际上,我需要从中心裁剪的图像。
so
原始图像:1200x800,质量:杰出 ->裁剪图像:原始图像中心的300x300,质量:出色---->保存用于网络裁剪的图像,质量:保存Web
我需要运行什么ffmpeg命令?
jpeg质量
-q:v
请参阅如何从H264视频文件中提取ffmpeg的-q:v
选项?
优化
确保您使用的是最近的ffmpeg
,默认情况下将启用Huffman优化。这可能导致较小的文件尺寸减小。请参阅ffmpeg -h encoder=mjpeg
并查找-huffman
选项,以查看您的版本是否支持此。
另外,霍夫曼优化可以由jpegtran
执行:
jpegtran -optimize -copy none -perfect input.jpg > output.jpg
像素格式
我猜想Photoshop的"保存Web"仅输出YUVJ420P像素格式,而ffmpeg
将选择像素格式(YUVJ420P,YUVJ422P或YUVJ4444P(,这些格式与输入Pixel格式匹配。您可以使用格式过滤器强制YUVJ420P。这将导致较小的文件大小,但也可能会突出某些区域的工件,但您可能不会注意到差异。
作物过滤器
使用农作物过滤器。默认值是将作物集中,因此只需使用-vf crop=300:300
。
示例命令
ffmpeg -i input -vf "crop=300:300,format=yuvj420p" -q:v 3 -frames:v 1 output.jpg
您需要使用-q:v
标志指定质量设置,该标志的数值参数从1(最大,最大(到31(最差,最小(。
ffmpeg -i <input> -q:v 8 <output.jpg>
由您决定哪种质量设置"足够好"one_answers"足够小"。
有关附录问题,请参见http://ffmpeg.org/ffmpeg-filters.html#crop