如何解决是否可以从外部服务器下载文件MP4并在NodeJS中将其转换为MP3
我目前正在开发 chrome 扩展程序,以便从 JioSaavn.com 下载歌曲。在我的实现中,我使用 Vercel 实例作为代理。这是扩展中 CORS 错误的解决方法。服务器代码如下所示。
const axios = require('axios')
module.exports = (req,res) => {
res.setHeader('Access-Control-Allow-Origin','*')
res.setHeader('Cache-Control','s-maxage=300,stale-while-revalidate')
const URL = req.url // requested url
// get array buffer
if (url === '/') return res.redirect('https://github.com/Graygalaxy/jiosaavn-downloader')
let server_url = `https://snoidcdnems02.cdnsrv.jio.com/c.saavncdn.com/${URL}`
axios.get(src_url,{ responseType: 'arraybuffer' })
.then(r => r.data)
.then(result => res.send(result))
.catch(() => {
res.status(400).send('Cannot access the requested URL')
})
}
}
这会输出一个 MP4 文件(仅包含音频)。例如,如果您将 /983/01100b84f61ca8b3a0432f12c564be8e_96.mp4
作为 URL
参数,它将输出为 MP4。
现在我想将该响应 MP4 转换为 MP3 文件。我尝试了 ffmpeg、fluent-ffmpef 和许多其他实现。他们中的大多数不支持 ArrayBuffer 作为输入(我认为)它没有按预期提供任何输出。或者可能 Vercel 不允许文件浏览器。
请给出解决方案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。