【问题标题】:NodeJS - Looking for faster ways to create FFMPEG thumbnailsNodeJS - 寻找更快的方法来创建 FFMPEG 缩略图
【发布时间】:2016-07-04 04:51:58
【问题描述】:

我在节点中使用 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 滞后这么多?似乎有些不对劲。

【问题讨论】:

  • 你知道 ffmpeg 是做什么来生成那个 PNG 的吗?我认为它必须找到正确的编解码器来解码该 OGV 文件,找到第一个不是黑色的帧,然后将其转换为 PNG。与下载文件不同。
  • 是的,但我仍然相信它可以做得更快。
  • 那么您必须找到能够更快完成此任务的软件。我不知道,但它仍然不会像下载文件那样快。
  • 如何从输出文件夹中获取图片?

标签: javascript node.js ffmpeg fluent-ffmpeg


【解决方案1】:

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

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

【讨论】:

  • 框架“它不适用于输入流。”帮助我解决了 fluent-ffmpeg 的其他问题,我认为有很多地方无法使用流。谢谢!
猜你喜欢
  • 2014-09-07
  • 2011-12-31
  • 2012-10-18
  • 2021-06-05
  • 2011-04-24
  • 2015-01-04
  • 1970-01-01
  • 2012-06-05
  • 2013-12-20
相关资源
最近更新 更多