Чтобы извлечь все кадры без потерь, используйте
ffmpeg -i "$input_file" -f image2 "outdir/%05d.png"
Если вы предпочитаете другой формат вывода, просто измените .png
;по умолчанию ffmpeg
выводит тип файла по расширению.
Опция -f image2
указывает ffmpeg
записывать серию изображений."outdir/%05d.png"
дает шаблон имени файла, в данном случае "<em>5-digit frame number</em>.png
".
Если вы хотите извлекать только n кадров в секунду, добавьте параметр -r <em>n</em>
после "$input_file"
.(Я думаю, n может быть с плавающей запятой.)
В случае, если ваше видео - Motion JPEG (mjpeg), вместо этого используйте:
ffmpeg -i "$input_file" -vcodec copy -f image2 "outdir/%05d.jpg"
Это распаковываеткадры непосредственно из видеопотока, который быстрее и, очевидно, использует меньше дискового пространства.
Для получения дополнительной информации / других параметров см. справочную страницу или документацию (поиск по image2
).