因为最近常常使用到SDP(会话描述协议Session Description Protocol)写了一些SDP的文本,在linux里使用例如"ffplay test.sdp"来播放媒体流,今天想简单谈谈SDP,做了一个小小的总结和分析,希望对大家有帮助。
SDP是描述的是流媒体的初始化参数,IETF对其的描述可以在RFC 2327找到,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:testMPEG1or2VideoStreamer
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 Video session,用户可以自己填写。
第4行t代表会话活动时间。
第5行和第6行a代表会话属性行,可写0个或多个。
第7行m代表代表媒体信息;video代表是视频流;1234代表UDP端口号是1234;RTP/AVP指媒体传输协议使用RTP/AVP;32代表媒体格式使用MPV并且使用90KHz的时钟。关于RTP/AVP可以在RFC 3551 RTP A/V Profile July 2003找到。以下是部分截取:
PT encoding media type clock rate
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代表了带宽信息。
分享到:
相关推荐
### RFC2327 SDP会话描述协议详解 #### 概述 会话描述协议(Session Description Protocol,简称SDP)是多媒体通信领域的重要组成部分,由IETF的MMUSIC工作组开发并标准化于RFC2327文档中。SDP主要用于在互联网上...
SDP会话描述协议广泛应用于VoIP(语音电话)、视频会议、流媒体以及其他需要多媒体交互的应用中。尽管SDP本身不处理媒体数据的实际传输,但它为其他协议如SIP或RTSP提供了必要的会话参数信息,这使得它们可以正确地...
**会话描述协议(Session Description Protocol,SDP)详解** SDP,即Session Description Protocol,是一种用于描述多媒体通信会话的协议。它主要用于在不同网络应用之间交换多媒体数据的元信息,例如视频会议、流...
2. SDP(会话描述协议) SDP是一个文本格式的协议,用于描述多媒体会话的各个方面,如媒体类型(音频、视频等)、编码方式、传输地址和端口、会话持续时间等。它通常用于初始化会话,例如在SIP邀请中携带,或者在...
SDP(Session Description Protocol,会话描述协议)是互联网工程任务组(IETF)定义的一种标准协议,主要用于在多媒体通信中描述会话的属性。RFC4566是SDP的最新版本,它继承并更新了早期的RFC2327。这个协议的关键...
sdp-transform, 用于会话描述协议的简单解析器/编写器 SDP转换 SDP的简单解析器和编写器。 基于 RFC4566 SDP RFC5245 ICE和许多其他语法定义内部语法。为了简单起见,它将强制值为整数的值,并在解析时将其他内容...
SIP消息由头域和消息体组成,其中头域包含事务、路由、认证等信息,消息体则可能包含会话描述协议(如SDP)。用户代理分为服务器和客户端,它们在SIP会话中分别扮演响应消息生成和发起请求的角色。 **第二部分:...
在信息技术领域,会话描述协议(Session Description Protocol,简称SDP)是一种用于描述多媒体通信会话的文本格式协议。SDP主要用于在多个网络应用之间建立、修改和终止多媒体通信,如视频会议、VoIP(Voice over ...
LumiSoftNet是一个专门针对FTP(文件传输协议)、SDP(会话描述协议)和POP3(邮局协议第3版)这三种协议进行封装的库,为开发者提供便捷的方式来实现相关功能。下面将详细解释这三个协议以及LumiSoftNet库如何帮助...
SDP,即会话描述协议(Session Description Protocol),是一种网络通信协议,用于描述多媒体会话的各种参数,例如会话的名称和目的、持续时间、媒体类型、传输协议、媒体格式、地址和端口等。SDP本身不涉及媒体内容...
SDP协议的主要功能包括会话描述和会话控制。它并不负责实际的数据传输,而是定义了一个数据结构,用于承载会话的元数据。这个数据结构通常包含以下几部分: 1. 会话级信息:如会话名称、会话时间、会话信息等。 2. ...
标题中的“网络游戏-会话描述协议能力信息获取方法、系统和网络实体”表明这是一个关于网络游戏技术,特别是涉及会话描述协议(Session Description Protocol, SDP)能力信息获取的主题。会话描述协议是一种在互联网...
这个协议的核心目的是提供一种方法来交换会话描述,使得不同设备之间可以协调和建立多媒体通信。 SDP由一系列行(lines)组成,每行描述一个特定的会话属性。主要包含以下几类信息: 1. **会话信息**:包括会话名...
SDP(Session Description Protocol,会话描述协议)是网络通信中用于描述多媒体会话的关键协议。它主要用于在IP网络上定义、建立、管理和控制多媒体通信会话,如视频会议、实时音频流或在线游戏等。SDP协议由IETF...
SIP与会话描述协议(SDP)配合,用于协商会话的媒体类型、编码格式、传输地址和端口等信息。此外,SIP还可以结合其他扩展如TLS进行安全通信,或者与 Diameter 协议一起用于计费和认证。 - **媒体协商**:SDP包含在...
它不负责控制媒体流的传输,而是为信令协议(如SIP、H.323)提供会话描述信息。 2. **SDP结构**:一个SDP消息由多个行组成,每个行描述不同的会话属性。基本结构包括会话级信息(session level)和媒体级信息...
SDP(Session Description Protocol,会话描述协议)是互联网通信中一个重要的协议标准,主要用于描述多媒体会话中的媒体流信息,使得会话参与者能够根据这些信息参与到会话中。SDP由IETF(Internet Engineering ...