
SDP(セッション記述プロトコル)
プロトコル接続確立時にメディアストリーミングパラメータを記述するための標準フォーマット。
SDPとは?
セッション記述プロトコル(SDP)は、マルチメディア通信セッションを記述するためのフォーマットです。WebRTCでは、P2P接続を確立するためのシグナリングプロセス中に交換されるキーデータペイロードです。
SDPはデバイスが交換する名刺のようなものです。「これが私です。これが私がサポートする音声・ビデオコーデックです。これが私のIPアドレスとポート(候補)です。これが使用する暗号化です。」と相手のピアに伝えます。
オファー/アンサーモデルにおける役割
WebRTCはオファー/アンサーモデルを使用して通話を設定し、SDPは両方に使用される言語です:
- オファー:一方のピアが自身の機能とセッション開始の意図を記述するSDPブロブを生成します。
- アンサー:受信ピアがオファーを受け入れ、自身がサポートできる内容を確認する独自のSDPブロブを応答として生成します。
両側がこれらのSDPを交換して設定すると(setLocalDescriptionとsetRemoteDescriptionを使用)、メディアが流れ始めます。
なぜSDPが重要なのか?
SDPがなければ、2つのデバイスは互いにどう話すかわかりません。一方は「VP8」ビデオを話し、もう一方は「H.264」を期待するかもしれません。SDPは通話が始まる前にこれらの不一致をすべて解決します。