0

Node12s & MongoDB 서버의 비디오를 표시하는 응용 프로그램을 작성 중입니다.Nodejs, Android - 비디오 스트리밍

동영상이 스트리밍 중이 아니기 때문에 문제가 발생합니다. 안드로이드의 mediaPlayer가 동영상을 완전히 다운로드 한 다음 표시합니다. 예상보다 느립니다.

나는 원어민이 아니기 때문에 나는 대부분 이해하기 어려운 문서를 읽는다.

어떤 경로로 가야합니까? RTSP 또는 HTTP 스트리밍. 모든 팁은 어떻게 내 목표를 달성 할 수 있습니까?

귀하의 모든 도움에 감사드립니다.

+1

@SebastianRoth이 질문은 프로그래머에게별로 좋지 않은 질문입니다. 신속하게 투표로 끝나고 닫을 수 있습니다. http://meta.programmers.stackexchange.com/questions/6483/why-was-my-question -closed-or-down-voted/6490 # 6490 추천 도서 : ** [Programmers.SE는 어떻게됩니까? 스택 오버플로에 대한 지침] (http://meta.programmers.stackexchange.com/q/7182/31260) ** – gnat

+0

@gnat 대신 어떤 사이트를 권하고 싶습니까? OP는 그의 문제에 대한 기술적 접근/아키텍처에 대해 물었다. –

+1

@SebastianRoth 아무데도 스택 교환에서 두려워합니다. [ "우리는 이미 이러한 질문을 뒷받침 해 주었고, 우리는 그들에게 자신의 사이트도 제공했습니다. 슬프게도, 효과가 없었습니다 ..."] (http://meta.stackexchange.com/a/200144/165773) – gnat

답변

1

전용 스트리밍 서버는 대용량 솔루션이나 좋은 성능을 필요로하는 솔루션을위한 더 나은 솔루션 일 수 있지만 표준 node.js 응용 프로그램에서 비디오 파일을 스트리밍 할 수 있어야합니다.

가장 간단한 방법은 비디오를 서버의 어딘가에있는 디렉토리에두고 정적 컨텐츠로 제공하는 것입니다.

다음과 같은 매우 기본적인 노드 인 js 앱이 기본 URL에서 디렉토리 URL과 동영상 파일 이름 (예 : 서버가 범위 요청을 지원하지 않는 경우 http://[your 서버 URL] 비디오 파일/비디오/[이름] 간단한 HTTP 스트리밍 당신을 위해 작동하지 않을 이유

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

I 감사합니다. 감사합니다. –

0

당신은 당신의 응용 프로그램에 대한 세부 정보를 제공하지 않았습니다. RTSP 또는 HLS는 요구 사항에 따라 다른 장점보다 우수한 스트리밍 형식이며 Android는 둘 이상을 지원합니다.