2016-11-14 7 views
0

ビデオストリーミング用にPeerJSを使用しているアプリケーションがあり、サーバーにインストールされているSSL証明書を介してUbuntu Serverインスタンス上で実行中のノードPeer Serverを使用しています)。iceConnectionStateが切断されています - VP9コード化がnullです - PeerServer

var server = PeerServer({ 
port:55127, 
path:'/', 
debug:true, 
ssl:{ 
    key: fs.readFileSync('/etc/apache2/ssl/mykey.key'), 
    cert: fs.readFileSync('/etc/apache2/ssl/mycert.crt') 
    } 
}); 

これは私がピア接続の作成方法です:

var peer = new Peer('peerHost',{host: 'myhost.com', port: 55127, path: '/'}) 

ポートについては、私はUFWにし、ルータの両方で55127を許可している

は、これは私が私のPeerServerをインスタンス化する方法です。

私のピア接続とビデオストリーミングはLANで完璧に動作していますが、インターネットではうまく動作しませんが、時には3Gモバイルネットワークで動作することもあります。

ピア接続をデバッグしながら、私はこれらの「エラー」つまずい:サーバー側の

PeerJS: VP9 Codec: null  
PeerJS: iceConnectionState is disconnected, closing connections to (...) 

エラーなし、これらすべては、ホストまたはクライアントのいずれかです。

この問題は、this,thisおよびthisに似ています。

誰に何が間違っている可能性があり、どのように修正することができますか?

ありがとうございます。

答えて

1

OK、私は非常に一般的なNAT /ファイアウォールのシナリオで、家庭用ルータでPeerJSサーバがアクセスする必要があったポートをブロックするので、ブローカ接続を禁止しています。ビデオをストリーミングすることができます。

解決策は、NAT設定を無効にするために中間TURNサーバを使用することでした。

var peer = new Peer({host: 'host.com', port: 55127, path: '/', debug:true, config: {'iceServers': [{ url: 'stun:stun.l.google.com:19302' },{ url: 'turn:numb.viagenie.ca', username: '[email protected]', credential: 'password' }]}}); 
関連する問題