sdp会话描述符有多行用如下格式组成的文本:
  <type>=<value>
等号旁边不允许留白。

sdp会话描述符有一个session-level的段,后面会接零个或者多个media-level段。session-level部分使用”v=“开始,直到第一个media-level段。每个media-level段由”m=“开始,直到下个media-level段开始或者描述符结束,下面是个例子:
    v=0
    o=- 3 2 IN IP4 192.168.33.117
    s=CounterPath eyeBeam 1.5
    c=IN IP4 192.168.33.117
    t=0 0
    m=audio 35650 RTP/AVP 0 8 18 101
    a=alt:1 3 : sQfPf+iU /KNiTB1A 192.168.33.117 35650
    a=alt:2 2 : SnxucZRo zpZgHxu2 192.168.20.1 35650
    a=alt:3 1 : 8ZUJ6mxW SHFqJnjo 192.168.88.1 35650
    a=fmtp:18 annexb=no
    a=fmtp:101 0-15
    a=rtpmap:18 G729/8000
    a=rtpmap:101 telephone-event/8000
    a=sendrecv
    m=video 54812 RTP/AVP 115 34
    a=alt:1 3 : zO/vbGtW 56vfK5Yi 192.168.33.117 54812
    a=alt:2 2 : 85YBMv+X 7bQYCVFc 192.168.20.1 54812
    a=alt:3 1 : GY7RIq4D WivNWaVC 192.168.88.1 54812
    a=fmtp:115 QCIF=1 I=1 J=1 K=1 MaxBR=1960
    a=fmtp:34 QCIF=1 CIF=1 MaxBR=1960
    a=rtpmap:115 H263-1998/90000
    a=rtpmap:34 H263/90000
    a=sendrecv

有些参数是可选的,那么会带上*:

会话描述符
    v=  (protocol version)
    o=  (originator and session identifier)
    s=  (session name)
    i=* (session information)
    u=* (URI of description)
    e=* (email address)
    p=* (phone number)
    c=* (connection information -- not required if included in all media)
    b=* (zero or more bandwidth information lines) One or more time descriptions ("t=" and "r=" lines; see below)
    z=* (time zone adjustments)
    k=* (encryption key)
    a=* (zero or more session attribute lines)

一个或者多个媒体描述符 时间描述符
    t=  (time the session is active)
    r=* (zero or more repeat times)

媒体描述符
    m=  (media name and transport address)
    i=* (media title)
    c=* (connection information -- optional if included at session level)
    b=* (zero or more bandwidth information lines)
    k=* (encryption key)
    a=* (zero or more media attribute lines)

关于a参数,也就是属性
可以用在session-level和media-level两个层次中。格式为

  a=<attribute>
  a=<attribute>:<value>

例如
  a=recvonly
  a=orient:landscape

在media-level中a参数有如下两个较为重要的部分

a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding parameters>]

一般来说动态载荷类型用得比较多,静态一般不会使用比如u-law PCM默认就是单声道8kHz采样率,这个是用载荷类型为0就可以完全表达出来。而动态载荷类型则不然,有时候会根据网络状况调整细分参数,比如调整采样率和和编码方式。

a=fmtp:<format> <format specific parameters>

该属性值指定一个SDP不了解的特殊格式,该格式是媒体的格式的一种m参数中给出,定义指定格式的附加参数。
  

最新文章

  1. 炫!一组单元素实现的 CSS 加载进度提示效果
  2. qml基础学习 基础概念
  3. Velocity教程【转】
  4. 零基础十分钟学会用git在coding.net上传(pull)和push
  5. Android View.onMeasure方法的理解
  6. 2、JavaScript常用互动方法
  7. mysql 逻辑架构
  8. 远程控制篇:在DELPHI程序中拨号上网
  9. Better Completion插件使用
  10. asp.net微信开发第三篇----自定义会话管理
  11. [置顶] Ftp客户端概要设计
  12. [NOI2005]寿司晚宴
  13. lgp20151222 java中如何将Object类型转换为int类型
  14. Scrapy框架-CrawlSpider
  15. BASE64、MD5、SHA、HMAC几种加密算法
  16. cURL模拟POST提交数据
  17. hdu 5126 stars (四维偏序,离线,CDQ套CDQ套树状数组)
  18. jdk8中奖Date转换为String格式的方法
  19. 《大话设计模式》c++实现 之工厂模式
  20. 为什么QQ空间和QQ邮箱都是IE默认打开?

热门文章

  1. ALSA声卡驱动中的DAPM详解之三:如何定义各种widget
  2. Mysql的简单使用(一)
  3. bzoj1997 [Hnoi2010]Planar——2-SAT
  4. kubernetes Traefik ingress配置详解
  5. 使用display:flex;实现垂直水平居中
  6. PCB genesis连孔加除毛刺孔(圆孔与槽孔)实现方法(二)
  7. js的45个技巧
  8. codevs3304水果姐逛街(线段数)
  9. Java中JPS命令监控
  10. flask中路由系统