本文不适合JS调用方法,但是可以参考,原理大同小异。
适用于JAVA,OC,C++。其实也就是相关平台WINDOWS,IOS,android,linux。
官方的接口和使用流程如下:
https://webrtc.org/native-code/native-apis/
可能有些难以看懂。那么可以先看我的使用方法,再回去看官方文档。
先介绍webrtc,其实他是一个客户端用的东西。主要包含音视频相关以及P2P服务这两大块功能。
音视频提供了编解码,回声消除,声音增益,去噪。
P2P则封装了SDP协议消息,与turn服务器通信。
也就是说,它是一个无关使用逻辑,仅提供模块功能的强大库。
RTCPeerConnection就是webrtc用来创建客户端连接和视频通讯的API.为了初始化这个过程 RTCPeerConnection有两个任务:
1,确定本地媒体条件,如分辨率,编解码能力,这些需要在offer和answer中用到.
2,取到应用程序所在机器的网络地址,即称作candidates.
一旦上面这些东西确定了,他们将通过信令机制和远端进行交换.
举个例子说它的使用逻辑以及伪码:
A呼叫B,这里有2条线,一条是互相交换媒体信息,网络地址,另一条是与TURN服务器的打洞:
线路1:
1,A通过PeerConnectionFactory创建一个 RTCPeerConnection对象.