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

原创 2013年12月02日 14:43:44

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=(可选)会话信息

相关文章推荐

SDP 会话描述协议概述

1.概述 SDP也是MMUSIC工作组的一个产品,在MBONE内容中用得很多。其目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。SDP基本上在internet上工作。他定义了会...

【VOLTE】SDP Session Description Protocol 会话描述协议

一、  SDP 会话描述协议 SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIM...
  • shij19
  • shij19
  • 2016年10月27日 15:50
  • 515

会话描述协议(SDP)介绍

1、SDP的引入 SDP最初用于Mbone(组播骨干网)上的多媒体会议。Mbone 是Internet 的一部分,它的主要特征是对IP组播技术的使用。IP组播技术比较适合实现多方会话。 基于组播的...

SDP:会话描述协议(Session Description Protocol)

会话描述协议(SDP)为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述。 会话目录用于协助多媒体会议的通告,并为会话参与者传送相关设置信息。SDP 即用于将这种信息传输...

SDP: Session Description Protocol(会话描述协议) (RFC2327)

SDP: Session Description Protocol(会话描述协议) (RFC2327)

RTSP学习之SDP(会话描述协议)

1.SDP协议概述     SDP(SessionDescription Protocol)是一个用来描述多媒体会话的应用层控制协议,为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体...
  • zqj6893
  • zqj6893
  • 2013年09月18日 18:26
  • 2150

SDP会话描述协议中的参数整理

v=  (protocol version)                                           //v=0 o=  (owner/creator and sessi...
  • xu_fu
  • xu_fu
  • 2012年05月12日 18:35
  • 3243

SDP协议 会话描述协议

会话描述协议(SDP)为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述。 会话目录用于协助多媒体会议的通告,并为会话参与者传送相关设置信息。SDP 即用于将这种信息传输到接...
  • ttomqq
  • ttomqq
  • 2016年11月09日 14:50
  • 255

嵌入式数据库 SQLite 浅析

声明:本文转自http://blog.csdn.net/zqixiao_09/article/details/50528181        SQLite是一个非常轻量级自包含(lightweigh...

嵌入式 2.6内核配置与裁剪浅析

Linux内核裁减  (1)安装新内核: i)将新内核copy到/usr/src下, #tar xzvf linux-2.6.38.4.tar.gz -----解压缩. ii) 将名为linux的符...
  • skdkjxy
  • skdkjxy
  • 2014年06月11日 14:33
  • 1150
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 浅析SDP会话描述协议
举报原因:
原因补充:

(最多只允许输入30个字)