现在不推荐使用saveToFile回调参数:
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));
但我不知道如何获得旧代码作为参数(stderr)给我的stderr。 我知道我可以从'错误'事件中获取错误消息,但我想让stderr获得有关出错的更深层信息。
提前致谢。
答案 0 :(得分:3)
您只需将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
})