9

WebRTC は、とりわけ、ブラウザーからブラウザーへのリアルタイムのメディア通信を目的としていますが、私の場合は、ブラウザーからサーバーへのオーディオ通信に使用されます。

私が収集した情報によると、MediaStream は RTP over UDP を使用して転送されます。

これには、シグナリングに使用されるプロトコルとは別に、少なくとも 2 つの追加ポートが必要になります。これは避けたいことです。

WebRTC 内で、RTP over UDP の代わりに RTP over Websocket を使用して、ポート 80 または 443 のみを使用する可能性はありますか?

4

2 に答える 2

9

いいえ、それは WebRTC ではできません。

WebRTC は、ブラウザーに 3 つの主な機能を提供するために構築されました。

  1. デバイスのカメラとマイクにアクセスする機能。
  2. SRTP セッションを確立してオーディオとビデオを送受信する機能。
  3. ブラウザ間でピアツーピア データ チャネルを確立する機能。

これらの機能は、ここで定義された Javascript API を介して Web アプリケーションからアクセスできます。メディア デバイスにアクセスするには、getUserMedia()を使用できます。これにより、MediaStream を取得して、HTML5 のオーディオ タグとビデオ タグにアタッチできます。SRTP セッションを作成するには、ピア接続を作成し、使用するストリームを管理する必要があります。

ブラウザーにメディア SDP オファーを要求し、任意のプロトコル (websockets など) を使用して相手に送信する必要があります。相手が SDP オファーを受け取ると、それをブラウザーに挿入し、SDP 回答を要求して、返信することができます。両方のブラウザーがオファーを受け取ると、ICE を使用して SRTP ネゴシエーションを開始します。

そのため、RTP パケットにアクセスして Websocket 経由で送信することはできません。

于 2012-11-27T10:18:04.973 に答える
3

実際には、RTCP-mux RFC 5761と何らかの形式の BUNDLE (まだ議論中) をサポートして、すべてのストリームを単一のポートにマージする計画です。ただし、ポートは ICE/STUN によって選択されます。必要に応じて TURN も使用し、最終的には TURN-TCP をサポートします。TURN-TCP はポート 80 で実行できると思います。ただし、品質は低下します。

于 2012-11-30T18:50:24.980 に答える