0

私はNodejs & MongoDBサーバーからのビデオを表示するアプリケーションに取り組んでいます。Nodejs、Android - ビデオストリーミング

動画がストリーミングされていないため、AndroidのmediaPlayerが完全に動画をダウンロードして表示しているため、これは実際には想像以上に遅いです。

私はネイティブスピーカーではありませんので、私には分かりにくいドキュメントを読んでいます。

どのパスを使用しますか? RTSPまたはHTTPストリーミング。どのように私の目標を達成することができますヒント?

ご協力いただき誠にありがとうございます。

+1

@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

+0

@gnat代わりにそれをお勧めしますか? OPは、彼の問題に対する技術的アプローチ/アーキテクチャについて尋ねた。 –

+1

@SebastianRothどこでもStack Exchangeで私は恐れています。 ["私たちはすでにこれらの質問をサポートしようとしましたが、自分たちのサイトにもしました。悲しいことに、うまくいきませんでした..."](http://meta.stackexchange.com/a/200144/165773) – gnat

答えて

1

専用のストリーミングサーバーは、大規模なソリューションや優れたパフォーマンスを必要とするソリューションにとってはおそらくより優れたソリューションですが、標準の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); 
}); 

一つの理由です。このメカニズムにより、クライアントは一度にファイルの一部だけを要求できます。詳細はこちらをご覧ください:

+0

それを完全にチェックします、ありがとう –

0

あなたはあなたのアプリケーションの詳細を与えられていません。 RTSPまたはHLSはストリーミング形式であり、要件ごとにいくつかの利点があり、Androidは両方をサポートしています。

関連する問題