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参数中给出,定义指定格式的附加参数。
  

sdp概览的更多相关文章

  1. Activity之概览屏幕(Overview Screen)

    概览屏幕 概览屏幕(也称为最新动态屏幕.最近任务列表或最近使用的应用)是一个系统级别 UI,其中列出了最近访问过的 Activity 和任务. 用户可以浏览该列表并选择要恢复的任务,也可以通过滑动清除 ...

  2. Atitit 软件工程概览attilax总结

    Atitit 软件工程概览attilax总结 1.1. .2 软件工程的发展 进一步地,结合人类发展史和计算机世界演化史来考察软件工程的发展史. 表2 软件工程过程模型 表2将软件工程的主要过程模型做 ...

  3. Atitit各种SDM 软件开发过程SDP sdm的ddd tdd bdd设计

    Atitit各种SDM 软件开发过程SDP sdm的ddd tdd bdd设计 1.1. software development methodology (also known as SDM 1 1 ...

  4. iOS开发系列—Objective-C之基础概览

    概览 前面我们已经用了几章内容进行C语言介绍,当然要通过几篇文章完整的介绍C语言的知识是不太现实的,例如C语言的文件操作.内存申请等我们都没有重点介绍,当然核心知识点基本都已经提到了,后面有时间我们会 ...

  5. iOS开发系列--IOS程序开发概览

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  6. Azure SQL Database (19) Stretch Database 概览

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  7. Web前端开发大系概览 (前端开发技术栈)

    前言 互联网建立50多年了,网站开发技术日新月异,但web前端始终离不开浏览器,最终还是HTML+JavaScript+CSS这3个核心,围绕这3个核心而开发出来大量技术框架/解决方案. 我从2000 ...

  8. Atitit.自然语言处理--摘要算法---圣经章节旧约39卷概览bible overview v2 qa1.docx

    Atitit.自然语言处理--摘要算法---圣经章节旧约39卷概览bible overview v2 qa1.docx 1. 摘要算法的大概流程2 2. 旧约圣经 (39卷)2 2.1. 与古兰经的对 ...

  9. 【WPF系列】基础学习-WPF架构概览

    引言 WPF从.net framewok3.0加入以来,经历了很多跟新.每次更新都给用户带来了新的功能或者优化性能.下面我们首先看下WPF再.netFramework中的位置,接着介绍下WPF的架构框 ...

随机推荐

  1. ubuntu下使用crontab定时器

    crontab 定时工具(周期性执行的任务列表称为Cron Table),其中每一个任务,被称为Cron Job. 可以,每分钟执行,每小时执行,每天执行,每周执行,每月执行. 检查服务 1.查看任务 ...

  2. poj3737 UmBasketella 真正的三分

    之前用二分写三分的板子...现在正式写一个三分,但是也不难,就是把区间分为三段就行了.求二次函数的峰值,每次取大的区间就行了. 题干: 最近几天,人们总是设计出多功能的新东西.例如,您不仅可以使用手机 ...

  3. uoj#34

    模板 #include<bits/stdc++.h> #define pi acos(-1) using namespace std; ; int n, m, L, x; int r[N] ...

  4. [App Store Connect帮助]三、管理 App 和版本(4)创建新版本

    当您准备分发 App 的新版本时,您创建的新版本使用您为原始版本创建的 App 记录.该新版本将对购买过先前版本的顾客免费可用. 各版本使用的 Apple ID(App 标识符).SKU 和套装 ID ...

  5. Django day31 contentType组件,Django的缓存

    一.contentType组件 1.干什么用的? 是一个django内置的一个组件,方便我们快速的连表操作 2.这两个字段都不会在数据库中生成,他只是用来查询,插入的 -在course表中: poli ...

  6. Java初级进阶中高级工程师必备技能

    很多人学了javase以为自己学的已经很OK了,但是其实javase里边有很多的知识点是你不知道的,不管你找的是哪里的javase的视频,大多数是不会讲这些东西,而这些东西你平时业务又不会主动去接触, ...

  7. drawable的文件名大写

    drawable的文件名大写导致的R文件消失!!!1

  8. BZOJ 3998 后缀数组

    思路: 第一问 建出来后缀数组以后  前缀和一发n-sa[i]-ht[i]+1  二分 第二问 二分判断是带重复的第几 怎么判断呢   找到它  往后扫ht递减sum+=它   跟K判判 注意等于 加 ...

  9. [转]发布基于T4模板引擎的代码生成器[Kalman Studio]

    本文转自:http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html 自己空闲时间写的一个代码生成器,基于T4模板引擎的,也不仅是 ...

  10. [ SCOI 2005 ] 最大子矩阵

    \(\\\) \(Description\) 给出一个\(N\times M\)的有权矩阵,选出其中\(K\)个互不重叠的子矩阵,使得这\(K\)个子矩阵的权值和最大. \(N\in [1,100]\ ...