WebRTC系列(3):PeerConnection通信建立流程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebRTC系列(3):PeerConnection通信建立流程相关的知识,希望对你有一定的参考价值。

参考技术A

课程地址:零声学院 WebRTC入门与提高 https://ke.qq.com/course/435382?tuin=137bb271

技术支持QQ群:782508536

WebRTC Peerconnection通信过程中的四种角色:

通信过程中的基本概念:

PeerConnection连接建立流程图:

对于上图中描述的PeerConnection建立的完整流程进行以下说明(上图是以ClientA主动向ClientB发起连接为例):

参考资料:

WebRTC系列-Qos系列之音频设置丢包重传nack

文章目录

1. 打开方式

在目前的WebRTC各个版本中音频的重传目前都是默认处于关闭的,也就是音频的sdp里默认是没有NACK;设置打开音频NACK有两种方式:

  1. 修改源码的方式,通过前面的一系列文章我们知道WebRTC中收集音频编码信息是在WebRtcVoiceEngineCollectCodecs(...)方法中,在这个方法里可以找到kRtcpFbParamTransportCc 也就是"transport-cc"设置,在sdp中是a=rtcp-fb:111 transport-cc;但是这种方式只适合有源码的修改;
  2. 修改sdp的方式,在调用setRemoteSessionDescription之前修改sdp(这里不管是offer还是answer,都是在setRemoteSessionDescription之前),修改建议使用libsdptransform c++版本把sdp转成json操作,浏览器有对应的sdp-transform js版;转成json后修改方式:

以上是关于WebRTC系列(3):PeerConnection通信建立流程的主要内容,如果未能解决你的问题,请参考以下文章

WebRTC系列分享 第二期 | WebRTC QoS方法之Pacer实现

webrtc系列文章

WebRTC系列-WebRTC基础连接建立时序图及运行机制

WebRTC系列-Qos系列之音频设置丢包重传nack

实时音视频互动系列(下):基于 WebRTC 技术的实战解析

WebRTC系列-RTCDataChannel发送非音视频数据