Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3263949
  • 博文数量: 346
  • 博客积分: 10189
  • 博客等级: 上将
  • 技术积分: 3125
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-05 19:46
文章分类

全部博文(346)

文章存档

2013年(35)

2011年(35)

2010年(76)

2009年(48)

2008年(152)

分类: LINUX

2010-03-17 19:55:18

1. sdp

通过AVP后面的值判断当前的payload,

2. scrop-parameter-sets后面接的是':',而不是'=',

3.例子

v=0
o=- 2890844256 2890842807 IN IP4 204.34.34.32
s=I came from a web page
t=0 0
c=IN IP4 0.0.0.0
m=video 8002 RTP/AVP 31
a=control:rtsp://audio.com/movie.aud
m=audio 8004 RTP/AVP 3
a=control:rtsp://video.com/movie.vid

如下解释:

Protocol Version
      v=        
//  v=0
      v:该SDP协议的版本号

Origin
   o=


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

Session Name
   s=

// s=I came from a web page
   s:会话名,每个会话仅有一个

Times, Repeat Times and Time Zones
   t=   
// t=0 0
   t:描述该会议的开始和结束时间,如果该会议在多个不规则的时间间隔内激活,可以使用多行t:描述如果时间间隔为规则的,可以使用"r="重复定义。
   :开始时间,以秒表示的NTP时间,开始结束时间都为0时被认为时永久的会议
   :结束时间,以秒表示的NTP时间,结束时间为0时,该会议直到过了开始时间才开始

Connection Data
   c=


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

Media Announcements
   m=
   每个会话可以包含许多的媒体描述,
   :媒体类型,包括audio/video/application/data/control,
   (音频/视频/应用[如:白板信息]/数据[不要向用户显示]/控制)
   当有新的媒体类型出项时,这些值将被扩展。
   :端口类型,该值的确定取决于对应的"c="域中指定的网络
   和在第三个子项中定义的传输协议,UDP端口只能在1024-65535之间
   RTP端口可以是任意有效的范围,RTCP端口定义为大于对应RTP端口的奇数
   当分级的多个媒体流编码通过单一的地址发送时,我们必须指定多个端口用于传输。
   采用跟"c="域中定义多个IP地址的格式一样,
   m= /
   example:  m=video 49170/2 RTP/AVP 31
   定义了两对的RTP/RTCP端口,49170 19171和49172 49173
   :传输协议类型,该项的值依赖于"c="域中的网络类型IP4 
   如果某个应用采用在UDP上使用单一组合了所,有媒体格式和传输协议的模式传输,简单的方法是将传输协议指定为UDP,采用格式列表区别组合的协议,区别传输类型和媒体格式是必要的。

:格式列表,对音频和视频应用,该值表示媒体的有效负荷类型
   一旦这个格式列表被限定,在这个会话过程中都将使用列表里面的有效负荷类型
   ,但第一个类型将被作为默认值。
   如果媒体流的传输模式不是RTP/UDP,格式将在附加的文件中进行定义。
   如果通过RTP传输,SDP可以提供静态和动态绑定的两种RTP编码有效负荷类型。
   静态绑定类型的类型值提供确定的有效负荷类型,动态绑定必须通过后续的选项
   来进一步的说明。
   例如:m=video 49232 RTP/AVP 0 //定义负荷类型为0的媒体流从49232端口发送
            m=video 49232 RTP/AVP 98
         a=rtpmap:98 L16/16000/2 //采用采样频率为16KHZ 16bit的立体声线性编码        
     rtpmap属性对"m="描述的格式列表的负荷类型进行详细说明,
     通用的rtpmap属性的格式为:
     a=rtpmap: /[/]
      
     :编码名,扩展的用X-开始
     :采样频率
     :对语音编码来说,该参数表示语音声道。
     对视频编码不提供该参数。
     RTP格式列表没提供对每个媒体包包括几个采样点进行说明,
     如果没有默认值,需要通过"ptime"说明。

阅读(2512) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~