Существует множество руководств и прочего, показывающего, как извлечь несколько скриншотов из видео с помощью ffmpeg. Вы устанавливаете -r и даже можете начать с определенной суммы.
Но мне нужен только 1 снимок экрана, скажем, 01:23:45 дюйма или 1 снимок экрана с размером 86%.
Все это возможно с помощью ffmpegthumbnailer, но это еще одна зависимость, от которой я не хочу зависеть. Я хочу сделать это с помощью ffmpeg.
vframes
это устарело (по крайней мере) в версии 4.2.2. Согласно руководству «[vframes
] - устаревший псевдоним для '-frames:v
', который следует использовать вместо него».FFMpeg может сделать это, перейдя к заданной метке времени и извлекая ровно один кадр в качестве изображения, см., Например:
Поясним варианты:
-ss
Параметр принимает значение в формеHH:MM:SS[.xxx]
или в виде числа в секундах. Если вам нужен процент, вам нужно заранее рассчитать продолжительность видео.источник
ffmpeg -ss 01:23:45 -i video.mp4 -c:v png -frames:v 1 image.jpg
. Обратите внимание, что я также поместил параметр-ss
«искать» перед входным файлом в командной строке, как рекомендуют другие.