1
  1. 私は、テキスト、オーディオ、およびビデオ交換を備えたアプリを作成するための適切なツールが何であるかを理解しようとしています。サーバーサイドツールとして、node.jsを使用したいと思います。
  2. クライアント側のコードを示す例はたくさんありますが、サーバー側はどうでしょうか。WebRTCサーバーはシグナリングの目的でのみ必要であることは知っていますが、「ねえ、ここにいるのはこの男です。彼はあなたと話したいので、ここに彼のIPがあります」と言う方法を見つけるのに役立つ説明的なガイドが見つかりません。または似たようなもの。
  3. 直接接続を確立していることを確認するにはどうすればよいですか?最もパフォーマンスの高い種類の接続を確立するにはどうすればよいですか?NATトラバーサルプロトコルがいくつかあることは知っていますが、それらを明示的に使用/有効化するにはどうすればよいですか?
  4. 多対多のピアを接続し、いくつかのシグナリング/認証サーバーを使用して、分散型Skypeのようなネットワークを作成できますか?または、シグナリング専用のサーバーとして一部のピアを使用しますか?
4

2 に答える 2

4
  1. 上記のすべては、Flash Media Server (またはオープン ソースの場合は Red5) などのソフトウェアで取得できます。Node.JS を使用する場合は、Node サービス (メッセージ キュー、メディア サーバー) を作成するか、既に利用可能なものを使用して、Node.JS にそれらの間のやり取りを処理させる必要があります。したがって、これらすべてが必要になります。

    • Web ソケットを使用するノード Web サービス
    • ノード / その他のメッセージ ブローカー (mq)
    • ノード/その他のメディア サーバー (FMS、Red5)
    • オプション、複数の Node Web サービス (Redis) のキャッシング サービス
  2. Flash を選択できます。RTMFP/RTMP を強力にサポートします。本当に WebRTC が必要な場合は、p2p ディスカバリー用の STUN ノード サービスを作成する必要があります。これは、承認を処理するためにキャッシング サービスに接続されます。

  3. RTMFP、webrtc もオプションです。ほとんどのパフォーマンスは、パフォーマンスをどのように定義するかに依存します: 品質? レイテンシー?どのように偏らせる必要がありますか?低遅延が必要な場合は、p2p を使用してください。記録機能が必要な場合は、rtmp またはノード webrtc リレーのいずれかです。

  4. はい。ただし、そのためにはチームが必要になる可能性が高くなります :)

于 2013-01-17T11:15:05.960 に答える
2

ほとんどすべての答えが見つかりました:)

  1. サーバー側のツールには制限がないため、好きなものを使用できます。Node.js はぴったりです。通信目的で WebSocket または XHR を使用できますが、その他の制限はありません。
  2. 接続を作成する過程で、ブラウザーは必要なすべてのデータを含むいくつかのイベントを生成します。両側に送信してそこで処理するだけです。オファー・アンサー方式もありますので、双方の同意があれば接続可能です。
  3. ブラウザは、デフォルトで可能な限り最適な接続を確立しようとします。それができない場合は、サーバーを介してデータを変換する TURN にフォールバックします。
  4. DataChannels が実装されると、可能になります。
于 2013-01-20T16:58:52.343 に答える