关闭

嵌入式 浅析SDP会话描述协议

531人阅读 评论(0) 收藏 举报
分类:

SDP是描述的是流媒体的初始化参数,IETF对其的描述可以在RFC2327找到,SDP是一个纯文本文档,后缀为.sdp,它的基本内容包括: 

# 会话信息: 
   * 会话名和目的; 
   * 会话时间; 
   * 会话使用的带宽; 
   * 会话的用户信息; 
# 媒体信息: 
   * 媒体类型,例如:视频或音频; 
   * 传输协议,例如:RTP/UDP/IP; 
   * 媒体格式,例如:H.263视频或者MPEG视频; 
   * 多播地址和媒体传输端口(IP多播会话); 
   * IP单播会话的联系地址和媒体传输端口 

举一个例子来进行分析(live555的testMPEG1or2VideoStreamer里附加的SDP文本): 

---------------------------------------------------------------------------------------------- 

v=0 

o=- 49451 3 IN IP4 127.0.0.1 

s=Test MPEG Video session 

i=Parameters for the session streamed by"testMPEG1or2VideoStreamer" 

t=0 0 

a=tool:testMPEG1or2VideoStreame

a=type:broadcast 

m=video 1234 RTP/AVP 32 

c=IN IP4 239.255.42.42/127 

---------------------------------------------------------------------------------------------- 

可以发现SDP会话描述由许多文本行组成,它的格式为“类型=值”。其中v,o,s等等代表了是类型。 

第1行v代表了协议版本,例子中为0。 
第2行o代表所有者/创建者和会话标识符。 

第3行s代表会话名称,例子中为Test MPEG Videosession,用户可以自己填写。 
第4行t代表会话活动时间。 

第5行和第6行a代表会话属性行,可写0个或多个。 

第7行m代表代表媒体信息;video代表是视频流;1234代表UDP端口号是1234;RTP/AVP指媒体传输协议使用RTP/AVP;32代表媒体格式使用MPV并且使用90KHz的时钟。关于RTP/AVP可以在RFC3551 RTP A/V Profile July2003找到。以下是部分截取: 

PT encoding media type clockrate 
name (Hz)24 unassigned V 
25 CelB V 90,000 
26 JPEG V 90,000 
27 unassigned V 
28 nv V 90,000 
29 unassigned V 
30 unassigned V 
31 H261 V 90,000 
32 MPV V 90,000(这就是例子中的RTP/AVP类型) 
33 MP2T AV 90,000 
34 H263 V 90,000 
35-71 unassigned ? 
72-76 reserved N/A N/A 
77-95 unassigned ? 
96-127 dynamic ? 
dyn H263-1998 V 90,000 

第8行c代表连接信息。 

当然了还可以加上更多的信息描述,例如b=AS:104857,b代表了带宽信息。

SDP(会话描述协议)是在RFC2327中定义的,用于会话通告、会话邀请和其他形式的多媒体会话启动而描述多媒体会话的过程。SDP语法简单易懂,已经被接受作为基于文本的IP信令协议中呼叫参数协商的编码方法。它定义了会话描述的统一格式,但是不定义多播地址的分配方案和SDP消息的放松,也不支持媒体编码方案的协商,这些功能由下层传送协议完成。SDP主要包含3级信息:

- 会话级描述:包括会话标识和其他会话参数 
- 时间描述:包括开始和停止时间、重复次数以及一个或多个媒体级描述 
- 媒体类型和格式:包括传输协议和端口号,其他媒体参数

SDP传递的是多媒体会话的媒体流信息,这些媒体流是多点到多点信息流,而且只在规定的时间段内存在,这些时间段可能是不连续的,但可以重复发生。SDP描述有两个目的,一是告知某会话的存在,二是给出参与该会话所必须的参数。

SDP描述的信息封装在传送协议中发送,典型的会话传送协议包括:会话公告协议(SAP)、SIP、RTSP、HTTP和使用MIME(Multipuipose因特网Mail Extensions)的E-mail 。当采用SIP传送时,其数据格式为“头部+文本净荷”,头部属于SIP呼叫控制信息,文本净荷就是SDP会话描述部分描述的媒体信息。SDP会话描述完全是文本形式的,采用UTF-8编码的ISO10646字符集。
 
SDP会话描述由许多文本行组成,每个文本行的格式均为“ = ”。其中, 恒为单个字符,区分大小写; 为结构化文本串,其格式取决于,也要区分大小写。会话描述包括两个部分:会话级描述和媒体级描述。会话级描述部分给出适用于整个会话和所有媒体流的描述信息,它以“v=”文本行开始;媒体级描述部分给出只适用于该媒体流的信息,它以“m=”文本行开始,一个会话描述可以包含零个或多个媒体级描述。会话描述的内容为:

V=协议版本 
O=会话拥有者/创建者和会话标识符 
S=会话名称 
I=(可选)会话信息
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:985189次
    • 积分:17689
    • 等级:
    • 排名:第540名
    • 原创:741篇
    • 转载:522篇
    • 译文:0篇
    • 评论:105条
    最新评论