52

サーバーとクライアント間の通信はWebソケットまたは他のネットワークプロトコルを介して行われますが、WebRTCはオーディオとビデオをデコード/エンコードするAPIであると想定していますか? 私は少し混乱しています。WebRTC には独自の通信プロトコルがありますか?

4

4 に答える 4

84

WebRTC には 2 つの側面があります。

  1. getUserMediaアプリがカメラとマイクのハードウェアにアクセスできるようにするJavaScript API ( )。このアクセスを使用して、ストリームをローカルで表示したり (おそらくエフェクトを適用したり)、ネットワーク経由でストリームを送信したりできます。データをサーバーに送信することも、使用することもできます...
  2. PeerConnection、ブラウザーが直接ピアツーピアソケット接続を確立できるようにする API。他の人のブラウザに直接接続して、データを直接交換できます。これは、ビデオのような高帯域幅のデータで、サーバーが大量のデータの中継を処理する必要がない場合に非常に役立ちます。

デモを見て、WebRTC の両方の部分の動作を確認してください。

つまり、一言で言えば:

  • WebSocket は、ブラウザーと Web サーバー間の全二重通信を可能にします。
  • WebRTCPeerConnectionは、2 つのブラウザ間の全二重通信を可能にします。
于 2012-10-05T03:57:48.830 に答える
14

WebRTCはメディアトランスポートにRTP(UDPベースのプロトコル)を使用しますが、通信をセットアップするために帯域外シグナリングチャネルが必要です。シグナリングチャネルの1つのオプションはWebSocketです。

于 2012-10-05T08:01:21.810 に答える
4

代わりに、基本的に双方向 udp であるhttps://datatracker.ietf.org/doc/html/draft-jesup-rtcweb-data-protocol-00peerConnectionの WebRTC データ チャネル ドラフトを参照することもできます。これは、tcp 接続の「負の」側面がないため、WebSocket の非常に価値のある代替手段となる可能性があります。

于 2012-10-05T14:45:16.320 に答える
2

いいえ、シグナリングは WebRTC によって定義されていません。

以下は、IETF による投稿で、そうでない理由をよく説明しています: http://www.ietf.org/mail-archive/web/rtcweb/current/msg01143.html

これは、ネットワーク情報の交換方法を自由に選択できることを意味します。つまり、WebSocket、HTTP、さらには電子メールを使用することもできますが、それは少し苦労するでしょう:)

于 2013-08-19T07:43:42.487 に答える