sdp知识汇总

Session description

必需的

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

z=* (time zone adjustments)
k=* (encryption key)
a=* (zero or more session attribute lines)

sdp

sdp

m=video //一个媒体类型,传输协议:UDP/TLS/RTP,编码:96(VP8),98(VP9),102(H264)
c=IN IP4 0.0.0.0 //本端用于传输的ip
a= //媒体的属性
属性

a说明
rtpmaprtp映射表,含编码、带宽
  • 如果本端媒体有recv属性,则本端媒体在offer/answer流程前准备好ip和端口接收媒体

  • offer/answer的媒体流数和顺序必需一致(即m标签)。如果遇到不支持的媒体流,对应的answer的m标签端口为0

  • offer的媒体流为sendonly,answer的媒体流必需为recvonly;offer的媒体流为recvonly,answer的媒体流必需为sendonly

  • answer里提供的IP和端口,只是offer期望的IP和端口,一旦answer发出后,offer必须准备好在这个IP和端口

  • offer如果有ptime(媒体流打包间隔)或bandwidth(带宽)的a行,answer也必需有。这两个a行用来打包媒体流用

  • 一个m行可有多个a行

主要信息

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)

解析

a=<属性>:<值>
c=<网络类型><地址信息><连接地址>
m=<媒体><端口><传送><格式列表>
o=<用户名><会话id><版本><网络类型><地址类型><地址>
s=<会话名>
t=<开始时间><结束时间> //单位秒,十进制NTP
v=0

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

  • m的a标签

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

a=ice-ufrag:iaqyowvyltDNYRLX
a=ice-pwd:ZSUXCPzCMZSpMOoPPQgaCgOJwoYzyeVF
ice过程的安全验证信息

webRTC中的SDP

按功能分,可以分为如下几块:

Session Metadata,会话元数据(v= /  o= /  t= )
Network Description,网络描述(c= / a=candidate)
Stream Description,流描述(m=  / a=rtpmap / a=fmtp)
Security Descriptions,安全描述(a=crypto / a=ice-frag /a=ice-pwd / a=fingerprint)
Qos Grouping Descriptions, 服务质量描述(a=rtcp-fb / a=group / a=rtcpmux)

参考

https://blog.csdn.net/xyblog/article/details/49741267
https://www.cnblogs.com/onlycoder/p/7297362.html
https://blog.csdn.net/qq_34732729/article/details/105773613
https://www.jianshu.com/p/c6b1cf260616

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值