問題タブ [turn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2030 参照

webrtc - Kurento Hello World 候補の受信後にスタック

nginx プロキシの背後にある Kurento メディア サーバーをセットアップしようとしています & Kurento-hello-world の例でテストしています。TURNサーバーが設置され、Kurentoが稼働しています.

hereで説明されているように、ファイル/etc/kurento/modules/kurento/WebRtcEndpoint.conf.iniに TURN URL を追加しました

指定されたポートを開きました:

  • 3478 TCP & UDP
  • 49152-65535UDP

編集 : TURN がリモート HEAD IP をアナウンスしていることに気付きましたが、これは私のネットワーク内にあるようですが、プロジェクトにリンクされておらず、構成で指定されていません。ブラウザー コンソールに表示されるように、未知の外部 IP を持つ候補 2を受け取り、良い外部 IP を持つ候補 3ですが、悪い IP に接続しようとしてブラウザをストックできるかどうか疑問に思います。TURNが特定のアドレスを提案するのを避けることは可能ですか?

netstat -tulpnローカルでは、kurento マシンと TURN マシンの両方に割り当てられた UDP ポートの候補を ( ) 見ることができます。サーバーから来るはずのビデオ入力が表示されないため、接続が確立されません。

ターンサーバー:

ブラウザの Hello-World コンソール:

そしてkurentoログ(ごめんなさい):

ありがとう !

編集:インストールされたパッケージ/バージョン

0 投票する
0 に答える
740 参照

sockets - TURN Server WebRTC ハードウェア / ネットワーク要件

私は現在、目新しさからコール量に基づいてスケーリングするものにTURNサーバーをスケールアウトするというアイデアで(精神的に)挑戦されています。

次に、ハードウェア、ネットワーク、およびアプリケーションの観点からの要件とそれに関連するコストを理解しようとしています。いくつかの具体的な質問が頭に浮かんだので、コミュニティの助けを借りて私の頭脳を包み込みたいと思います.

1) ポートは複数の宛先に同時に再利用されていますか? それがUDPであり、送信元IP /ポート、宛先IP /ポートが一意性のために十分な4タプルである場合、概念的には私には思えます。理論的には可能であることがわかりましたが、これに関するドキュメントを見たことがありません。

2) ポートが再利用されるまでの時間 (ある場合)。TURN サーバーが特定の時間ポート 1234 と 1235 を割り当てた場合、これらのソケットの一方または両方が閉じると、別の要求の結果として TURN サーバーがこれらのポートを再割り当てするまでにどれくらいかかりますか。

3) TURN サーバーのハードウェア要件 (具体的には CPU とメモリ) を同時呼び出し数の関数としてどのように考える必要がありますか?

0 投票する
1 に答える
411 参照

webrtc - すべてのシナリオで WebRTC セッションを成功させるために、TURN サーバーを廃止することはできますか?

すべてのシナリオで WebRTC セッションを成功させるために、TURN サーバーを廃止することはできますか? すべてのシナリオで、2 つのピアが異なる ISP によってサービスを提供され、トラフィックがパブリック インターネット経由で複数のホップを介してルーティングされる可能性があることを意味します。

そうでない場合、IPv6 または SDN はこれに対する解決策を提供しますか?

0 投票する
1 に答える
455 参照

webrtc - TURN を使用すると、状態が「完了」の WebRTC iceGatheringChanged の起動に時間がかかりすぎます (~minute)

シナリオ:

iOS で WebRTC (Google の libjingle) を使用しており、PeerConnection は TURN サーバーを使用してセットアップされており、ピアに送信する前にすべての候補が集まるのを待っています (SIP を使用しています)。問題は、すべての候補が約 1 ~ 3 秒で収集されますが (ログで確認できます)、iceGatheringChanged() コールバックが状態 GatheringComplete で呼び出されないのは、約 1 分後です!

なぜそれが起こるのですか?

iOS 用の Google の AppRTCDemo を使用してトラフィックを分析した後、GatheringComplete が起動するには、クライアントがすでにリモート側から候補を受信して​​いる必要があり、TURN 割り当てをセットアップし、新しいものにアクセス許可を追加する必要があるようです。ピアとデータを交換できるように割り当てます。そうですか?もしそうなら、なぜですか?

よろしくお願いします

0 投票する
2 に答える
9774 参照

google-chrome - WebRTC PeerConnections に TCP を強制する

WebRTC で TCP トンネル (TLS) 接続を強制することはできますか?

ビジネス用の WebRTC アプリケーションを開発していますが、内部ネットワークが原因で受信 UDP ストリームに大きな問題が発生しています。私たちはすでに TURN サーバーを使用しており、多数の ICE 候補を取得しています (リレー UDP のものも)。

問題は、上で述べたように、着信 UDP トラフィックがここでは信頼できる動作をしないことです (スタッター、非常に悪い画質、非常に低い fps)。WebRTC がそれを PeerConnection に使用できるという印象をブラウザに与えるには十分ですが、実際の結果は UDP では非常に悪いものです。

すべての発信および着信 UDP ストリームをブロックすると、(Wireshark で) ターン サーバーを使用して WebRTC が TCP トラフィックにフォールバックすることがわかります。

TCP 接続では、非常に良い結果が得られています (高いフレーム レートと非常に優れた画質)。

TCPを強制するために、すでにいくつかのことを試しました:

  1. m=video 行の UDP 部分を削除しました

    m=ビデオ TLS/RTP/SAVPF 100 116 117 96

  2. 候補リストからすべての UDP 候補を除外しました

いずれの場合も、接続を確立することさえできませんでした。

WebRTC で TCP を強制するためにできることはありますか、それともここでブラウザに完全に依存しているのでしょうか?

0 投票する
1 に答える
1109 参照

javascript - Turn.js の目次リンクの問題

Turn.js を使用して作業しているプロジェクトで、ちょっとした問題が発生しました。コンテンツが見つかるページへのクリック可能なリンクを含む「目次」を作成しようとしています。私がやったことは数回うまくいくように見えますが、その後はただ終了します。

HTML:

JS:

ここに jsfiddle があります: http://jsfiddle.net/ddcarr/fveoyv4o/1/

私のセットアップは基本的に同じです。本の要素の外に常に機能するリセットボタンがあります。これは、ポインターイベントまたは z-indexing に問題があると私は信じています。誰かが私を正しい方向に向けることができれば、私は本当に感謝しています。

ありがとう!