我想在我的nodejs应用程序中使用ffmpeg命令。我不想使用任何npm软件包,如流利的-ffmpeg。到目前为止,我已经这样做了:
var ffmpeg = spawn('ffmpeg', ['-i',fileName+'.wav' ,fileName+'.amr','-acodec libopencore_amrnb', '-ab 12200k', '-ac 1', '-ar 8000']);
// input_file.pipe(ffmpeg.stdin);
// ffmpeg.stdout.pipe(output_stream);
ffmpeg.stderr.on('data', function (data) {
console.log(data.toString());
});
ffmpeg.stderr.on('end', function () {
console.log('file has been converted succesfully');
});
ffmpeg.stderr.on('exit', function () {
console.log('child process exited');
});
ffmpeg.stderr.on('close', function() {
console.log('...closing time! bye');
});在输出中,会出现如下错误:
Unrecognized option 'acodec libopencore_amrnb'我已经安装了所需的所有二进制文件。只需要知道我必须在spawn()中传递什么样的命令,比如:
var ffmpeg = spawn('ffmpeg', ['-i',fileName+'.wav' ,fileName+'.amr','-acodec libopencore_amrnb', '-ab 12200k', '-ac 1', '-ar 8000']);我试过终端上的命令,效果很好。我想要的是在spawn()中传递命令(选项)的正确方式。任何帮助都将不胜感激。
发布于 2017-03-02 06:45:06
调用spawn时,传递命令,然后传递一个数组,其中每个标志和每个相关参数都是一个单独的元素。
因此,与'-acodec libopencore_amrnb'不同的是,您需要'-acodec', 'libopencore_amrnb'。它们必须是两个独立的元素。
https://stackoverflow.com/questions/42548167
复制相似问题