dizquetv/src/ffmpeg-info.js

31 lines
954 B
JavaScript

const exec = require('child_process').exec;
class FFMPEGInfo {
constructor(opts) {
this.ffmpegPath = opts.ffmpegPath
}
async getVersion() {
try {
let s = await new Promise( (resolve, reject) => {
exec( `"${this.ffmpegPath}" -version`, function(error, stdout, stderr){
if (error !== null) {
reject(error);
} else {
resolve(stdout);
}
});
});
var m = s.match( /version\s+([^\s]+)\s+.*Copyright/ )
if (m == null) {
console.error("ffmpeg -version command output not in the expected format: " + s);
return s;
}
return m[1];
} catch (err) {
console.error("Error getting ffmpeg version", err);
return "Error";
}
}
}
module.exports = FFMPEGInfo