diff options
Diffstat (limited to 'index.js')
-rw-r--r-- | index.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/index.js b/index.js new file mode 100644 index 0000000..5527ace --- /dev/null +++ b/index.js @@ -0,0 +1,30 @@ +const fs = require('fs'); +const crypto = require('crypto'); +const path = require('path'); +const child_process = require('child_process'); + +if (!fs.existsSync("./source")) fs.mkdirSync("./source"); +if (fs.existsSync("./output")) fs.rmSync("./output", { recursive: true }); +fs.mkdirSync("./output"); + +for (let file of fs.readdirSync("./source")) { + let id = crypto.createHash('sha1').update(fs.readFileSync("./source/" + file)).digest('hex'); + fs.mkdirSync("./output/" + id); + fs.copyFileSync("./source/" + file, "./output/" + id + "/original" + path.extname(file)); + let original = "./output/" + id + "/original" + path.extname(file) + + child_process.execFileSync("ffmpeg", [ "-i", original, "./output/" + id + "/original.flac" ], { stdio: 'inherit' }) + child_process.execFileSync("ffmpeg", [ "-i", original, "./output/" + id + "/originalpcm.wav" ], { stdio: 'inherit' }) + child_process.execFileSync("ffmpeg", [ "-i", original, "-ab", "460k", "-acodec", "pcm_s32le", "-ar", "48000", "-sample_fmt", "s32", "./output/" + id + "/ultrahighpcm.wav" ], { stdio: 'inherit' }) + child_process.execFileSync("ffmpeg", [ "-i", original, "-ab", "460k", "-ar", "48000", "-sample_fmt", "s32", "./output/" + id + "/ultrahigh.flac" ], { stdio: 'inherit' }) + child_process.execFileSync("ffmpeg", [ "-i", original, "-ab", "320k", "-ar", "48000", "-sample_fmt", "s32p", "./output/" + id + "/veryhigh.mp3" ], { stdio: 'inherit' }) + child_process.execFileSync("ffmpeg", [ "-i", original, "-sample_fmt", "s32p", "-qscale:a", "0", "-ar", "48000", "./output/" + id + "/high.mp3" ], { stdio: 'inherit' }) + child_process.execFileSync("ffmpeg", [ "-i", original, "-sample_fmt", "s16p", "-qscale:a", "3", "-ar", "48000", "./output/" + id + "/medium.mp3" ], { stdio: 'inherit' }) + child_process.execFileSync("ffmpeg", [ "-i", original, "-sample_fmt", "s16p", "-qscale:a", "5", "-ar", "44100", "./output/" + id + "/low.mp3" ], { stdio: 'inherit' }) + child_process.execFileSync("ffmpeg", [ "-i", original, "-sample_fmt", "s16p", "-qscale:a", "7", "-ar", "32000", "./output/" + id + "/verylow.mp3" ], { stdio: 'inherit' }) + child_process.execFileSync("ffmpeg", [ "-i", original, "-sample_fmt", "s16p", "-qscale:a", "8", "-ar", "22050", "./output/" + id + "/ultralow.mp3" ], { stdio: 'inherit' }) + child_process.execFileSync("ffmpeg", [ "-i", original, "-sample_fmt", "s16p", "-qscale:a", "9", "-ac", "1", "-ar", "16000", "./output/" + id + "/superlow.mp3" ], { stdio: 'inherit' }) + fs.writeFileSync("./output/" + id + "/original.txt", file); + + fs.unlinkSync(original); +}
\ No newline at end of file |