Node.js将Mp3stream式传输到http而不必保存文件

我正在尝试将stream式audio从youtube链接直接传输到http和node.js.

我的代码看起来像这样,我使用Express 4.0。

var express = require('express'); var router = express.Router(); var ytdl = require('ytdl'); var ffmpeg = require('fluent-ffmpeg'); var fs = require('fs'); router.get('/', function(req, res) { var url = 'https://www.youtube.com/watch?v=GgcHlZsOgQo'; var video = ytdl(url) res.set({ "Content-Type": "audio/mpeg" }) new ffmpeg({source: video}) .toFormat('mp3') .writeToStream(res, function(data, err) { if (err) console.log(err) }) }); module.exports = router; 

现在,我可以将video的audiostream式传输到响应中,如果我保存该文件,然后将其传递给响应,但我宁愿尝试找出从下载到ffmpeg以响应的一些方法。

不知道这是可能的。 主要目标是尽可能保持轻量级,而不必从文件中读取。

我已经看到了这个代码,这实际上是我想做的减去保存到文件的一部分。

错误的一部分