考虑到 WebRTC 的当前状态,我一直在开发一个运行良好的 WebRTC 视频会议应用程序。
但是,我一直在探索向 PeerConnection 发送的视频和音频流添加约束的可能性。更具体地改进视频的性能。在旧(慢)笔记本电脑上进行视频会议时,我们注意到图像质量非常高,但每秒帧数很低。流是hacky。关于音频质量,我们给 Chrome 8.5 分,而 Firefox 只给 5.5 到 6 分。
我对对 getUserMedia 应用约束并不真正感兴趣,因为这个流也被显示给用户,我们不想改变这个本地输出的任何内容。(除非没有别的办法)
我在 W3G 的草案中找到了很多关于 MediaStreams 和 WebRTC 本身的信息。这些定义了某些约束,例如图像的默认 fps、minfps、minwidth 和 minheight。在 webrtc.org 上也有很多可用的信息,比如选择编解码器等。但这些设置只能在“幕后”进行。似乎这些设置无法从 RTCPeerConnection API 级别解决?
网络上的某些示例在 WebRTC 握手的 Offer / Answer 部分中操纵 SDP 字符串,这是要走的路吗?
TL;DR:如何应用——以及应用的最佳方式是什么——对 WebRTC 的约束,如 minfps、maxfps、默认 fps、minwidth、maxwidth、图像 dpi、视频和音频带宽、音频 KHz 以及任何其他改进方式流的性能或质量。
提前非常感谢!