SDP在4566 中有详细描述。
SDP 全称是 Session Description Protocol,
翻译过来就是描述会话的协议。
主要用于两个会话实体之间的媒体协商。
什么叫会话呢,比如一次网络电话、一次电话会议、一次视频聊天,这些都可以称之为一次会话。
那为什么要去发这个描述文本呢,主要是为了解决参与会话的各成员之间能力不对等的问题,如果参加本次通话的成员都支持高质量的通话,但是我们没有去进行协议,为了兼容性,使用的都是普通质量的通话格式,这样就很浪费资源了。所以 SDP 的作用还是很有必要的。
SDP 协议结构 key = value
key 一般是一个字母,
value 的值由key的啥 对应不同的值
协议中的特殊符号 *
由两大部分组成
会话级别信息
协议版本号(v)(必选)
作用:⼀个会话描述的开始,前⼀个会话结束标志。
会话源(o)(必选)
作用:(会话源或者会话⽣成者,以及会话标识符)
会话名称(s)(必选)
(会话名称)这个字段是个⽂本字符串,可以显示给会话参与者。
s=SDP Seminar
s=No Name
属性(a)(可选)一般都会有值
会话信息(i)(可选)
例子
URI(u)(可选)
u=http://www.example.com/seminars/sdp.pdf
E-mail地址(e)(可选)
电话号码(p)(可选)
连接信息(c)(可选)
带宽信息(b)(可选)
重复信息(r)(可选)
活动持续时间
与开始时间的偏移
时区调整(z)(可选)
加密密钥(k)(可选)
媒体级别信息
媒体描述(m)
媒体信息(i)(可选)
连接信息(c)(会话级进⾏了规定,这⾥可选)
带宽信息(b)(可选)
加密密钥(k)(可选)
属性(a)(可选)
例子
Session Description Protocol
Session Description Protocol Version (v): 0
Owner/Creator, Session Id (o): - 0 0 IN IP4 127.0.0.1
Session Name (s): No Name
Connection Information (c): IN IP4 192.168.245.130
Time Description, active time (t): 0 0
Session Attribute (a): tool:libavformat 60.3.100
Media Description, name and address (m): video 0 RTP/AVP 96
Media Attribute (a): rtpmap:96 H264/90000
Media Attribute (a): fmtp:96 packetization-mode=1; sprop-parameter-sets=Z2QAKKzZQHgGWwFqAgICgAAAAwCAAAAYB4wYyw==,aOvjyyLA; profile-level-id=640028
Media Attribute (a): control:streamid=0
Media Description, name and address (m): audio 0 RTP/AVP 97
Bandwidth Information (b): AS:128
Media Attribute (a): rtpmap:97 MPEG4-GENERIC/44100/2
Media Attribute (a): fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3; config=121056E500
Media Attribute (a): control:streamid=1