我在Nodejs(Express)中构建了一个下载服务。它基本上是从一个URL提取流(视频/音频),并使用FFmpeg库处理提取的流,并通过附加“内容配置”标头将来自FFmpeg的处理后的流传输到客户端。
app.get("/downcc",(req,res) => {
let sourceUrl = "<some-video-or-audio-streamable-link>";
res.setHeader(
"Content-disposition","attachment; filename=download.mp3",);
res.setHeader("Content-Type","audio/mpeg");
ffmpeg({ source: sourceUrl })
.setffmpegPath(ffmpegPath)
.withAudioCodec("libmp3lame")
.audioBitrate(audioFormats[0].audioBitrate)
.toFormat("mp3")
.on("error",err => console.log(err.message))
.pipe(res,{
end: true,});
});
它正常工作。但在生产中,它会消耗大量内存。有时服务器会抛出服务不可用(503代码)并且增加用户数也会降低速度。
有什么方法可以对其进行专业优化吗? 预先感谢。