SDP网络流媒体会话信息描述及应用分析二



一、SDP协议概述

SDPSession Description Protocol会话描述协议)是由IETFInternet工程任务组)作为RFC4566颁布描述流媒体初始化参数的格式。其目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话,并为参与者提供特定的信息(SDP包含的内容)。定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成。

会话描述协议(SDP)为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述。

会话目录用于协助多媒体会议的通告,并为会话参与者传送相关设置信息。SDP即用于将这种信息传输到接收端。SDP完全是一种会话描述格式――它不属于传输协议――它只使用不同适当的传输协议这些传输协议包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME扩展协议的电子邮件以及超文本传输协议(HTTP)。

SDP的设计宗旨是通用性,它可以应用于大范围的网络环境和应用程序,而不仅仅局限于组播会话目录,但SDP不支持会话内容或媒体编码的协商,这些由下层协议完成

SDP包含的内容:

1) 会话的名称和目的
2) 会话存活时间
3) 包含在会话中的媒体信息,包括:
   媒体类型(video, audio, etc)
   传输协议(RTP/UDP/IP, H.320, etc)
   媒体格式(H.261 video, MPEG video, etc)
   多播或远端(单播)地址和端口
4) 为接收媒体而需的信息(addresses, ports, formats and so on)
5) 使用的带宽信息
6) 可信赖的接洽信息(Contact information

二、SDP格式

字段解释 

v=0     Version 给定了SDP协议的版本 

o=<username> <session id> <version> <network type> <address type> <address>; 

Origin ,给定了会话的发起者信息 s=<session name> 给定了Session Name 

i=<session description>  Information 关于Session的一些信息 u=<URI>  URI 

c=<network type> <address type> <connection address> Connect Data包含连接数据 

t=<start time> <stop time> Time a=<attribute>      Attribute  

m=<media> <port> <transport> <fmt list>  Media Announcements 

a=<attribute>:<value> 

注:v,o,s,t,m为必须的,其他项为可选。

会话级: 

a=cat:<类别>//给出点分层次式会话分类号,供接收方筛选会话
a=keywds:<关键词>//供接收方筛选会话
a=tool:<工具名和版本号>//创建会话描述的工具名和版本号
a=recvonly/sendrecv/sendonly//收发模式
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:<语言标记>//会话描述的缺省语言或媒体描述的语言

传输协议级

a=rtpmap:<净荷类型号><编码名>/<时钟速率>[/<编码参数>]

  对音频,编码参数为音频信道数;对视频没有定义

 

具体的SDP信息实例

v=0  Version 给定了SDP协议的版本  

o=- 15648852339074415390 15648852339074415390 IN IP4 ma-virtual-machine  Origin ,给定了会话的发起者信息,所有者/创建者和会话标识符

s=Unnamed  给定了Session Name 会话名称

i=N/A  Information 关于Session的一些信息

c=IN IP4 0.0.0.0  Connect Data包含连接数据 文本串 IPV4 地址

t=0 0  Time  0或多次重复次数

a=tool:vlc 2.0.10  Attribute  0个或多个媒体描述(属性)

a=recvonly

a=type:broadcast

a=charset:UTF-8

a=control:rtsp://192.168.1.3:8554/avstream

m=video 0 RTP/AVP 96  Media Announcements 媒体名称和传输地址

b=RR:0  带宽信息

a=rtpmap:96 H264/90000

a=fmtp:96 packetization-mode=1;profile-level-id=42c01f;sprop-parameter-sets=Z0LAH9oBQBboQAAA+kAAOpgDxgyo,aM4yyA==;

a=control:rtsp://192.168.1.3:8554/avstream/trackID=6

m=audio 0 RTP/AVP 96

b=RR:0

a=rtpmap:96 mpeg4-generic/48000/2

a=fmtp:96 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=0990; SizeLength=13; IndexLength=3; IndexDeltaLength=3; Profile=1;

a=control:rtsp://192.168.1.3:8554/avstream/trackID=7

 

Opened URL "rtsp://192.168.1.3:8554/avstream", returning a SDP description:

v=0

o=- 15648852339074415390 15648852339074415390 IN IP4 ma-virtual-machine

s=Unnamed

i=N/A

c=IN IP4 0.0.0.0

t=0 0

a=tool:vlc 2.0.10

a=recvonly

a=type:broadcast

a=charset:UTF-8

a=control:rtsp://192.168.1.3:8554/avstream

m=video 0 RTP/AVP 96

b=RR:0

a=rtpmap:96 H264/90000

a=fmtp:96 packetization-mode=1;profile-level-id=42c01f;sprop-parameter-sets=Z0LAH9oBQBboQAAA+kAAOpgDxgyo,aM4yyA==;

a=control:rtsp://192.168.1.3:8554/avstream/trackID=6

m=audio 0 RTP/AVP 96

b=RR:0

a=rtpmap:96 mpeg4-generic/48000/2

a=fmtp:96 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=0990; SizeLength=13; IndexLength=3; IndexDeltaLength=3; Profile=1;

a=control:rtsp://192.168.1.3:8554/avstream/trackID=7

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值