С 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
Так что дважды %%в сценариях и один %в интерактивной командной строке. Ошибка в любой ситуации приведет к ошибке.