videocalling
Illustration of SDP(セッション記述プロトコル) in video calling

SDP(セッション記述プロトコル)

プロトコル

接続確立時にメディアストリーミングパラメータを記述するための標準フォーマット。

SDPとは?

セッション記述プロトコル(SDP)は、マルチメディア通信セッションを記述するためのフォーマットです。WebRTCでは、P2P接続を確立するためのシグナリングプロセス中に交換されるキーデータペイロードです。

SDPはデバイスが交換する名刺のようなものです。「これが私です。これが私がサポートする音声・ビデオコーデックです。これが私のIPアドレスとポート(候補)です。これが使用する暗号化です。」と相手のピアに伝えます。

オファー/アンサーモデルにおける役割

WebRTCはオファー/アンサーモデルを使用して通話を設定し、SDPは両方に使用される言語です:

  • オファー:一方のピアが自身の機能とセッション開始の意図を記述するSDPブロブを生成します。
  • アンサー:受信ピアがオファーを受け入れ、自身がサポートできる内容を確認する独自のSDPブロブを応答として生成します。

両側がこれらのSDPを交換して設定すると(setLocalDescriptionsetRemoteDescriptionを使用)、メディアが流れ始めます。

なぜSDPが重要なのか?

SDPがなければ、2つのデバイスは互いにどう話すかわかりません。一方は「VP8」ビデオを話し、もう一方は「H.264」を期待するかもしれません。SDPは通話が始まる前にこれらの不一致をすべて解決します。