2017-12-14 25 views
0

私は自分の職場で内部ネットワーク上にシンプルな2ピアビデオチャットを実現しようとしています。 私はクライアント側のコードを書いており、動作します:peerjs APIキーを使用してpeerjに接続すると、接続が正しく確立されます。しかし、問題があります。ビデオストリームは非常に遅い(時には完全に凍結している)。これは、私が接続している無料のpeerjsサーバーが弱すぎるので、私はそれを自分でホストしようとしたいからです。自己ホスト型peerJSサーバが動作しない

私はすべての方法を試して、深く助けを求めましたが、それを乗り越えることはできませんでした。私はhttps://github.com/peers/peerjs-serverで見つけた指示に従って、それをexpressと組み合わせるか、PeerServerを作成してみました。私はシンプルな 'npmインストールピア'と 'peerjs --port 9000'を試してみました。私は英雄で試した。私は見つけることができるコード、ポート、パス、スニペットのすべての組み合わせを試しましたが、方法はありません。また、私は仲間について多くのことを理解して喜んで結果を出しましたが、まだ運がありません。

peerjsサーバを正常に実行した人が、私がどこが間違っているのかを説明できますか?ここで

私のクライアント側は、最小限のコードである(行は私がいない成功を収めて試してみた線ですコメント):

var name = prompt('What's your name?'); 

var peer = new Peer(name, { 
    host: 'https://videodesk-ennesimo.herokuapp.com/', 
    port: 9000, 
    //key: 'peerjs', 
    //path: '/peerjs', 
    //secure: true 
}); 

peer.on('open', function(name){ 
    alert(name + ' connected'); 
}); 

すべてが

var peer = new Peer(name, { key: 'mypeerjsfreeapikey' }); 

しかしそれは、前に述べたように正常に動作しますほとんど凍った。あなたは私のピア・サーバーは、私が作ったhttps://videodesk-ennesimo.herokuapp.com/

他の試行で実行されて確認することができます 例えば、次のとおりです。クライアント側のコードの後に​​変更を加えた

var express = require('express'); 
var app = express(); 
var ExpressPeerServer = require('peer').ExpressPeerServer; 

var options = { 
    debug: true, 
    allow_discovery: true 
} 

var server = require('http').createServer(app); 

app.use('/peerjs', ExpressPeerServer(server, options)); 
server.listen(9000, 'localhost'); 

クライアント側がexpressで作成されたnode.jsアプリであり、Google Chromeが安全でない接続でウェブカメラを許可しないため、自己署名入りのSSL証明書を使用していることを強調する必要があります。

助けが役に立ちます。私は先週からこれに固執しており、もう時間を無駄にすることはできません。また、私はもう何を試していいのかわかりません。 また、peerjsの代替案も有用です。

ありがとうございました!

答えて

1

カルロ、

まずは、スタックオーバーフローを歓迎します。

Peerjsは接続を設定するときにのみ必要で、後続のビデオハングアウトには参加しないため、弱いサーバーであるという主張は正しくありません。

2台のコンピュータを接続する必要がある場合は、接続する方法を理解することが課題です。これはpeerjsが行うもので、可能なIPアドレス/ポートの組み合わせを調べます。通常はクラウド内に存在するため、ファイアウォールの背後にあるマシンは、通常は互いに通信できないように接続できます。

LANで接続している場合は、LAN上でpeerjsサーバを実行すると動作します。しかし、それはあなたの問題ではない、何かがビデオパフォーマンスの問題を引き起こしている、多分何かストリームを何とか抑制している。

両方のマシンを同じルータに配置するか、プライベートネットワークを作成してみてください。これは、peerjが問題ではないことをあなたに納得させるでしょう。それでは、ビデオのパフォーマンスが悪い理由を撃つことができます。

関連する問題