5

データチャネルを介してデータを送信するときに WebRTC が生成するオーバーヘッドの量を知りたいです。Websocket には、フレームごとに 2 ~ 14 バイトのオーバーヘッドがあることを知っています。WebRTC はより多くのオーバーヘッドを使用しますか? ウェブ上で有用な情報を見つけることができません。データチャネルは今のところ使用できないことは明らかです。Mediastreams で使用されるオーバーヘッドはどれくらいですか?

ありがとう

4

3 に答える 3

6

アプリケーション層では、DataChannel を SCTP を介した送受信と考えることができます。SCTP ヘッダーの PPID (Payload Protocol Identifier) フィールドで、Datachannel は、UTF-8 データを送信していることを示す値 0x51 と、バイナリ データの値 0x52 を設定します。

はい、あなたは正しいです。RTCDataChannel は、DTLS および UDP 上の SCTP を使用します。セキュリティには DTLS が使用されます。ただし、SCTP には、ほとんどの NAT/ファイアウォール設定を通過する際に問題があります。したがって、それを克服するために、SCTP は UDP を介してトンネリングされます。したがって、データを送信するための全体的なオーバーヘッドは、次のオーバーヘッドになります。

SCTP + DTLS + UDP + IP

そしてそれは:

28 bytes + 20-40 bytes + 8 bytes + 20 - 40 bytes

したがって、オーバーヘッドはおよそ120 バイトになります。WebRTC クライアントが送信できる SCTP パケットの最大サイズは 1280 バイトです。したがって、最大で、SCTP パケットごとに約 1160 バイトのデータを送信できます。

于 2014-04-09T11:38:15.423 に答える
2

WebRTC は RTP を使用してメディアを送信します。RTP は UDP を介して実行されます。

通常の IP および UDP ヘッダーに加えて、2 つの追加ヘッダーがあります。

  1. RTP ヘッダー自体は 12 バイトから始まり、使用される内容に応じて、そこから大きくなる可能性があります。
  2. ペイロード ヘッダー - 使用されている特定のコーデックの各データ パケットに使用されるヘッダー。これはコーデック自体に依存します。

RTP は、より良いメディア品質を達成したいという基本的な理由により、ペイロードのオーバーヘッドをできるだけ少なくするように設計されています。つまり、メディア自体にできるだけ多くのビットを割り当てることを意味します。

于 2012-08-14T07:16:50.760 に答える