С ffmpeg это очень просто, и он может выводить один кадр каждые N секунд без дополнительных сценариев. Для экспорта в виде последовательности изображений просто используйте myimage_%04d.png
или аналогично в качестве вывода. %0xd
Бит преобразуется в нулях целых x
чисел длинного - пример я дал получает выходной сигнал , как
myimage_0000.png
,
myimage_0001.png
,
myimage_0002.png
и т.д..
Вы можете использовать множество форматов неподвижных изображений: png, jpeg, tga и т. Д. (См. ffmpeg -formats
Полный список).
Итак, теперь мы знаем, как экспортировать фильм в виде последовательности изображений, но скажем, мы не хотим экспортировать каждый кадр?
Хитрость заключается в том, чтобы просто изменить частоту кадров на выходе так, как нам нужно, используя -r n
опцию где n
число кадров в секунду. Будет 1 кадр в секунду -r 1
, один кадр каждые четыре секунды -r 0.25
, один кадр каждые десять секунд -r 0.1
и так далее.
Таким образом , чтобы поставить все это вместе, это то , как это будет выглядеть , чтобы сохранить один кадр input.mov
каждые четыре секунды output_0000.png
, и output_0001.png
т.д .:
ffmpeg -i input.mov -r 0.25 output_%04d.png
Обратите внимание , что -r 0.25
опция идет после на -i input.mov
части, потому что это контролировать частоту кадров вывода . Если вы поместите его перед входом, он будет обрабатывать входной файл так, как если бы он имел указанную частоту кадров.
Изменение% к XD однако многие цифры вам нужно, например , если команда будет создавать более 10000 кадров изменить %04d
к %05d
. Это также работает для входных файлов, которые представляют собой последовательность изображений. Узнайте больше здесь .
Пользователи Windows : в командной строке используйте%
пример: ffmpeg -i inputFile.mp4 -r 1 outputFile_%02d.png
В CMD и BAT Scripts используют %%
пример: ffmpeg -i inputFile.mp4 -r 1 outputFile %%02d.png
Так что дважды %%
в сценариях и один %
в интерактивной командной строке. Ошибка в любой ситуации приведет к ошибке.