【问题标题】:Does integrating WebRTC one to one audio/video calls affect the performance of web application集成 WebRTC 一对一音视频通话会影响 Web 应用的性能吗
【发布时间】:2014-09-29 17:52:56
【问题描述】:

在了解了 WebRTC 的一些强大功能后,我想到了在我的 Web 应用程序中使用 WebRTC 一对一的音频/视频通话。 Web 应用程序适用于同一类别的许多组织/实体,这些组织/实体可以每天为他们的内部工作和他们的客户注册并记录几条记录。这些个别组织/实体的客户也可以访问 Web 应用程序以访问其详细信息。

使用 WebRTC 的目的是在客户和组织之间进行通信。也适用于新人每天向这些组织询问有关产品和服务的信息。

在浏览谷歌等文章时,我发现如果我们不使用媒体服务器,广播或一对多呼叫需要非常高的带宽给用户。

那么一对一通话的情况是什么? 如果多个用户同时进行音频/视频通话(一对一)作为例行程序,是否会影响 Web 应用程序的性能或带来任何危急情况?

用户数量将非常庞大,用户将每天记录几个条目作为他们的日常工作。但它仍然是可管理的,应用程序将运行顺利,但我不确定新概念 WebRTC。是否需要非常高的托管计划?将 WebRTC 用于当前场景是否合适或可取?

【问题讨论】:

    标签: asp.net .net performance webrtc


    【解决方案1】:

    WebRTC 本质上是点对点的。这意味着流数据是在客户端处理的。所有解码、编码、ICE 候选收集/协商和媒体加密/传输都将发生在客户端而不是服务器端。因此,您将提供页面、客户端 JS 和一些数据交换(会话协商信号),但总而言之,这并不是一项庞大的工作。它应该很容易处理,而不必担心您的主机过度工作。

    综上所述,这是唯一可能影响您的托管服务器的性能问题。

    1. 发出会话启动、协商和去皮重的信号。这是非常小的(会话开始时只有一些 json 数据)。这不应该是太大的负担,但您应该知道,如果同时开始 1000 个会话,您将有一个消息队列直接发送给所需的各方。您如何确定各方、转发消息以及您在服务器端所做的工作都可能影响性能。如果编写得巧妙(如何存储会话、如何转发消息等)应该不会是一个可怕的负担。这可以通过SignalR 轻松完成,因为您在 ASP.NET 上,或者您可以使用单独的运行 Node.js (或同一个盒子,没关系)如果你愿意的话。
    2. RTP TURN 继电器(如果需要)。这可能会通过不同的服务器(如果需要,也可以与您的托管服务器相同)。对于某些连接,需要一个 TURN 服务器,任何生产就绪的 WebRTC 解决方案都应该考虑到这一点。 Here is a good open source turn server。此处的带宽使用率可能非常高,因为 RTP 数据包被发送到此服务器并转发到连接中的对等方。
    3. 如果您正在录制流,您可能会增加托管流量,具体取决于您的实施方式。 Firefox 支持client side recording 的流,但 Chrome 不支持(他们说目前正在开发中)。您可以使用existing JS libraries 记录客户端的提要,然后将它们推送到您想要的任何地方。您还可以通过 MediaServer 推送所有数据,该 MediaServer 将复用、解复用和转发数据,以便在您喜欢的任何地方记录。 Janus-Gateway videoroom 是一个很好的轻量级媒体服务器示例。

    客户端是另一回事。

    1. Javascript 中有更高级别的问题。如果您使用其中一个录制 JS 库,这一点尤其明显,因为它们每秒会多次捕获画布,这会造成严重影响,并且会降低用户体验。
    2. 浏览器的 CPU 利用率将随着流式传输视频质量的提高而增加。这是相当明显的,因为 HD 视频帧比 SD 帧需要更多的 CPU 功率来编码/解码。
    3. 客户端带宽使用也可能是一个问题。 Chrome 和 Firefox 尝试动态修改每个视频/音频源的比特率,但视频比特率可以一直达到 2 Mbps。您可以在 Chrome 中限制这一点(通过在 SDP 中添加一个属性),但目前还不能在 Firefox 中(我上次检查过)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多