SDP 协议分析
2015-09-22 14:09
288 查看
一、SDP协议介绍
SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。SDP协议是也是基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围。SDP 不支持会话内容或媒体编码的协商,所以在流媒体中只用来描述媒体信息。媒体协商这一块要用RTSP来实现.二、SDP协议格式
SDP描述由许多文本行组成,文本行的格式为<类型>=<值>,<类型>是一个字母,<值>是结构化的文本串,其格式依<类型>而定。<type>=<value>[CRLF]常见的fields有:三、SDP协议例子:
下面是一个helix 流媒体服务器的RTSP协议中的SDP协议:v=0 //SDP version// o field定义的源的一些信息。其格式为:o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>o=- 1271659412 1271659412 IN IP4 10.56.136.37 s=<No title>i=<No author> <No copyright> //session的信息c=IN IP4 0.0.0.0 //connect 的信息,分别描述了:网络协议,地址的类型,连接地址。c=IN IP4 0.0.0.0t=0 0 //时间信息,分别表示开始的时间和结束的时间,一般在流媒体的直播的时移中见的比较多。a=SdpplinVersion:1610641560 //描述性的信息a=StreamCount:integer;2 //用来描述媒体流的信息,表示有两个媒体流。integer表示信息的格式为整数。a=control:*a=DefaultLicenseValue:integer;0 //License信息a=FileType:string;"MPEG4" ////用来描述媒体流的信息说明当前协商的文件是mpeg4格式的文件a=LicenseKey:string;"license.Summary.Datatypes.RealMPEG4.Enabled"a=range:npt=0-72.080000 //用来表示媒体流的长度m=audio 0 RTP/AVP 96 //做为媒体描述信息的重要组成部分描述了媒体信息的详细内容:表示session的audio是通过RTP来格式传送的,其payload值为96传送的端口还没有定。b=as:24 //audio 的bitrateb=RR:1800b=RS:600a=control:streamid=1 //通过媒体流1来发送音频a=range:npt=0-72.080000 //说明媒体流的长度。a=length:npt=72.080000a=rtpmap:96 MPEG4-GENERIC/32000/2 //rtpmap的信息,表示音频为AAC的其sample为32000a=fmtp:96 profile-level-id=15;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1210 //config为AAC的详细格式信息a=mimetype:string;"audio/MPEG4-GENERIC"a=Helix-Adaptation-Support:1a=AvgBitRate:integer;48000a=HasOutOfOrderTS:integer;1a=MaxBitRate:integer;48000a=Preroll:integer;1000a=OpaqueData:buffer;"A4CAgCIAAAAEgICAFEAVABgAAAC7gAAAu4AFgICAAhKIBoCAgAEC"a=StreamName:string;"Audio Track"下面是video的信息基本和audio的信息相对称,这里就不再说了。m=video 0 RTP/AVP 97b=as:150b=RR:11250b=RS:3750a=control:streamid=2a=range:npt=0-72.080000a=length:npt=72.080000a=rtpmap:97 MP4V-ES/2500a=fmtp:97 profile-level-id=1;a=mimetype:string;"video/MP4V-ES"a=Helix-Adaptation-Support:1a=AvgBitRate:integer;300000a=HasOutOfOrderTS:integer;1a=Height:integer;240 //影片的长度a=MaxBitRate:integer;300000a=MaxPacketSize:integer;1400a=Preroll:integer;1000a=Width:integer;320 //影片的宽度a=OpaqueData:buffer;"AzcAAB8ELyARAbd0AAST4AAEk+AFIAAAAbDzAAABtQ7gQMDPAAABAAAAASAAhED6KFAg8KIfBgEC"a=StreamName:string;"Video Track"相关文章推荐
- [翻译,Java]Java 7 Socket Direct Protocol / SDP
- 上网行为、应用层协议数据特征与流量特征分析(招商合作)
- SDP协议
- SDP描述
- SDP协议
- SDP协议介绍
- Csipsimple Or Imsdroid :invite message too long for 3g - it gets fragmented
- 何謂 SDP ( Session Description Protocol )?
- SDP参数讲解
- 记录下利用spydroid获取SDP文件内容的点滴
- FTS抓包看蓝牙的SDP整个过程
- SDP协议中的Continuation State
- RTSP协议消息格式及SDP协议解析
- 基于流量的协议分析
- RTSP协议详解
- IP协议分析
- DiDi for Android协议分析
- FFMPEG对RTP直播流转发的实现
- RTMP协议分析
- VLC播放RTP PS 流的方法