私はiOSでビデオコールを使いたいと思っています。これを行うためにR & Dを実行しました.Webbrcはこのためのオプションです。 私はWebRTCがピアツーピア通信であることを発見しました。デモの例にはサーバーのLINKが含まれています。 私の質問は、WebRTCがピアツーピアの場合、なぜこれがサーバーを使用しているのかということです。WebRTC作業プロセス
答えて
から
ガットヘルプそれは安全ではないだろう、あなたは通常、唯一のアプリケーションでアウトバウンド接続をしたい、着信接続は、サーバーアプリケーションで発見されています。
これはピアツーピアの問題です。なぜなら、両方のピアがアウトバウンドだけを接続すると、どのように接続を確立するのでしょうか?答えは、すべてのピアがシグナリングサーバに接続することです。コールを開始すると、ピアは、別のピアを呼び出すことをサーバーに通知します。サーバは、着信コールがあることを他のピアに知らせることができます。
ここでは終わりはありませんが、まだ接続されていませんが、少なくとも両方のピアは1つ存在することを知っています。両方の同僚は今ICE候補の生成を開始します。 ICEを通じて、ピアは接続を確立するルートを見つけます。時々あなたはピアツーピアに接続することができますが、通常は少なくとも1つのファイアウォールが関わっています(それ以上の時間がほとんどです)。その場合、プロトコルはファイアウォール(基本的には安全な方法でポートを開きます)に「穴を開ける」STUNサーバーを試行します。これはすべてのピアツーピア接続の90%をカバーしますが、まだピアツーピア接続が不可能な場合があります。これは、TURNが来る場所です。これは、ピアが他のピアにデータをリレーするために使用できるリレーサーバーです。接続はこのようにピアツーピアではありません。
WebRTCは、複数のタスクに使用できますが、リアルタイムのピアツーピアのオーディオとビデオ(つまり、マルチメディア)通信が主要な利点です。ウェブブラウザを介して他の人(すなわち、ピア)と通信するために、各人のウェブブラウザは、通信を開始し、互いの位置を知り、セキュリティおよびファイアウォールの保護をバイパスし、リアルタイムですべてのマルチメディア通信を送信することに同意しなければならない。
ブラウザベースのピアツーピア通信に関連する最大の課題の1つは、マルチメディアデータを双方向に送信するために、別のコンピュータのWebブラウザとネットワークソケット接続を見つけて確立する方法を知っていることです。これに関連する困難は最初は明らかに見えないかもしれませんが、私はさらに説明しましょう。
ウェブサイトにアクセスすると、通常、ウェブアドレスを入力するかリンクをクリックしてページを表示します。 Webページ(HTML、CSS、およびJavaScript)を提供することによって応答するサーバーに対して要求が行われます。ここで重要な点は、既知の簡単に見つけやすい(DNS経由で)サーバーにHTTPリクエストを行い、応答(つまり、Webページ)を返すことです。
ここで私の親友とビデオチャットをしたいとしましょう。私のお母さんのコンピュータはウェブサーバーではありません。したがって、問題はどのようにして要求を行い、実際に自分のオーディオとビデオのデータを直接受け取ると同時に、自分のオーディオとビデオのデータを直接彼女に送信しますが、外部のサーバーを経由することはありません。アプリが新しい接続にすべての時間を聞くためにためHERE
- 1. PHPセッション作業プロセス
- 2. iOSでのpod installコマンドの作業プロセス
- 3. webrtcで作業しているときにReplayKitが動作しない
- 4. JMSを使用してメッセージ作業プロセスを注文するベストプラクティス
- 5. カードレイアウトはプロセスの作業後にパネルを変更しません
- 6. execで始まるプロセスのカスタム作業ディレクトリを設定する
- 7. SignalR WebアプリケーションIIS 7.5および8で複数の作業プロセス
- 8. 子プロセスから親シェルの作業ディレクトリを取得する
- 9. は、すべての労働者(子プロセス)作業
- 10. C++作業やプロセス中にサービスを停止する方法
- 11. IISアプリケーションプール内の作業プロセスを取得する
- 12. プロセスの現在のディレクトリは作業ディレクトリと同じですか?
- 13. React jsプロジェクトで作業する開発プロセス
- 14. 作業
- 15. 作業
- 16. 作業
- 17. 作業
- 18. WebRTCビデオストリーミングがhttpで動作しない
- 19. WebRTCをIE/safariで動作させる
- 20. モバイルブラウザで動作するWebRTCビデオ
- 21. WebRTCローカルシグナリングサーバ
- 22. WebRTC:スイッチカメラ
- 23. WebRTCクロムリモートオーディオフォワード
- 24. WebRTCマウスポインタ
- 25. "プロセスとしてメッセージ"作業キューのErlangデザインパターンとは何ですか?
- 26. は起動プロセスに作業ディレクトリを渡すことはできません
- 27. Common Lisp:lispプロセスとは異なる作業ディレクトリでサブプロセスを起動します
- 28. コンテナ "gcr.io/google_containers/pause:0.8.0"のプロセスはどのような作業をしますか?
- 29. 手作業でプロセスを停止する必要があります
- 30. アンドロイドアクティビティクラスコンストラクタ作業