専用のストリーミングサーバーは、大規模なソリューションや優れたパフォーマンスを必要とするソリューションにとってはおそらくより優れたソリューションですが、標準のnode.jsアプリケーションからビデオファイルをストリーミングできることは間違いありません。
最も簡単な方法は、ビデオをサーバーのどこかのディレクトリに置き、スタティックコンテンツとして提供することです。
次の非常に基本的なノードであるjsアプリは動画を配信します。あなたはベースURLからアクセスし、その後にディレクトリと動画ファイル名を付けます。サーバーが範囲要求をサポートしていない場合は、単純なHTTPストリーミングは、あなたのために働いていない可能性がありますなぜhttp://[yourサーバーURL] /動画/ [あなたのビデオファイルの名前]
var express = require('express');
var fs = require('fs');
var morgan = require('morgan');
//Define the app
var app = express();
// create a write stream (in append mode)
var accessLogStream = fs.createWriteStream(__dirname + '/access.log', {flags: 'a'});
// setup the logger
app.use(morgan('combined', {stream: accessLogStream}));
// Constants
var PORT = 3000;
//Use static middleware to serve static content - using absolute paths here (you may want something different)
app.use('/videos', express.static('/videos'));
//Add error handling
app.use(function(err, req, res, next) {
console.log("error!!!");
console.log(err.stack);
});
// Video Server test page
app.get('/', function (req, res) {
console.log("In Get!!!");
res.send('Hello world from Video server\n');
});
//Start web server
var server = app.listen(PORT, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
一つの理由です。このメカニズムにより、クライアントは一度にファイルの一部だけを要求できます。詳細はこちらをご覧ください:
@SebastianRothこの質問は、プログラマのために非常に苦労しています。すぐに投票され、閉鎖されます。http://meta.programmers.stackexchange.com/questions/6483/why-was-my-questionクローズド/ダウン投票/ 6490#6490推奨読書:** [Programmers.SEはどうなりますか?スタックオーバーフローのためのガイド](http://meta.programmers.stackexchange.com/q/7182/31260)** – gnat
@gnat代わりにそれをお勧めしますか? OPは、彼の問題に対する技術的アプローチ/アーキテクチャについて尋ねた。 –
@SebastianRothどこでもStack Exchangeで私は恐れています。 ["私たちはすでにこれらの質問をサポートしようとしましたが、自分たちのサイトにもしました。悲しいことに、うまくいきませんでした..."](http://meta.stackexchange.com/a/200144/165773) – gnat