是否可以从外部服务器下载文件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 文件。我尝试了 ffmpegfluent-ffmpef 和许多其他实现。他们中的大多数不支持 ArrayBuffer 作为输入(我认为)它没有按预期提供任何输出。或者可能 Vercel 不允许文件浏览器

请给出解决方案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)