SDP
协议介绍
是一种会话描述格式,它不属于传输协议。 SDP是一种基于文本的协议,这样它的扩展性就比较强,具有广泛的使用范围,但是不支持会话内容以及媒体编码的协商。
协议传输信息包括以下内容
- 媒体类型(音频、视频)
- 传送协议
- 媒体格式
- 传输地址和端口
语法结构
SDP会话内容由多个形式的 type = value 的文本行组成
- type:一个大小写敏感的字符,需要进行区分。
- value:是一个结构化的文本串,需要进行大小写的区分。
会话文本行
在SDP中有些文本行的描述是可以省略的,有些行则是必须的,并且每一行的顺序必须按照以下给出,固定的顺序可以提高解码的效率以及增强检错的能力。
一行中多个信息由单个空格符号隔开,并且=两边不能有空格。
例:
v=0
o=alice 2891092738 2891092738 IN IP4 lost.example.com
s=Secret discussion
t=0 0
c=IN IP4 lost.example.com
a=key-mgmt:mikey AQAFgM0XflABAAAAAAAAAAAAAAsAyO...
m=audio 39000 RTP/SAVP 98
a=rtpmap:98 AMR/8000
m=video 42000 RTP/SAVP 31
a=rtpmap:31 H261/90000
- v(必选):SDP协议版本 例:v=0
- o(origion必选):会话发起者和会话标识,(用户名,会话ID,版本,网络类型,地址类型,地址)
- s(必选,且只存在一个):会话的名字 例:s=Call from aaa
- c:连接的信息 例:IN IP4 xxx.qq.com
- t(会话的开始时间和结束时间 必选):会话的开始时间和结束时间、单位为秒
- m(媒体描述,必选):格式为(媒体类型、媒体流发往传输层的端口号、传输协议、媒体格式)