来自input文件数组的fluent-ffmpeg

我想使用fluent-ffmpeg来创build一个目录的最后n个图像或数据库条目的video。

哪个是正确的语法?

这些是我的尝试:

模仿shell命令

 ffmpeg() .addInput('ls *png | tail -n 17') .inputOptions("-pattern_type glob") .output("output.mp4").run() 

但不接受shell命令;

空间分离的path

 ffmpeg() .addInput('a*.png b*.png ') .inputOptions("-pattern_type glob") .output("output.mp4").run() 

但不接受空格分隔的文件列表;

图像patharrays

 ffmpeg() .addInput(array) // ['aa.png', 'a1.png',,,'bbb.png'] .inputOptions("-pattern_type glob") .output("output.mp4").run() 

但它不接受数组。

编辑:

此外,从合并多个video使用节点stream利ffmpeg ,我可以添加多个input使用文件数组

 var ffmpeg= require('fluent-ffmpeg'); var f=ffmpeg() pngarr.forEach(p => f.input(p)) /// pngarr is my array of png paths 

但是运行

 f.output("./output.mp4").run() 

我只获得了包含列表的第一个png的0秒的video。

ffmpeg方法是可链接的,所以你可以像这样使用reducer:

 var chainedInputs = inputlist.reduce((result, inputItem) => result.addInput(inputItem), ffmpeg()); 

你最近的编辑几乎做了同样的事情,但它不断调用.input()在同一水平,而不是在以前的顶部