I have a small node.js web app. I use like this in a get request:
app.get('/api/voice/:gender/:voice/:pitch', function(req, res){
if(req.params.pitch == "1" || req.params.pitch == "1.0") {
const file = "./voices/" + req.params.gender.toLowerCase() + "/" + req.params.voice + ".mp3"
res.download(file);
return
}
const inputFile = "./voices/" + req.params.gender.toLowerCase() + "/" + req.params.voice + ".mp3"
const output_file = "./Audio/Temp/" + req.params.voice + ".mp3"
ffmpeg()
.input(inputFile)
.audioCodec('pcm_s16le') // Set the audio codec to PCM with 16-bit depth
.audioFrequency(44100) // Set the sample rate
.on('error', function(err) {
console.error('Error while converting:', err);
})
.on('end', function() {
// res.download(output_file)
})
.save(output_file);
});
It gives Conversion Failed
error:
[2024-07-11T18:11:22.880Z] Error while converting: Error: ffmpeg exited with code 1: Conversion failed!
at ChildProcess.<anonymous> (d:DevAnimaClientnode_modulesfluent-ffmpeglibprocessor.js:180:22)
at ChildProcess.emit (d:DevAnimaClientlibevents.js:519:28)
at ChildProcess._handle.onexit (d:DevAnimaClientlibinternalchild_process.js:294:12)
at Process.callbackTrampoline (node:internal/async_hooks:130:17) {stack: 'Error: ffmpeg exited with code 1: Conversion …Trampoline (node:internal/async_hooks:130:17)', message: 'ffmpeg exited with code 1: Conversion failed!
'}
When I use same code in a node.js desktop(.exe) app, it successfully runs. When I use it in an express.js app, it fails. Error message is not clear. What is the issue?