fluent-ffmpeg
を使用して、私はノードを使って一緒に編みたいビデオの動的リストを持っています。以下のコードは動作しますが、手作業で書かれています。これをチェーン関数でどのようにループに変換するのですか?ダイナミックデータでチェーンメソッドをループする方法は?
私はeval()
を調べて、それがうまくいかず、結束している約束が私が探しているものであるかどうかは分かりません。
ffmpeg()
.input('video/video_after0.mp4')
.input('video/video_after1.mp4')
.input('video/video_after2.mp4')
.input('video/video_after3.mp4')
.input('video/video_after4.mp4')
.input('video/video_after5.mp4')
.input('video/video_after6.mp4')
.input('video/video_after7.mp4')
.input('video/video_after8.mp4')
.input('video/video_after9.mp4')
.input('video/video_after10.mp4')
.input('video/video_after11.mp4')
.input('video/video_after12.mp4')
.input('video/video_after13.mp4')
.input('video/video_after14.mp4')
.input('video/video_after15.mp4')
.input('video/video_after16.mp4')
.input('video/video_after17.mp4')
.input('video/video_after18.mp4')
.input('video/video_after19.mp4')
.input('video/video_after20.mp4')
.input('video/video_after21.mp4')
.input('video/video_after22.mp4')
.input('video/video_after23.mp4')
.input('video/video_after24.mp4')
.input('video/video_after25.mp4')
.input('video/video_after26.mp4')
.input('video/video_after27.mp4')
.input('video/video_after28.mp4')
.input('video/video_after29.mp4')
.input('video/video_after30.mp4')
.input('video/video_after31.mp4')
.input('video/video_after32.mp4')
.input('video/video_after33.mp4')
.input('video/video_after34.mp4')
.on('error', function(err) {
console.log('An error occurred while merging video files: ' + err.message);
})
.on('end', function() {
logger.info('****** STEP 6 ENDED ******');
callback(null);
})
.mergeToFile('video/video_after.mp4', '/video/temp');
はここeval()
を使用しての私の試みですが、それは動作しません:
var ffmpegInputCommand = "ffmpeg()";
// For Loop to create the ffmpeg().input() command for multiple inputs:
async.forEach(array, function(data, done) {
if (data.id < array.length - 1) {
ffmpegInputCommand += ".input('" + videoAfter + data.id + ".mp4')";
}
done();
}, function (err) {
if (err) throw err;
else {
eval(ffmpegInputCommand).on('error', function(err) {
console.log('An error occurred while merging video files: ' + err.message);
})
.on('end', function() {
logger.info('****** STEP 6 ENDED ******');
callback(null);
})
.mergeToFile('video/video_after.mp4', '/video/temp');
}
});
// End: For-Loop
}
変数は、この上記のコードの前に定義されていました。
ループを使用しようとする試みを示し、それがうまくいかなかった理由/理由を説明してください。今、あなたの質問はあなたにループコードを書くように頼んでいるだけです。 – zero298
私は 'eval'試行で更新しました – ksy
さて、なぜあなたは' eval() 'を使う必要があると思いますか? – zero298