1.多方会话
- 完全分布式
让每个浏览器与参与会话的其他浏览器建立一个对等的连接 - 集中混合式
只需要每个浏览器与媒体服务器之间建立单个对等连接
2.本地媒体
2.1 轨道
MediaStreamTrack是基本媒体单元,可以代表一种设备,例如视频或者音频。
- 每个轨道都有一个源与之关联,通过webRTC不能直接访问或控制源,对源的一切控制都通过轨道实施
- 轨道的状态由muted,enabled,readyState属性来确定
2.2 流
MediaStream是对象MediaStreamTrack对象的集合,创建MediaStream的方法有:
- 通过现有的MediaStreamTrack组合构造,如getUserMedia()
- 使用对等的连接接收新的流,如onaddstream
2.3 捕获本地媒体
getMedia可以获取本地媒体流,通过约束来选择源并控制其属性
- 媒体元素有可以直接赋值媒体流的属性srcObject
- 可以通过约束来选择源并控制其属性,如视频宽高
getMedia({
audio: true,
video: true
}, gotUserMediam, didntGetUserMedia);
function gotUserMediam(stream){
var video=document.getElementById('video');
video.srcObject=stream;
}