SDP协议简述

SDP协议也是文本协议,只需要按照协议本身的格式填充。SDP协议格式即详细信息如下:


会话描述


格式及举例


v=(protocol version)


v=0


o=(owner/creator and session identifier)


o=用户名 会话id版本网络类型地址类型地址

o=hua 253183  51827  IN  IP4 192.168.2.2


s=(session name)


会话名


i=*(session information)


会话信息


e=*(email address)


[email protected](generaltext或e=Mr.Wang


p=*(phone number)


p=+86-0755-26773000-7110(wang)

orp=+16172536011


c=*(connection information-如已经包含在所有媒体中则该行不需要)


c=网络类型地址信息多点会议包括TTL连接地址

c=IN IP4 192.168.2.2

c=IN IP4 192.168.2.23


b=*(bandwidthinformation)


b=修改量(CTConferenceTotal

IASApplication-specificMax):带宽值(kb/s)

b=CT:120


一个或更多时间描述


z=*(time zone adjustments)


时区调整


k=*(encryption key)


k=方法:密钥或k=方法


时间描述


t=(timethesessionisactive)


开始时间、结束时间,单位秒,十进制NTP

t=2873397468   2873404969


r=*(zero or more repeat times)


重复时间、活动持续时间以开始时刻为参考的偏移列表,单位秒


媒体描述


m=(media name and transportaddress)


m=媒体端口、传送格式列表

m=audio 49170 RTP/AVP 0 3

协议为RTP


i=*(mediatitle)


媒体称呼


c=*(connectioninformation)


如已经包含在会话级描述则为可选


b=*(bandwidthinformation


同c


k=*(encryptionkey)


会话级为摸认值,同c


a=*(zero or more session attributelines)


a=属性或a=属性:值

a=sendrecv

a=ptime:20

a=rtpmap:0 PCMU/8000

说明:

1. v,o,s,t,m为必须的,其他项为可选;

2. 如果SDP语法分析器不能识别某一类型(Type),则整个描述丢失;

3. 如果“a=”的某属性值不理解,则予以丢失;

4. 整个协议区分大小写;

5. “=”两侧不允许有空格;

6. 会话级的描述就是媒体级描述的缺省值;

7. 所有格式均为=。

SDP各type的详细解释:

会话描述:

1. 协议版本:v=SDP版本 目前为0,没有子版本。

2. 会话源:

<用户名>     用户在发起主机上登录名,如果主机不支持用户标识的概念,则为”-”。

<会话id>      一般为数字串,其分配由创建工具决定,建议用网络时间协议(NTP)时戳,以确保唯一性。

<版本>         该会话公告的版本,供公告代理服务器检测同一会话的若干个公告哪个是最新公告.基本要求是会话数据修改后该版本值递增,建议用NTP时戳

<网络类型>  为文本串”IN”。

<地址类型> “IP4”(可为域名或点分十进制)/”IP6”(域名或压缩文本地址形式)

<地址>          按照上述的IP4或者IP6格式写出

3. 会话: s=CounterPath eyeBeam 1.5字符表示的会话名

4. Email地址:e=给出会议负责人的联系信息。他不一定是创建会议公告的人。电话号码p=给出会议负责人的信息,他不一定是创建会议公告的人

6. 连接数据:c=媒体连接数据,会话级为媒体级的默认值

7. 带宽:b=给出会话或媒体所用带宽,单位为kbit/s.修饰语:CT(会议总带宽,表示所有地点所有媒体的总带宽),AS(应用特定最大带宽,表示一个地点单一媒体带宽)时间描
    述:

8. 加密密钥:k=已定义的方法有k=clear:<加密密钥>密钥没有变换
k=base64:<编码密钥>已编码,因为它含有SDP禁用, k=uri:<获得密钥的URI>k=prompt。SDP没有提供密
  钥但该会话或媒体流是要求加密的。

9.属性:a=一个m=行可有多个a=行,SDP建议扩展如下:

会话级:

a=cat:<类别>//给出点分层次式会话分类号,供接收方筛选会话

a=keywds:<关键词>//供接收方筛选会话

a=tool:<工具名和版本号>//创建会话描述的工具名和版本号

a=type:<会议类型>//有:广播,聚会,主席主持,测试,H.323

a=charset:<字符集>//显示会话名和信息数据的字符集

a=sdplang:<语言标记>//描述所有语言

a=lang:<语言标记>//会话描述的缺省语言或媒体描述的语言

a=framerate:<帧速率>//单位:帧/秒

a=quality:<质量>//视频的建议质量(10/5/0)

a=fmtp:<格式><格式特定参数>//定义指定格式的附加参数

媒体级:

a=ptime:<分组时间>//媒体分组的时长(单位:秒)

a=recvonly/sendrecv/sendonly//收发模式

a=orient:<白板方向>//指明白板在屏莫上的方向

a=sdplang:<语言标记>//描述所有语言

a=lang:<语言标记>//会话描述的缺省语言或媒体描述的语言

10  m = <媒体>有5种类型:音频/视频/应用(如白板信息)/数据(不向用户显示的)/控制

<端口>媒体流发往传输层的端口。取决于c=行规定的网络类型和接下来的

<传送层协议>对UDP为1024-65535;对分层编码应用c
= 行没有多播地址,要给    出多播端口数,如:m=video 49170/2 RTP/AVP31(表示:端口49170和49171为
  第一对RTP/RTCP端口,49172和49173为第二对的端口)。

<传送层协议>与c=行的地址类型有关。对大多的媒体在RTP/UDP上传送,定义2种:RTP/AVP:IETFRTP协议,音/视频应用文档。在UDP上传送。Udp:UDP协议。

<格式列表>:对音/视频,就是音/视频应用文档中规定媒体净荷类型。列表中都有可能用,但第一个为缺省值,分为静态绑定和动态绑定:静态绑定即使媒体编码方式有
净荷类型号完全确定,动态绑定则媒体编码方式(如时钟频率,音频信道数等)没有完全确定,需要进一步的属性说明。分别举例如下:G711A的PCM编码单信道Audio,其净荷类型号为8,把它发往UDP端口49232,m=audio
49232 RTP/AVP8;16bit线性编码,单声道声,采样率速率8kHz,其动态净荷类型号98,m=audio
49232 RTP/AVP 98;a=rtpmap:98 L16/16000/2

说明:

1. a=rtpmap:<净荷类型号><编码名>/<时钟速率>[/<编码参数>]对音频,编码参数为音频信道数;对视频没有定义

2. SDP允许rtpmap规定实验性编码格式,但编码名必须以X-起,表示此格式还没正式登记。

SDP用于构建INVITE和200OK响应消息的消息体,供主\被叫用户交换媒体信息。

时间: 2024-11-10 00:41:23

SDP协议简述的相关文章

学习笔记_SIP中的SDP协议

当INVITE OK, 两个UA终端之间开始音视频流传输时, SIP消息INVITE的"message body"里将携带SDP消息, 描述具体通信内容. 在Sipdroid中SDP消息的实现是SessionDescription类. 会话描述的功能: 类SessionDescription将根据SDP协议格式化(处理)SIP消息体. 会话描述的基本内容: 会话等级描述(描述可以应用于整个会话和所有媒体流); 0或者更多的媒体等级描述(描述仅只用于一种媒体流). 会话描述的详细内容:

SDP 协议分析

转载地址(http://www.cnblogs.com/qingquan/archive/2011/08/02/2125585.html) 一.SDP协议介绍 SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP).会话初始协议(SIP).实时流协议(RTSP).MIME 扩展协议的电子邮件以及超文本传输协议(HTTP).SDP协议是也是基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围.SDP 不支持会话内

[转] SDP协议

http://blog.csdn.net/dxpqxb/article/details/18706471 1.SDP协议概述 SDP(Session Description Protocol)是一个用来描述多媒体会话的应用层控制协议,为会话通知.会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述:它是一个基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围:SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协

蓝牙SDP协议概述

之前写了一篇 bluedroid对于sdp的实现的源码分析   ,他其实对于sdp 协议本身的分析并不多,而是侧重于 sdp 处于Android bluedroid 架构中的代码流程,这篇文章,是针对SDP 的规范来整理SDP 协议本身的一些要点. 概要: 我们想一想,两个陌生的设备(之前未有过交互)如何去发现对方支持什么服务呢?很容易想到,我们需要一种协议,这种协议规定了服务在服务器上面是如何存储的以及对方如何能够通过这个协议来获取到数据,以及双方共同遵守的一些规定等等. SDP全称是Serv

rtsp和sdp协议简介

RTSP是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议. 实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体,如音频和视频.尽管连续媒体流与控制流交叉是可能的,RTSP 本身并不发送连续媒体流.换言之,RTSP 充当多媒体服务器的网络远程控制.RTSP 提供了一个可扩展框架,实现实时数据(如音频与视频)的受控.按需传送.数据源包括实况数据与存储的剪辑.RTSP 用于控制多个数据发送会话,提供了选择发送通道(如 UDP.组播

主流开源协议简述

开源 ≠ 免费 开源 ≠ 免费 开源 ≠ 免费,重要的事情说三遍. 一.为何要了解开源协议 Java的强大与崛起,应当说强大的开源生态起了不小的作用.在编程的过程中也或多或少能接触到不少优秀的开源软件.框架, 况且我们又乐于找轮子,因此,了解经常见到的开源协议就有必要了.再者,不了解开源协议,随意使用一个带有限制的协议的开源软件甚至 使用没有任何协议的软件,这就像一颗定时炸弹,随时可能会要了你的命! 二.主流开源协议简介 1.Apache License, 2.0 (Apache-2.0 ) 1

http协议---简述

http(Hypertext transfer protocol)超文本传输协议,通过浏览器和服务器进行数据交互,进行超文本(文本.图片.视频等)传输的规定. 也就是说,http协议规定了超文本传输所要遵守的规则.那么网页在输入URL到加载,http究竟做了哪些工作呢? 浏览器负责发起请求和最后的响应请求,服务器接收请求后,处理请求.我们一步一步来看这个过程,http是如何设定步骤,设置规范的. 1.输入URL.不管是链接还是地址栏的输入,情况都是一样的.http协议已经规定了URL的格式,通过

入门 | 直播协议简述

作者:图鸭科技    微信公众号:tucodec 随着当下互联网视频化的迅速发展,各类网络直播产品如雨后春笋般成长起来,涵盖了秀场直播.游戏直播.教育直播.演唱会直播和监控直播等多个直播生态圈.这些生态圈成长的背后,是视频直播相关技术的不断发展,例如互联网带宽的增加.视频压缩标准的不断完善.视频云技术的出现等. 直播过程中涉及到的模块众多,主要有采集.前处理.音视频编解码.流媒体协议.系统架构.CDN.播放控制.交互技术等. 此次图鸭君主要给大家介绍直播协议模块,希望大家读完对该模块有一个系统性

HTTP协议简述

前言 HTTP协议是整个Web的基础,是客户端和服务器端协同工作的基石,要想了解Web的工作原理.优化Web应用,就要完全理解HTTP协议. HTTP的操作过程 1 ,浏览器分析指向页面的URL2 ,浏览器向DNS系统请求解析域名所对应的服务器IP地址3 ,DNS系统解析出服务器的IP,并返回给主机4 ,浏览器与该服务器的进程建立TCP链接(三次握手,端口默认为80)5 ,浏览器发出HTTP请求:如GET /article/index.html6 ,服务器收到请求并作出相应处理,把文件index