我正试着写下一个
ffmetadata
文件来自
ffmpeg
命令
ffmpeg -i INPUT.mp4 -f ffmetadata FFMETADATAFILE
在Node.js中:
var metadata = function (fpath, metadapath) {
var self = this;
var loglevel = self.logger.isDebug() ? 'debug' : 'error';
return new Promise((resolve, reject) => {
//ffmpeg -i INPUT.mp4 -f ffmetadata FFMETADATAFILE
const args = [
'-y',
'-loglevel', loglevel,
'-i', fpath,
'-f', 'ffmetadata',
metadapath
];
const opts = {
cwd: self._options.tempDir
};
if (self.logger.debug) self.logger.debug(args.join(" "))
cp.spawn('ffmpeg', args, opts)
.stderr.on('data', (data) => {
self.logger.debug(`${data}`);
})
.on('message', msg => self.logger.debug(msg))
.on('error', reject)
.on('close', resolve);
});
}
日志记录有任何错误,进程将以
0
metadapath
。如果我使用相同的参数执行命令,它工作正常:
ffmpeg -y -loglevel debug -i /path/input.mp3 -f ffmetadata /path/metdata.txt