我们来学习下WebRTC中对音视频数据的采集。
音视频采集API
这里我们可以看到MediaStreamConstratints的两个参数的类型有两种:当时用boolean时,标识是否对音频、视频进行采集,如果使用MediaTrackContraints就可以分别对音视频的具体参数进行设置,比如视频的分辨率、帧率等,同样的音频也可以设置延迟性、音量、声道等等,后边的学习会详细研述。如下图一个简单的使用API案例:
正轨不同浏览器的适配
应用案例:
WebRTC音视频采集约束
WebRTC通过对音视频数据采集的约束我们可以精确地控制采集到的数据。
- 视频采集约束
- width
- height
- aspectRatio(宽高比)
- frameRate(帧率,电影60)
- facingMode:user:前置摄像头 enviorment:后置摄像头 left:前置左侧摄像头 right:前置右侧摄像头
- resizeMode:裁剪
- 音频约束
- volume:声音
- sampleRate:采样率
- sampleSize:采样大小
- echoCancellation:回音消除
- autoGainControl:自动增益 在原有录制的声音基础上是否增加音量
- noiseSuppression:降噪
- latency:延迟 设置的越小卡顿越小 正常通话200ms
- channelCount:声道 乐器一般双声道
- deviceID:多个音视频设备管理
- groupID:同一个物理设备
MediaStream API: