NodeJS - 寻找更快的方法来创建FFMPEG缩略图

时间:2016-03-17 17:12:00

标签: javascript node.js ffmpeg fluent-ffmpeg

我在节点中使用fluent-ffmpeg和ffmpeg:

var ffmpeg = require('fluent-ffmpeg');
var src = "http://upload.wikimedia.org/wikipedia/commons/7/79/Big_Buck_Bunny_small.ogv";
ffmpeg(src)
.on('filenames', function(filenames) {
    console.log('Will generate ' + filenames.join(', ') + ' into tempfiles.')
})
.on('end', function() {
    console.log('1 Screenshot successfully taken');

})
.on('error', function(err, stdout, stderr) {
console.log("ffmpeg stdout:\n" + stdout);
console.log("ffmpeg stderr:\n" + stderr);
})
.screenshots({
    filename: randomResult,
    timemarks: [520.929831],
    folder: '/'
});

通常,拍摄一个缩略图需要2-3秒。 对于实时开发,我需要0.5-1秒。我的意思是,这里的问题是什么 - 在我的计算机上下载一个png文件需要2-3秒才能完成,为什么ffmpeg会滞后这么多?事情似乎并不合适。

1 个答案:

答案 0 :(得分:0)

根据fluent-ffmpeg docs"它不适用于输入流。"所以我怀疑整个文件都在尝试加载。

您可以尝试直接使用-ss开关将ffmpeg作为子进程运行,如本post中所述。这会影响你的表现。