I want to use fluent-ffmpeg
to create a video of last n images of a directory, or database entries.
Which is the correct syntax?
These are my tries:
Mimic shell command
ffmpeg()
.addInput('ls *png | tail -n 17')
.inputOptions("-pattern_type glob")
.output("output.mp4").run()
but it does not accept shell commands;
space - separated paths
ffmpeg()
.addInput('a*.png b*.png ')
.inputOptions("-pattern_type glob")
.output("output.mp4").run()
but it does not accept list of files separated by spaces;
Array of image paths
ffmpeg()
.addInput(array) // ['aa.png', 'a1.png',,,'bbb.png']
.inputOptions("-pattern_type glob")
.output("output.mp4").run()
but it does not accept arrays.
EDIT:
Also, from Merge Multiple Videos using node fluent ffmpeg, I am able to add multiple inputs using an array of files as
var ffmpeg= require('fluent-ffmpeg');
var f=ffmpeg()
pngarr.forEach(p => f.input(p)) /// pngarr is my array of png paths
But running
f.output("./output.mp4").run()
I obtain just a video of 0 seconds containing the first png of the list.
chainedInputs.output("./output.mp4").run()
still returns a 0 seonds video containing the first png of the list – Tankoos