JPEG качество
-q:v
См. Параметр -q:v
в Как извлечь изображение JPEG хорошего качества из видеофайла H264 с помощью ffmpeg?
Оптимизация
Убедитесь, что вы используете последнюю версию ffmpeg
, которая по умолчанию включит оптимизацию Хаффмана. Это может привести к небольшому уменьшению размера файла. См. ffmpeg -h encoder=mjpeg
и найдите параметр -huffman
, чтобы увидеть, поддерживает ли ваша версия это.
В качестве альтернативы оптимизация Хаффмана может быть выполнена с помощью jpegtran
:
jpegtran -optimize -copy none -perfect input.jpg > output.jpg
Пиксельный формат
Я предполагаю, что Photoshop "Save for Web" выводит только пиксельный формат yuvj420p, тогда как ffmpeg
выберет пиксельный формат (yuvj420p, yuvj422p или yuvj444p), который наиболее близко соответствует формату входного пикселя. Вы можете форсировать yuvj420p с помощью фильтра формата . Это приведет к уменьшению размера файла, но может также усилить артефакты в определенных областях, но вы можете не заметить разницы.
фильтр на полях
Используйте фильтр кадрирования . По умолчанию центрирование обрезается, поэтому просто используйте -vf crop=300:300
.
Пример команды
ffmpeg -i input -vf "crop=300:300,format=yuvj420p" -q:v 3 -frames:v 1 output.jpg