ffmpeg throw" errorMessage":" spawn ffmpeg ENOENT"

时间:2016-04-25 18:47:49

标签: node.js ffmpeg gulp executable

我作为shell命令运行的ffmpeg函数无效。我认为这是因为' ffmpeg'并不是指任何东西。我的包中有ffmpeg节点模块,但我不知道execFile命令在这里引用它。

我跟随aws-lambda-ffmpeg作为如何调用此特定函数的示例。他们指的是' ffmpeg'作为64位Linux构建,他们在{gulp函数中从John Vansickle's static FFMPEG builds创建。

我想知道如何更换' ffmpeg'有一些东西只会像node_module一样识别它而不必进行整个gulp静态构建过程。根据我的理解,他们这样做的唯一原因是获得我真正不需要的最新版本。

如果我错了并且需要使用gulp进行静态构建,请告诉我。

function ffmpegProcess(description, cb) {
console.log('Starting FFmpeg');

child_process.execFile(
    'ffmpeg',
    [
        '-y',
        '-loglevel', 'warning',
        '-i', 'download',
        '-c:a', 'copy',
        '-vf', scaleFilter,
        '-movflags', '+faststart',
        '-metadata', 'description=' + description,
        'out.' + config.format.video.extension,
        '-vf', 'thumbnail',
        '-vf', scaleFilter,
        '-vframes', '1',
        'out.' + config.format.image.extension
    ],
    {
        cwd: tempDir
    },
    function(err, stdout, stderr) {
        console.log('FFmpeg done.');
        return cb(err, 'FFmpeg finished:' + JSON.stringify({ stdout: stdout, stderr: stderr}));
    }
);
}

0 个答案:

没有答案