运行机制说明
在本节中将会对WebRTC的运行机制进行详细说明
几个大类
MediaStream类
媒体流类,一个流包含几个轨道,比如视频和音频轨道
轨和流的概念
轨(Track)
轨道,每一路音频或视频,都各位为一个轨,互不相交
流(MediaStream)
媒体流,包含了轨,例如音频轨、视频轨、字母轨等
RTCPeerConnection类
最重要的类,包含功能众多,应用层调用方便,底层代码极其复杂。
功能包括p2p类型检测、穿透、中转等都在类的内部实现。
RTCDataChannel
非音视频数据传输类,文本、文件、二进制数据等都可以通过此类传输。
PeerConnection
调用过程
在本图中可以看到在PeerConnection类中
以创建Factory -> 创建节点 -> 轨 -> 流 -> 传输通讯 -> 回调Observer的顺序调用
和远端建立通信过程
- 通过Application发起,创建PeerConnectionFactory
- Factory创建连接、轨道、流等节点
- 将轨Track添加至流Stream
- 将流Stream(发生变化时)推送给PeerConnection节点
- PeerConnection节点创建offer SDP通知Application
- Application将offer SDP信令发送给远端
- 远端回复answer SDP到Application
- Application将SDP推给PeerConnection节点
- 本地和远端建立P2P连接成功
以上就是WebRTC的运行机制,下一节要做一些基础铺垫,说一些关于Web服务器和Nodejs等基础知识
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。