MediaStream与MediaStreamTrack

WebRTC 中有两个重要的概念,即 MediaStreamMediaStreamTrack。其中 MediaStreamTrack 称为 “轨”,表示单一类型的媒体源,比如从摄像头采集到的视频数据就是一个 MediaStreamTrack,而从麦克风采集的音频又是另外一个 MediaStreamTrackMediaStream 称为 “流”,它可以包括 0 个或多个 MediaStreamTrack

MediaStream 有两个重要作用,一是可以作为录制或者渲染的源,这样我们就可以将 Stream 中的内容录制成文件或者将 Stream 中的数据通过浏览器中的 <video> 标签播放出来;二是在同一个 MediaStream 中的 MediaStreamTrack 数据会进行同步(比如同一个 MediaStream 中的音频轨和视频轨会进行时间同步),而不同 MediaStream 中的 MediaStreamTrack 之间不进行时间同步。