我一直在研究WebRTC视频会议应用程序,该应用程序运行良好,考虑到WebRTC的当前状态。
但是,我一直在探索为PeerConnection发送的视频和音频流添加约束的可能性。 更具体地说是改善视频的性能。 在旧(慢)笔记本电脑上进行视频会议时,我们注意到图像的质量非常高,但每秒的帧数很低。流是hacky。 关于音频质量,我们给它一个8.5的Chrome,但只有5.5到6的Firefox。
我并不真正对将约束应用于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以及任何其他提高流的性能或质量的方法。
提前非常感谢!
答案 0 :(得分:0)
目前,大多数都无法在Firefox或Chrome中设置。在SDP中可以调整一些(小心/痛苦),但即使为某些事情定义了SDP选项,也不意味着浏览器会看到它。
Mozilla和Google都希望改进CPU过载检测和反应(动态减小帧大小等)。现在,这实际上没有完成。即将发布的FF(FF24)将适应捕获分辨率(作为最大值),但我们还没有限制,只需:config prefs(参见media。*)。这样就可以为Firefox设置不同的默认分辨率。