如何获取node-fluent-ffmpeg上的stderr
现在saveToFilecallback参数已被弃用:
FfmpegCommand.prototype.saveToFile = function(targetfile, callback) { if (callback) { this.options.logger.warn('saveToFile callback is deprecated, use \'end\' and \'error\' events instead');
我已经改变了我的代码:
new ffmpeg({ source: source }) .toFormat('ogg') .saveToFile(path.normalize(targetFile), function(stdout, stderr) { console.log('stdout', stdout); console.log('stderr', stderr); });
对此:
new ffmpeg({ source: source }) .toFormat('ogg') .on('end', function() { console.log('file has been converted succesfully'); }) .on('error', function(err) { console.log('an error happened: ' + err.message); }) .saveToFile(path.normalize(targetFile));
但我不知道如何获得旧代码给我作为param(stderr)的stderr。 我知道我可以从“错误”事件中获取错误消息,但是我想要获得stderr来获取有关哪里出错的更深入的信息。
提前致谢。
您只需将stdout和stderr作为参数移动到.on('error')事件的函数中,如下所示:
.on('error', function(err, stdout, stderr) { console.log(err.message); //this will likely return "code=1" not really useful console.log("stdout:\n" + stdout); console.log("stderr:\n" + stderr); //this will contain more detailed debugging info })