通过 Node.js 服务器流式传输 Youtube 视频

Stream Youtube video via Node.js server

我正在尝试在 Node.js 中创建一个简单的 Web 服务器,它将调用 Youtube 视频 API 来获取视频并将其流式传输到客户端(经过一些检查,但我不是我现在很担心)因为它从 Youtube 检索它。

首先,我尝试分两部分进行,下载并保存到磁盘,然后从磁盘流式传输。虽然我能够将文件从磁盘流式传输到客户端,但我无法下载和保存部分工作。这是代码

var request = require('request');
var http = require('http');
var fs = require('fs');

http.createServer(function(req,res)
{
    request('http://www.youtube.com/embed/XGSy3_Czz8k').pipe(fs.createWriteStream('testvideo.mp4'));
}).listen(80, '127.0.0.1');

        console.log('Server running at http://127.0.0.1:80/');

我认为请求模块可以简单地将输出通过管道传输到文件。有人可以建议我在这里做错了什么吗?

关于如何从 youtube 获取视频并在从 youtube 检索视频的同时向客户端同步流式传输的任何指南?

我试过这样做并且成功了。

var request = require('request');
var http = require('http');
var fs = require('fs');

http.createServer(function(req,res)
{
    var x = request('http://www.youtube.com/embed/XGSy3_Czz8k')
    req.pipe(x)
    x.pipe(res)
}).listen(1337, '127.0.0.1');

        console.log('Server running at http://127.0.0.1:1337/');