2016-03-22 15 views
2

VLC 2.2.1を使用して、サーバという名前のコンピュータでホストされているWebカメラのHTTPストリームを作成します。NodeJS/ExpressJS:HTTPビデオストリームをプロキシする(VLCから)

別のコンピュータでは、クライアント、vlcを開いてネットワークストリームを開く場合http://server:8080ウェブカメラのビデオを完全に見ることができます。

次のようなHTTPストリームを見てのwiresharkのキャプチャ:クライアントコンピュータで

GET/HTTP/1.1 
Host: server:8080 
User-Agent: VLC/2.2.0-rc2 LibVLC/2.2.0-rc2 
Range: bytes=0- 
Connection: close 
Icy-MetaData: 1 

HTTP/1.0 200 OK 
Content-type: application/octet-stream 
Cache-Control: no-cache 

FLV....................... 
[email protected]@~....... 
[email protected]@[email protected] 
Lavf56.1.0..filesize.... 
etc... 

、私はNodeJS V5 &エクスプレスv3の下で実行されているAPIを持っていると私はURLを持っているしたいのですがhttp://client/videoは、http://server:8080へのプロキシとして機能し、ユーザーは1つのエンドポイントしか見ることができません。

「プロキシ」として機能することを主張するnpmモジュールはほとんどありませんでしたが、コンテンツの特別な性質(ライブビデオストリーム)により、私は何をすべきかわかりません。

答えて

0
var express = require('express') 
var fetch = require('node-fetch') 

var app = express() 

app.get('/video', (req, res) => { 
    fetch('http://server:8080') 
    .then(r => r.body) 
    .then(s => { 
     s.pipe(res) 
    }) 
    .catch(e => { 
     res.status(500).send('Error.') 
    }) 
}) 

app.listen(80) 

ポート80を開くためには、rootである必要があり、そうsudo

で実行されます
関連する問題