WebRTC - CPU减少,设置调整

igo*_*lov 10 cpu video performance real-time webrtc

PRE-SCRIPTUM:

我搜索过StackOverflow并且没有Q/A解释调整WebRTC的所有可能性,以使其更适合最终产品.

问题:

WebRTC有一个非常好的用户体验,它正在削减优势.它应该是完美的网状电话(3-8人),但它还没有.网格调用的最大问题(所有参与者彼此交换流)是资源消耗,尤其是CPU.

以下是我想分享的一些统计数据:

2.3 GHz Intel Core i5(2核),OSX 10.10.2(14C109),4GB RAM,Chrome 40.0.2214.111(64位)

+------------------------------------+----------+----------+
| Condition                          | CPU      | Delta    |
+------------------------------------+----------+----------+
| Chrome (idle after getUserMedia)   | 11%      | 11%      |
| Chrome-Chrome                      | 55%      | 44%      |
| Chrome-Chrome-Chrome               | 74%      | 19%      |
| Chrome-Chrome-Chrome-Chrome        | 102%     | 28%      |
+------------------------------------+----------+----------+
Run Code Online (Sandbox Code Playgroud)

题:

我想创建一个WebRTC调整表,它可以改善资源消耗并提高整体体验.除了下表中的那些设置之外,我还可以使用其他任何设置吗?

+------------------------------------+--------------+----------------------+
| Tweak                              | CPU Effect   | Affects              |
+------------------------------------+--------------+----------------------+
| Lower FPS                          | Low to high  | Video quality lower  |
| Lower video bitrate                | Low to high  | Video quality lower  |
| Turn off echo cancellation         | Low          | Audio quality lower  |
| Lower source video resolution      | Low to high  | Video quality lower  |
| Get audio only source              | Very high    | No video             |
| Codecs? Compression? More?..       |              |                      |
+------------------------------------+--------------+----------------------+
Run Code Online (Sandbox Code Playgroud)

PS

我想保留相同的架构(网格),因此MCU不是我要搜索的东西.

Ben*_*ent 5

您可以更改音频速率和编解码器(OPUS-> PCMA / U),也可以减少通道。更改音频会有所帮助,但是视频是您的主要CPU工作。

Firefox确实支持H.264。由于大量不同的架构支持H.264的硬件编码/解码,因此使用它可能会大大降低CPU利用率。我不确定100%是否可以利用Firefox,但是值得一试。

至于chrome,VP8实际上是您目前唯一的视频选择,而编解码器不可知的更改(分辨率,比特率等)实际上是解决在那里使用的周期的唯一方法。

您还可以通过协商SDP中的最大带宽来强制Chrome使用质量较低的流。尽管过去,这在Firefox中不起作用。