我们来学习写WebRTC的运行机制。
首先来看两个基本概念,轨与流:
轨与流:
- Track(轨):采取了轨道的概念,两条轨之间是不想交的,就像我们的一路音频和一路视频都是一路轨,两者是不想交的,两路音频也是不想交的两个轨。
- MediaStream:就是媒体流,包含了很多轨。
几个重要的类:
MediaStream:媒体流
RTCPeerConnection:WebRTC中最为重要的一个类,大而全,应用层只需要创建一个RTCPeerConnection连接,然后建一个流放进去就可以不用管了,所有的传输等都在RTCPeerConnectionne内部自己完成,其内部做了很多内容,P2P的检测、是否打通等。重点要掌握的类。
RTCDataChannel:传输非音视频数据,RTCDataChannel是通过RTCPeerConnection获取的。
同样的MediaStream中的很多轨以及RTCDataChannel二进制数据都传给RTCPeerConnection进行传输管理,应用层就不要多余的操作。接下来我们来看一下RTCPeerConnection的调用过程,下图是从WebRTC官网获取到的: