/*********************************************
* MTS 파일을 MP4 파일로 변환하는 프로그램
* 2023-11-22 slowhand
*
* 필요
* 1) node-cmd 라이브러리 설치 : npm i node-cmd
* 2) ffmpeg.exe 파일 필요
*
*********************************************/
const fs = require('fs');
const cmd = require('node-cmd');
const outputDir = './output';
class FileName{
constructor( fileName){
this.fileName = fileName;
}
get ext(){
return this.fileName.substring( this.fileName.lastIndexOf('.') + 1);
}
get outputFileName(){
return this.fileName.substring( 0, this.fileName.lastIndexOf('.')) + ".mp4";
}
}
const files = fs.readdirSync('./');
const outputFiles = fs.readdirSync( outputDir);
files
.map( f => new FileName(f))
// filter MTS file
.filter( o => {
return o.ext.toUpperCase() === 'MTS';
})
// filter MP4 file
.filter( o => {
return outputFiles.filter( of => {
return of === o.outputFileName;
}).length == 0;
})
.forEach( o => {
const line = `ffmpeg -i ${o.fileName} -c:v copy -c:a aac -strict experimental -b:a 128k ${outputDir}/${o.outputFileName}`;
console.log( line);
cmd.runSync( line);
})