一、SDP规范了回话描述的格式,一般结合会话协议共同工作。

常见的会话传送协议包括:SAP(Session Announcement Protocol 会话公告协议),SIP,RTSP,HTTP,和使用MIME的E-Mail。

(PS:对SAP只能包含一个会话描述,其它会话协议的SDP可包含多个会话描述)

二、SDP包括以下一些信息:

1)会话的名称和目的

2)会话存活时间

3)包含在会话中的媒体信息,包括:

 媒体类型(video, audio, etc)
传输协议(RTP/UDP/IP, H., etc)
媒体格式(H. video, MPEG video, etc)
4 多播或远端(单播)地址和端口

4)  为接收媒体而需的信息(地址,端口,编码格式等)

5)  本端的带宽信息

6)  可信赖的接洽信息(Contact information)

三、实例解析

1. v=0

 定义:协议的版本信息
格式:v=<版本> 目前只有版本0
选择:必选

2. o=- 1466130518 1466130518 IN IP4 192.168.8.76

 定义:owner/creator和session信息
格式:o=<用户名> <会话id> <版本> <网络类型> <地址类型> <地址>
3 选择:必选

3. s=MRD=MRE MRC-V=1.0.0

 定义:会话名称
格式:s=<名称>
选择:必选

4. c=IN IP4 192.168.8.76

 定义:连接信息
格式:c=<网络类型> <地址类型> <地址>
选择:可选

5. b=AS:1920

 定义:本端带宽信息
格式:b=<类型>:<带宽>
选择:可选

6. t=0 0

 定义:起始时间
格式:t=<开始时间> <结束时间>
选择:必选

7. a=sendrecv

 定义:媒体属性
格式:a=<属性>
选择:可选

8. m=audio 3230 RTP/AVP 118 115 114 113 102 101 103 99 98 97 9 18 15 0 8 104 119

 定义:媒体信息
格式:m=<媒体类型> <媒体端口> <传输协议> <编码信息>
选择:必选

9. a=rtpmap:118 SIRENLPR/48000/1

 定义:媒体属性
格式:a=<属性>:<值>
选择:可选

10. a=fmtp:115 bitrate=48000

 同9

11. m=video 3232 RTP/AVP 109 110 96 34 31 106 105 116

 同8

12. 视频属性信息多一些

a=label:1
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=vnd.polycom.forceVideoMode:9
a=rtpmap:109 H264/90000
a=fmtp:109 profile-level-id=42801f; max-br=20010; sar=13
a=rtpmap:110 H264/90000
a=fmtp:110 profile-level-id=42801f; packetization-mode=1; max-br=20010; sar=13
a=rtpmap:96 H263-1998/90000
a=fmtp:96 CIF4=1;CIF=1;QCIF=1;SQCIF=1;CUSTOM=352,240,1;CUSTOM=704,480,1;CUSTOM=1024,768,1;CUSTOM=800,600,1;CUSTOM=640,480,1;T
a=rtpmap:34 H263/90000
a=fmtp:34 CIF4=1;CIF=1;QCIF=1;SQCIF=1
a=rtpmap:31 H261/90000
a=fmtp:31 CIF=1;QCIF=1
a=rtpmap:106 H264-SVC/90000
a=fmtp:106 profile-level-id=56001f; packetization-mode=1; max-br=20010; sar=13
a=rtpmap:105 H264-SVC/90000
a=fmtp:105 profile-level-id=53e01f; packetization-mode=1; max-br=20010; sar=13
a=rtpmap:116 vnd.polycom.lpr/9000
a=fmtp:116 V=1;minPP=0;PP=150;RS=52;RP=10;PS=1400

13. m=application 3238 UDP/BFCP *

 同8

a=setup:actpass
a=connection:new
a=floorctrl:c-s
14. m=application 3236 RTP/AVP 100

 同8

a=rtpmap:100 H224/4800

SDP学习笔记的更多相关文章

  1. Windows phone 8 学习笔记(3) 通信

    原文:Windows phone 8 学习笔记(3) 通信 Windows phone 8 可利用的数据通信方式比较广泛,在硬件支持的前提下,我们可以利用WiFi.蓝牙.临近感应等多种方式.数据交互一 ...

  2. Oracle RAC学习笔记02-RAC维护工具集

    Oracle RAC学习笔记02-RAC维护工具集 RAC维护工具集 1.节点层 2.网络层 3.集群层 4.应用层 本文实验环境: 10.2.0.5 Clusterware + RAC 11.2.0 ...

  3. dtls_srtp学习笔记

    注:以下为rfc5764的学习笔记,不保证完全正确. DTLS-SRTP是DTLS的一个扩展,将SRTP加解密与DTLS的key交换和会话管理相结合.从SRTP的角度看,是为其提供一种新的key协商管 ...

  4. 机器学习实战(Machine Learning in Action)学习笔记————09.利用PCA简化数据

    机器学习实战(Machine Learning in Action)学习笔记————09.利用PCA简化数据 关键字:PCA.主成分分析.降维作者:米仓山下时间:2018-11-15机器学习实战(Ma ...

  5. FreeSWITCH 学习笔记

    [1]FreeSWITCH学习笔记 1.Windows安装包下载地址:http://files.freeswitch.org/windows/installer/ 2.源码下载地址:http://fi ...

  6. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  7. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  8. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  9. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

随机推荐

  1. Javascript与C#编码解码

    (一) Javascript与C#编码解码的对应关系 http://www.jb51.net/article/44062.htm 这篇文章主要是对JS与C#编码解码进行了详细的介绍,需要的朋友可以过来 ...

  2. 我的代码观——关于ACM编程风格与librazy网友的对话

    序 在拙文 <高手看了,感觉惨不忍睹——关于“[ACM]杭电ACM题一直WA求高手看看代码”>中,我对ACMer们的一些代码“惯例”发表了我的看法, librazy网友在评论中给出了他的一 ...

  3. java中的拷贝(一)

    摘自:http://blog.csdn.net/tounaobun/article/details/8491392 假如说你想复制一个简单变量.很简单: int apples = 5; int pea ...

  4. overflow的劲爆知识点

    1.属性 visible(默认) hidden(此处是隐藏不是裁剪) scroll(滚动条) auto(智能路线 当超出范围时则出现滚动条) inherit 不常用  存在兼容性问题 2.进入CSS3 ...

  5. 如何优化tomcat配置(从内存、并发、缓存4个方面)优化

    Tomcat有很多方面,我从内存.并发.缓存四个方面介绍优化方法.  ** 一.Tomcat内存优化 ** Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚 ...

  6. Linux查看CPU和内存使用情况【转】

    转自:http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应 ...

  7. jQuery中attr() 和 prop()【转】

    Version 1.9.0 开始不建议使用 attr() 来对具有 true 和 false 两个属性的属性进行操作. 具有 true 和 false 两个属性的属性,如 checked, selec ...

  8. 在Linux下搭建Git服务器的方法是什么样?

    第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不一样,我的是采用的yum方法.ubuntu可以用apt-get命令.sudo yum install git 第二步 添 ...

  9. JavaEE基础(二十二)/IO流

    1.IO流(序列流) 1.什么是序列流 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推. 2.使用方式 整合两个: ...

  10. 工具项与菜单项实现相同的功能(DevExpress)

    1.在工具栏中添加菜单项.如下:在bar1工具栏中添加菜单项this.barButtonMenuItem(包含图标) this.bar1.LinksPersistInfo.AddRange(new D ...