0

ich auf einer Anwendung arbeitet, die Videos von NodeJS & MongoDB-Server zeigt.NodeJS, Android - Video-Streaming

Das Problem hierbei ist, dass die Videos nicht Streaming-Mediaplayer auf Android voll Downloads Video und dann zeigt es, und das ist wirklich langsam, wie Sie sich vorstellen können.

Ich bin kein Muttersprachler so Dokumente meist schwer zu lesen für mich zu verstehen.

Welchen Weg sollte ich gehen? RTSP- oder HTTP-Streaming. Irgendwelche Tipps wie kann ich mein Ziel erreichen?

All Ihre Hilfe wird geschätzt, mit freundlichen Grüßen.

+1

@SebastianRoth diese Frage ist eine _very_ schlechte Passform für Programmierer - es würde schnell nach unten abgestimmt und geschlossen dort, siehe http://meta.programmers.stackexchange.com/questions/6483/why-was-my-question -geschlossen-oder-abgelehnt/6490 # 6490 Empfohlene Lektüre: ** [Was geht auf Programmers.SE? Ein Leitfaden für Stack Overflow] (http://meta.programmers.stackexchange.com/q/7182/31260) ** – gnat

+0

@gnat welche Seite empfehlen Sie stattdessen? Das OP fragte nach dem technischen Ansatz/der Architektur für sein Problem. –

+1

@SebastianRoth Nirgends bei Stack Exchange Ich habe Angst. ["Wir haben bereits versucht, diese Fragen zu unterstützen, wir haben ihnen sogar ihre eigene Seite gegeben. Leider hat es nicht geklappt ..."] (http://meta.stackexchange.com/a/200144/165773) – gnat

Antwort

1

Während dedizierter Streaming-Server wahrscheinlich eine bessere Lösung für jede umfangreiche Lösung ist, oder jede Lösung eines gute Leistung erfordern, sollten Sie definitiv in der Lage sein, Videodateien von einer Standard-node.js Anwendung zu streamen.

Der einfachste Weg ist es, die Videos in einem Verzeichnis irgendwo auf dem Server zu platzieren und sie als statische Inhalte dienen.

Die folgende sehr einfache Knoten wird js App Video dienen - Sie es von Ihrem Basis-URL zugreifen, indem Sie das Verzeichnis und Video-Dateinamen gefolgt - z.B. http://[your Server url]/videos/[Name der Videodatei]

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); 
}); 

Ein Grund, warum einfache HTTP-Streaming möglicherweise nicht für Sie arbeiten, wenn der Server nicht Bereichsanforderung unterstützt. Dieser Mechanismus ermöglicht dem Client, nur einen Teil der Datei gleichzeitig anzufordern. Sehen Sie hier für weitere Informationen:

+0

I werde das total überprüfen, danke –

0

Sie haben nicht gegeben Details über Ihre Bewerbung. RTSP oder HLS sind Streaming-Formate mit einigen Vorteilen gegenüber anderen, und Android unterstützt beides und mehr.

Verwandte Themen