2015-08-05 4 views
4

Я пытаюсь создать простой веб-сервер в Node.js, который будет вызывать API видео Youtube, чтобы получить видео и передать его клиенту (после некоторых проверок, но это не я меня беспокоит в данный момент), поскольку он извлекает его из Youtube.Потоковое видео Youtube через сервер Node.js

Для начала я пытаюсь сделать это в двух частях, загрузить и сохранить на диск, а затем передать его с диска. Хотя я могу передавать файл с диска на клиент, я не мог загружать и сохранять часть работы. Вот код для этого

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?

+1

Я новичок в node.js, поэтому будет полезно, если вы также можете указать причину опроса пустого вопроса, поскольку я пытаюсь развить понимание узла. – vibhu

ответ

6

Я пытался это сделать, и он работает.

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/'); 
+0

Это дает мне ошибку 'Отказано в выполнении сценария, потому что его тип MIME ('text/html') не является исполняемым, и включена строгая проверка типа MIME. Как вы это решили? – mtndesign

+0

Посмотрите, как установить тип содержимого –

Смежные вопросы