SDP 协议介绍
SDP 全称是 Session Description Protocol,翻译过来就是描述会话的协议。主要用于两个会话实体之间的媒体协商。
什么叫会话呢,比如一次网络电话、一次电话会议、一次视频聊天,这些都可以称之为一次会话。
那为什么要去发这个描述文本呢,主要是为了解决参与会话的各成员之间能力不对等的问题,如果参加本次通话的成员都支持高质量的通话,但是我们没有去进行协议,为了兼容性,使用的都是普通质量的通话格式,这样就很浪费资源了。所以 SDP 的作用还是很有必要的。
SDP 协议结构
SDP 描述由许多文本行组成,文本行的格式为 <type> = <value>
,<type>
是一个字母,<value>
是结构化的文本串,其格式依 <type>
而定。
<type> = <value>
SDP 的文本信息包括:
-
会话名称和意图
-
会话持续时间
-
构成会话的媒体
-
有关接收媒体的信息
会话名称和意图描述
v = (协议版本)
o = (所有者 / 创建者和会话标识符)
s = (会话名称)
i = *(会话信息)
u = *(URI 描述)
e = *(Email 地址)
p = *(电话号码)
c = *(连接信息 ― 如果包含在所有媒体中,则不需要该字段)
b = *(带宽信息)
时间描述
t = (会话活动时间)
r = *(0 或多次重复次数)
媒体描述
m = (媒体名称和传输地址)
i = *(媒体标题)
c = *(连接信息 — 如果包含在会话层则该字段可选)
b = *(带宽信息)
k = *(加密密钥)
a = *(0 个或多个会话属性行)
SDP 举例
【学习地址】: