NodeJS:为模块Fluent-FFMPEG设置FFMPEG二进制文件的路径

时间:2013-11-03 12:28:22

标签: node.js path ffmpeg binaries

我正在构建一个使用模块node-fluent-ffmpeg的应用程序。 https://github.com/schaermu/node-fluent-ffmpeg

我正在尝试将ffmpeg二进制文件与我的应用程序一起打包。 我想这样做(特别是在Windows上),用户不必手动安装FFMPEG。

可悲的是,我尝试过的所有内容都会导致错误。我尝试了以下内容:

  ffmpeg.setFfmpegPath   : Gives an error saying setFfmpegPath is not a method

  proc.setFfmpegPath    : Gives a createproces error.

看来我做错了什么。有人可以指出我的错误。 非常感谢。

2 个答案:

答案 0 :(得分:5)

我解决了! 我不知道我必须在路径中包含二进制文件。所以我做了这样的事情:

  if(os.platform() === 'win32'){
     var ffmpegPath = './bin/ffmpeg/ffmpeg.exe'
 }else{
     var ffmpegPath = './bin/ffmpeg/ffmpeg'
 }

 proc = new ffmpeg({ source: movieUrl, nolog: true, timeout: FFMPEG_TIMEOUT })
 proc.setFfmpegPath(ffmpegPath)
 proc.addOptions(opts)
 proc.writeToStream(response, function(return_code, error){

答案 1 :(得分:1)

在我的情况下,我已经下载了npm i -S ffmpeg-binaries〜,然后我将process.env.FFMPEG_PATH设置为“ ./node_modules/ffmpeg-binaries/bin/ffmpeg.exe”。这对我有用。