我作为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}));
}
);
}