Для создания миниатюры видео с ffmpeg
помощью я использую эту команду:
ffmpeg -itsoffset -4 -i video.mp4 -vframes 1 thumb.jpg
Это дает мне миниатюру с таким же размером видео (который имеет неизвестный размер, например, 960x540). Но мне нужен квадратный ( обрезанный ) эскиз с заданным размером (например, 200x200). Результат не должен быть изменен, но обрезан от центра, и соотношение сторон не должно измениться.
Как это можно сделать?
-itsoffset
вместо-ss
? В последнее время я наблюдаю все более широкое его использование пользователями, создающими изображения с видео.-itsoffset
против-ss
: superuser.com/questions/538031/…Ответы:
Вы можете использовать
crop
видеофильтр:По умолчанию урожай будет отцентрирован.
Используйте
-ss
вместо того,-itsoffset
чтобы выбрать время смещения.Вы можете контролировать качество вывода JPEG с помощью
-qscale:v
. Использование значения 2-5 обычно хорошо; чем ниже значение, тем выше качество.crop
Фильтр может также принимать входную и выходную ширину и высоту , как значения:iw
,ih
,ow
,oh
. Это позволяет более гибко и творческой фильтрации:crop=iw-100:ih-50
.Вы можете проверить с,
ffplay
чтобы получить предварительный просмотр:Исходное изображение (созданное с помощью
testsrc
исходного фильтра:Обрезанное изображение:
источник
Вы можете сначала масштабировать его, а затем обрезать для лучшего вывода;)
источник