织梦CMS - 轻松建站从此开始!

罗索

SDP简析

jackyhwei 发布于 2011-04-07 09:49 点击:次 
SDP也是MMUSIC工作组的一个产品,在MBONE内容中用得很多。其目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。SDP基本上在internet上工作。它定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输
TAG:

1.概述

SDP也是MMUSIC工作组的一个产品,在MBONE内容中用得很多。其目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。SDP基本上在internet上工作。它定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成.典型的会话传送协议包括:SAP(Session Announcement Protocol 会话公告协议),SIP,RTSP,HTTP和使用MIME的E-Mail.(注意:对SAP只能包含一个会话描述,其它会话传输协议的SDP可包含多个会话描述)

SDP包括以下一些方面
1)会话的名称和目的
2)会话存活时间
3)包含在会话中的媒体信息,包括:
    媒体类型(video, audio, etc)
    传输协议(RTP/UDP/IP, H.320, etc)
    媒体格式(H.261 video, MPEG video, etc)
    多播或远端(单播)地址和端口
4)为接收媒体而需的信息(addresses, ports, formats and so on)
5)使用的带宽信息
6)可信赖的接洽信息(Contact information)
7)等......

2.协议

Session description                //格式及举例
v=  (protocol version)             //v=0
o=  (owner/creator and session identifier)
                                                  //o=<用户名><会话id><版本><网络类型><地址类型><地址>
                                                  //o=sname 1234567890 0987654321 I IP4 126.15.64.3
s=  (session name)                 //会话名
i=* (session information)     //会话信息
u=* (URI of description)      //u=http://www.zte.com.cn/staff/sdp.ps
e=* (email address)              //e=zte@isi.edu(general text如:王先生)
                                                 //或e=Mr. Wang<wang@zte.com>
p=* (phone number)            //p=+86-0755-26773000-7110(wang) or p=+1 617 253 6011
c=* (connection information -如已经包含在所有媒体中则该行不需要)
                                                 //c=<网络类型><地址信息><连接地址>
                                                 //多点会议包括TTL
                                                 //连接地址: <base multicast address>/<ttl>/<number of addresses>
                                                 //c=IN IP4 224.2.13.23/127
                                                //c=IN IP4 224.2.1.1/127/3
b=* (bandwidth information)         //b=<修改量(CT Conference Total
                                                              //IAS Application-specific Max)>:<带宽值(kb/s)>
                                                              //b=CT:120

One or more time descriptions (see below)

z=* (time zone adjustments)          //时区调整
k=* (encryption key)                        //k=<方法>:<密钥>或k=<方法>
a=* (zero or more session attribute lines
                                                             //a=<属性>  或a=<属性>:<值>
                                    
Zero or more media descriptions (see below)
各行严格按顺序,其中:
时间描述:
t=  (time the session is active)      //<开始时间><结束时间>,单位秒,十进制NTP
                                                           //t=2873397468 2873404969
r=* (zero or more repeat times)   //<重复时间><活动持续时间以开始时刻为参考的偏移列表>单位秒
                                                           //r=604800 3666 90000 或写成r=7d 1h 0 25h

媒体描述:
m=  (media name and transport address)
                                                          //m=<媒体><端口><传送><格式列表>
                                                          //m=audio 49170 RTP/AVP 0 3
                                                          //协议为RTP,剖面为AVP
                                                          //参考rtp-parameters.txt
i=* (media title)                            //媒体称呼
c=* (connection information – 如已经包含在会话级描述则为可选)
b=* (bandwidth information)     //同c
k=* (encryption key)                     //会话级为摸认值,同c
a=* (zero or more media attribute lines)
                                                         //两种形式:(也同c)(见后说明)
                                                         //a=<attribute>如:
                                                         //a=recvonly
                                                         //a=<attribute>:<value>
注:v,o,s,t,m为必须的,其他项为可选。
    如果SDP语法分析器不能识别某一类型(Type),则整个描述丢失;[?什么意思]
    如果”a=”的某属性值不理解,则予以丢失
    整个协议区分大小写
    “=”两侧不允许有空格
    会话级的描述就是媒体级描述的缺省值
    所有均格式为<type>=<value>
   
An example SDP description is:

v=0
o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
s=SDP Seminar
i=A Seminar on the session description protocol
u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
e=mjh@isi.edu (Mark Handley)
c=IN IP4 224.2.17.12/127
t=2873397496 2873404696
a=recvonly
m=audio 49170 RTP/AVP 0
m=video 51372 RTP/AVP 31
m=application 32416 udp wb
a=orient:portrait
//////////////////////////////////////////////////////////
Protocol Version
      v=<version>
//  v=0
      v:该SDP协议的版本号

Origin
   o=<username> <session id> <version> <network type> <address type><address>
// o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
   o:标示了该会话的全局唯一性
   <username>:用于登陆创建主机的ID,若该主机不支持侧应为"-",该字段内不能包含空格
   <session id>:用于唯一的标示该会话描述,建议采用Network Time Protocol (NTP)的时间戳来保证唯一性
   <version>:该公告的版本号,用于区别同个会话内的多个公告
   <network type>:网络类型 IN(Internet)
   <address type>:地址类型 IP4/IP6
   <address>:该会话创建者的地址

Session Name
   s=<session name>
// s=SDP Seminar
   s:会话名,每个会话仅有一个

Session and Media Information
   i=<session description>
// i=A Seminar on the session description protocol
   i:会话信息,每个会话至多有一个,每个媒体至多有一个,常用于标识一个会话内多个同类型的媒体流。

URI
   u=<URI>
// u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
   u:该会话的URI(Universal Resource Identifier)地址

Email Address and Phone Number
   e=<email address>
   p=<phone number>
   e/p:添加会话负责人的私人信息
// EMAIL地址格式:e=mjh@isi.edu (Mark Handley) or e=Mark Handley <mjh@isi.edu>
// 电话号码的格式:p=+44-171-380-7777 or p=+1 617 253 6011

Connection Data
   c=<network type> <address type> <connection address>
// c=IN IP4 224.2.17.12/127
   c:连接数据,每个会话公告应包含一个连接描述在每个媒体描述中,
   单播的时候通过该IP地址发送,多播时通过TTL与IP地址共同决定那些包将被发送
   <connection address>:IP addr/TTL[/IP NUMS] example:192.168.1.2/127[/2],单播[多播]
   IP address together with TTL define which muticast pakets will be (popy)

本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201104/11174.html]
本文出处:blog.chinaunix.net 作者:popy
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容