const ffmpegInstaller = require('@ffmpeg-installer/ffmpeg');
const ffmpeg = require('fluent-ffmpeg');
const fs = require('fs');
const util = require('util');
const path = require('path');
ffmpeg.setFfmpegPath(ffmpegInstaller.path);
const [readdir, readFile] = [fs.readdir, fs.readFile].map(util.promisify);
async function readFiles() {
try {
const dir = path.resolve('./raw');
const outputDir = path.resolve('./output');
const files = await readdir(dir, 'utf8');
files.forEach(file => {
const { name } = path.parse(file);
const fileName = path.resolve(dir, file);
const outputFileName = path.resolve(outputDir, `${name}.mp3`);
ffmpeg(fileName)
.format('mp3')
.save(outputFileName);
console.log(`${name} is converted`);
});
} catch (error) {
console.log(error);
}
}
readFiles();