簡體   English   中英

來自輸入文件數組的fluent-ffmpeg

[英]fluent-ffmpeg from an array of input files

我想使用fluent-ffmpeg創建目錄或數據庫條目的后n個圖像的視頻。

哪個是正確的語法?

這些是我的嘗試:

模擬shell命令

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

但是它不接受shell命令;

空格分隔的路徑

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

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

圖像路徑數組

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

但它不接受數組。

編輯:

另外,從使用節點流利的ffmpeg合並多個視頻 ,我能夠使用文件數組添加多個輸入為

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()

我只得到0秒的視頻,其中包含列表的第一個png。

ffmpeg方法是可鏈接的,因此您可以使用如下的reducer:

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

您的上一次編輯幾乎做了同樣的事情,但是它在同一級別而不是上一個級別繼續調用.input()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM