問題タブ [coturn]
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.
video-streaming - Ubuntu に WebRTC 用の TURN サーバーをインストールする
ubuntu 12.04 に TURN サーバーをインストールするにはどうすればよいですか? チュートリアルを共有できますか? このチュートリアルを読みました: WebRTC アプリケーション用の独自の STUN/TURN サーバーの実装。しかし、私が理解していないのは、ubuntu 12.04に独自のTURNサーバーをインストールする方法です?
現在、次のコードのようなものを使用して作成していますRTCPeerConnection
そして、別のネットワークで動作するように上記のコードの引数を埋めたいと思います。
ターンサーバーをインストールしたいときは、
使用しapt-get install resiprocate-turn-server
ました。このhttps://www.webrtc-experiment.com/docs/TURN-server-installation-guide.htmlチュートリアルも使用しました。
javascript - coturn (stun/turn) サーバーを使用して Web アプリでピア接続を確立する方法
カムブロードキャスト用の Web アプリを構築しています。私は Django を Web アプリに使用し、coturn を (STUN/TURN) シグナリング サーバーとして使用しています。私の目標は、WebRTC でそれを行うことです。
他のピアが到達できるようにするために、ピアをシグナリング サーバーに接続する方法がわかりません。だから私が知る必要があるのは、「PeerConnection」を確立する方法です。Webアプリケーションでは、必要なものはすべて揃っています(私が思うに):user.id、共有シークレット、シグナリングサーバーのIPとポート、...しかし、HTML JSスクリプトでそれを混合してcoturnサーバーに接続する方法がわかりません。
coturn サーバーのドキュメントを読み、いくつかの例を検索しましたが、この部分の例が見つかりません。
誰かが私に例を見せてもらえますか?
rest - CoTURN: TURN REST API の使い方
coturn をビルドし、正常に実行しました。IP:192.168.1.111。ここで私が直面した問題は、REST API を介して Turn 資格情報を取得することです。 https://datatracker.ietf.org/doc/html/draft-uberti-behave-turn-rest-00パッセージによると、リクエストのフォーマットは
GET /?service=turn&username=mbzrxpgjys
と応答する必要がありますJSON
。今私の質問は:
a) TURN SERVER をモードで実行するように構成してコマンドを実行する方法はREST API
?
TURN SERVER
b)正しく応答できるように正しい形式で http 要求を記述する方法は? 例を教えてください。
webrtc - Coturn Web インターフェイスにアクセスできません
Centos-7-x64 で実行中の coturn インスタンスがあります。ブラウザーからアクセスすると、次のように表示されます。
TURN Server
は管理セッションに https 接続を使用します
ドキュメントを調べたところ、次のことがわかりました。
turnadmin ユーティリティを使用して、admin ユーザーをデータベースに追加します。これらのユーザーを追加すると、ブラウザーから HTTPS 経由で TURN サーバー ポートに接続し、Web インターフェイスで管理タスクを実行できるようになります。
そこで、次のコマンドで管理者ユーザーを作成しました。
そして、実行時にそのユーザーがリストされていることがわかります:
ただし、 https://my.ip.adrss:3478に接続しようとすると、約束した管理者が表示されません。
ここで何が欠けていますか?
webrtc - coturn を介してユーザー メディア ストリームを強制的にトラフィックする方法
私の kurento メディア サーバー (S1) が公開サーバーにセットアップされている場合、ユーザー A は S1 に接続できますが、速度は遅いです。ユーザー A が H1 にすばやく接続するホスト (H1) を 1 つ購入したいです。サーバー H1 は S1 に高速で接続します! ということで、H1 に coturn をメディア リレーとしてインストールすると思います。H1 に coturn をインストールして、ユーザー A のメディア ストリームを H1 の coturn 経由でトラフィックさせることはできますか?
webrtc - WebRTCのTURNサーバーに関する質問
TURN プロトコルを詳細に説明している RFC 5766 を調べました。ただし、オープンソースの TURN サーバーである COTURN をダウンロードしてインストールした後、理解できない基本的な質問がいくつかあります。
TURN サーバーのクライアントとは何ですか? WebRTC 呼び出しを開始する最初のブラウザーですか? TURN サーバーは、特定のピアを対象としたクライアントの割り当てを作成します。WebRTC では、ピア ツー ピア通信について説明します。RFC では、クライアント サーバー ピア通信について説明しています。クライアントとサーバー間のすべての要求/応答は TURN 駆動ですが、ピアと TURN サーバー間の要求/応答は、クライアントとの間で中継される単なる UDP データ メッセージです。
私の 2 番目の質問は、COTURN に特化したものです。「turn_secret」テーブルの「値」フィールドとは何ですか? また、いつどこで使用されますか? iceservers の「credential」プロパティは、HMAC over (credentials、realm、および username) を使用して、turnusers_lt テーブルの hmackey に対応していますか? 「turn_secret」テーブルの「値」フィールドは、この中でどこにあるのでしょうか?
javascript - Coturn/turnserver : エラー 437: 割り当てが一致しません: トランザクション ID が間違っています (WebRTC)
私はこの構造を持っています:
- ウェブサーバー: アパッチ。それはLANにあります。パブリック静的IPを持つPC(Windows 7)上にあります。PC はネットワーク内にあります。
- シグナル サーバー: 同じ PC 上の VM (VirtualBox Centos 6) 内。
- STUN/TURNサーバー:コターン「4.5.0.4」。同じ PC 上の VM (VirtualBox Centos 6) 内。
- クライアント A : ラップトップ、Vista。(外部)インターネットを取得するために、Samsung モバイルと USB テザリングを使用しています。モバイルは「モバイルデータ」を使用してインターネットに接続します。
- クライアント B : ラップトップ、Windows 8 (または Windows 10)。私は、Samsung タブレットと USB テザリングを使用して (外部) インターネットに接続しています。タブレットは「モバイルデータ」を使用してインターネットに接続します。
次のように coturn/turnserver を実行します。
ポート転送を作成しました:
これらの変更を加えた coturn のデフォルト構成ファイルを使用します。
ファイル server.crt と server.key を作成しましたが、https で実行する必要がある Web 管理ツールを使用できるため、それらが正しいことを知っています。
管理者ユーザーを作成しました。以下を使用して、ユーザー「test4」のキーを作成しました。
そして私はそれを使って彼を作成します:
クライアント上:
coturn/turnserver から受け取ったメッセージは次のようなものです。
ここで何が欠けていますか? コンソールに「ICE failed」と表示されるのはなぜですか?
https://tools.ietf.org/id/draft-ietf-behave-turn-08.htmlで読みまし た
それは言う
437 (割り当てミスマッチ): これは、クライアントが、サーバーが既に使用されていると見なすか、最近使用された 5 タプルを選択したことを示します。これが発生する可能性のある 1 つの方法は、介在する NAT が、別の割り当てによって最近使用されたマップされたトランスポート アドレスを割り当てた場合です。クライアントは、別のクライアント トランスポート アドレスを選択し、(別のトランザクション ID を使用して) 割り当て要求を再試行する必要があります。クライアントは、このサーバーをあきらめる前に、3 つの異なるクライアント トランスポート アドレスを試す必要があります。クライアントがサーバーをあきらめると、2 分間、サーバー上で別の割り当てを作成しようとするべきではありません。
これは何を意味するのでしょうか?
アップデート
ここで、クライアント A が Chrome "49.02623.112 m" (Vista 上にあるため更新できません) を使用し、クライアント B "50.0.2661.75 m" を使用すると、coturn サーバーは数秒間正常に動作します。サーバーを次のように実行します (これが役立つかどうかはわかりません。XXX.XX.XXX.XX は、サーバーの VM が存在する PC のパブリック静的 IP であり、192.168.2.190 は内部 IP です):
ログ メッセージは次のとおりです。