因为最近常常使用到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代表了带宽信息。
分享到:
相关推荐
对会话描述协议的讲解。主要是数据参数讲解
SDP(会话描述协议).pdf
sdp-transform, 用于会话描述协议的简单解析器/编写器 SDP转换 SDP的简单解析器和编写器。 基于 RFC4566 SDP RFC5245 ICE和许多其他语法定义内部语法。为了简单起见,它将强制值为整数的值,并在解析时将其他内容...
SDP也是MMUSIC工作组的一...典型的会话传送协议包括:SAP(Session Announcement Protocol 会话公告协议),SIP,RTSP,HTTP,和使用MIME的E-Mail.(注意:对SAP只能包含一个会话描述,其它会话传诵协议的SDP可包含多个绘画描述)
SDP协议介绍 SDP全称是Session Description Protocol
SDP会话描述协议详解。
RFC4566 SDP:会话描述协议 中文版,这个规范废除了RFC2327和RFC3266,是最新的标准文档 RFC4566 SDP:会话描述协议 中文版,这个规范废除了RFC2327和RFC3266,是最新的标准文档
SDP也是MMUSIC工作组的一...典型的会话传送协议包括:SAP(Session Announcement Protocol 会话公告协议),SIP,RTSP,HTTP,和使用MIME的E-Mail.(注意:对SAP只能包含一个会话描述,其它会话传诵协议的SDP可包含多个绘画描述)
SDP协议英文版,本文档定义了会话描述协议SDP。 SDP是旨在描述多媒体会话的目的 会话公告,会话邀请和其他形式多媒体会话启动。
该库包含一组用于处理会话描述 (RFC4566) 的类。 它还包含一个 SAP 客户端,用于发现通过会话通告协议 (RFC2974) 通告的会话。 会话描述 SessionDescription 类允许读/写/创建 SessionDescriptions。 一旦 Session...
SDP协议 RFC4566 英文 会话描述协议英文文档
他定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成.典型的会话传送协议包括:SAP(Session Announcement Protocol 会话公告协议),SIP,...
本部分规定了ISDN用户部分协议 和会话初始协议(SIP)以及SIP 协议相关的会话描述协议(SDP)之间的信令互通技术要求。
Jive SDP解析器一个简单的Java SDP解析器,在Java 8之外没有任何依赖关系。用法SessionDescription sdp = SessionDescription.parse(input);建造摇动
SDP转换 SDP的简单解析器和编写器。 根据 , 等定义内部语法。 为简单起见,它将强制将整数值转换为整数,并在解析时将其他所有内容保留为字符串。 该模块应易于扩展或构建,并且结构严谨。 安装 $ npm install ...
SDP会话描述协议关于媒体行具体RFC文档规范,广泛使用于RTSP、 RTP、 SIP、 VOIP、 WebRTC 、安防视频监控,视讯视频会议,流媒体实时传输
SDP(会话描述协议) RFC4566中文版最新版讲述SDP各字段的意义及交互过程
rfc4566介绍SDP协议的官方文档(英文)
详细描述sdp是干啥的,RFC4566中文版,SDP会话描述协议。pdf格式,有索引。对音视频感兴趣的同学可以看看