在nodejs中的videoshow中找不到ffmpeg

时间:2017-12-11 18:29:35

标签: node.js ffmpeg

我想从图片文件创建视频。所以我安装了videoshow module。并根据文档配置相同。

var videoOptions = {
  fps: 25,
  loop: 5, // seconds 
  transition: true,
  transitionDuration: 1, // seconds 
  videoBitrate: 1024,
  videoCodec: 'libx264',
  size: '640x?',
  audioBitrate: '128k',
  audioChannels: 2,
  format: 'mp4',
  pixelFormat: 'yuv420p'
}

var images = [
  "D:/PROJECTS/Video/storage/1.jpg",
  "D:/PROJECTS/Video/storage/2.jpg"
];

app.get("/video", function () {
  videoshow(images, videoOptions)
    // .audio('song.mp3')
    .save('video.mp4')
    .on('start', function (command) {
      console.log('ffmpeg process started:', command)
    })
    .on('error', function (err, stdout, stderr) {
      console.error('Error:', err)
      console.error('ffmpeg stderr:', stderr)
    })
    .on('end', function (output) {
      console.error('Video created in:', output)
    })
});

但是当我运行它时显示服务器上的错误

Error: Error: Cannot find ffmpeg
    at D:\PROJECTS\Video\node_modules\videoshow\node_modules\fluent-ffmpeg\lib\processor.js:136:22
    at D:\PROJECTS\Video\node_modules\videoshow\node_modules\fluent-ffmpeg\lib\capabilities.js:123:9
    at D:\PROJECTS\Video\node_modules\videoshow\node_modules\async\dist\async.js:473:16
    at next (D:\PROJECTS\Video\node_modules\videoshow\node_modules\async\dist\async.js:5315:29)
    at D:\PROJECTS\Video\node_modules\videoshow\node_modules\async\dist\async.js:958:16
    at D:\PROJECTS\Video\node_modules\videoshow\node_modules\fluent-ffmpeg\lib\capabilities.js:116:11
    at D:\PROJECTS\Video\node_modules\videoshow\node_modules\fluent-ffmpeg\lib\utils.js:223:16
    at F (D:\PROJECTS\Video\node_modules\videoshow\node_modules\which\which.js:68:16)
    at E (D:\PROJECTS\Video\node_modules\videoshow\node_modules\which\which.js:80:29)
    at D:\PROJECTS\Video\node_modules\videoshow\node_modules\which\which.js:89:16

然后我使用

安装了ffmpeg
npm install ffmpeg --save

但没有奏效。所以我尝试使用

在全球范围内安装
npm install ffmpeg -g

即使在我的窗口机器上安装并在环境变量中设置其bin文件夹的路径也不起作用?

可能是什么问题?

2 个答案:

答案 0 :(得分:1)

npm i videoshow 只需使用此命令

答案 1 :(得分:0)

实际上,我需要在我的系统中安装ffmpeg并将其设置为环境路径变量。

并且您不需要在nodejs中安装。