webrtc使用sdp协议详解

也就是在这里插入图片描述在这里插入图片描述
会话级描述是全局,只有一个,媒体级描述是多个
媒体级描述会覆盖会话级描述。
在这里插入图片描述
在这里插入图片描述
会话层主要描述会话的时长,目的等等全局性的东西。
会话层主要参数:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
udp之上的tls是dtls。
srtp。
savpf:security audio video profile feedback。安全的音视频可配置的可反馈的,通过rtcp。
在这里插入图片描述
rtmap属性是用来解释media的,也就是m。
在这里插入图片描述
这里apt表示的是关联关系,103可能是传输数据的,106传的是其控制信息。

webrtc中candidate已经不放在具体的sdp中了,而是通过另外一种方式,动态的去生成,每拿到一个candidate之后就进行检测。检测之后如果通了,就开始进行连接了。后面如果再有更好的candidate的话,它就可以替换掉。但是对于webrtc流媒体服务器来说呢。还是需要在sdp描述中给candidate描述。也就是说服务端给客户端发sdp消息的时候,也就是进行媒体协商的时候,要给客户端candidate。这样客户端就直接连通性检测,进行连接了。
a=crypto,带的是加密算法。
a=ice-frag
a=ice-passwd
上述两个属性是服务器分配的用户名密码
a=fingerprint
dtls握手协议时,要交换证书,怎么确保证书没被篡改,就是通过这个证书的指纹,fingerprint。证书在发送之前就生成个fingerprint。通过sdp交换的时候就把指纹交换掉。再后来通过dtls协议握手的时候。就进行证书的交换。拿到对方的证书之后,重新计算一个指纹,如果这个指纹与sdp交换过来的指纹是一致的,说明证书没被篡改,否则说明这个证书是有误的。不能建立连接。
a=rtcp-fb,rtcp反馈信息。
a=group,是复用的意思。(音视频复用同一个通道)
传输的时候,音频流视频流还有其他流是共用同一个通道还是分着的通道。对于webrtc流媒体服务器来说。与各个终端进行通讯的时候,一般都是复用这个通道,这样能够减少端口的占用,否则的话,每来一个客户端,新建一个端口,每路流都要建一个端口,每个端一路音频一路视频,那就是两倍的端口。端很多的时候,端口就被占用没了。
a=rtcpmux
默认的情况,用rtp传数据的时候用一个端口。rtcp端口等于rtp端口+1,奇数端口用于rtcp。
设置了rtcpmux属性之后,rtcp就和rtp复用同一个端口了。进一步减少了端口的占用。
在这里插入图片描述
a=group BOUNDLE 0 1 意思是mid是0和1的两个媒体复用同一个通道。在底层是同一个socket。对于webrtc端来说来说,在底层建立一条连接就可以了。音视频都通过这个通道传输与发送。
a= mid:0
a=mid:1

a=msid media session id
WMS:webrtc media stream WMS后跟流id。一个流由若干个track组成,每个track都有不同的ssrc。

IN:internet

trickle:使用trickle这个字段,就没有candidate,只要有一个合适的,就检测连接,通了之后就开始传数据。当有更好的,再替换掉

a=fingerprint sha-256 xxx
dtls握手时,证书验证使用。

a=setup 建立连接的时候是主动建立还是被动建立,有三种模式active passive activepassive,主动 被动 主动被动都行,应该是dtls握手连接。

a=sendrecv 能收能发

transport cc 流传输控制,防止发生拥塞。

cname 是流的唯一标识,ssrc可能变换,但是cname不会。
label:代表了具体的设备id,是前置摄像头还是后置摄像头。

a=rtcp-rsize 当传输过程中数据太多,导致rtcp控制信息会发不出去,为了减少数据量,会通过rsize去控制。rtcp数据量太大,网络承受不了,有了该属性,就简化成最小的rtcp。

a=rtcp-fb:96 goog-remb 支持使用google的最大带宽评估。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值