Node.js 来自nodejs spawn的ffmpeg写入元数据
我正试图从Node.js 来自nodejs spawn的ffmpeg写入元数据,node.js,ffmpeg,spawn,Node.js,Ffmpeg,Spawn,我正试图从ffmpeg命令中写下ffmetadata文件 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((r
ffmpeg
命令中写下ffmetadata
文件
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