CPaaS(通信平台即服务)平台通过利用后台内置的 WebRTC API,开发人员能够快速轻松地将音频和视频集成到他们的应用程序中。然而,这一抽象层通常使得难以进行优化以从平台中获得一些额外的好处。
那么,您可以做些什么来提高 WebRTC CPaaS 应用程序中的通话质量和用户体验?让我们看看一些想法,并使用一种更流行的 CPaaS 平台如Vonage Video API来测试它们。
优化会话连接
没有人喜欢在按下加入呼叫按钮时等待并观看加载屏幕。或者更糟的是,什么也看不见。出于这个原因,我们建议在通话中有一定数量的参与者后强制参与者加入并禁用他们的视频/音频。这保留了网络带宽并允许 CPaaS 平台利用该带宽来连接流。
在测试时,我们发现了以下改进:
如您所见,直到第 8 位参与者,我们才发现使用此方法加载时间没有重大改进。在第 8 位参与者之后,我们看到了显着的改善。
降低分辨率
对于大型呼叫,通常需要降低订阅者流的分辨率以节省网络带宽并缓解网络拥塞。大多数 CPaaS 平台都提供此选项,尤其是当您使用VP8作为支持联播的视频编解码器时。确保你的分辨率没有设置为比屏幕上显示的 DOM 元素更高的分辨率。
您可以看到 320 x 240(低分辨率)流和 1280 x 720(高分辨率)流之间的网络带宽差异。在较低的分辨率下,比特率具有高方差。但平均而言,与高分辨率相比,它的比特率几乎只有一半。
节流帧率
就像分辨率一样,您还可以限制订阅流的帧速率以减少网络带宽。帧速率的具体界限将取决于您的应用。我们发现这些限制最适合我们的客户:
- 小于5,设置为30fps
- 从 5 到 9,设置为 15fps
- 大于 9,设置为 7 fps
下面是高 FPS 流和低 FPS 流之间比特率差异的比较:
不要展示他们看不到的东西
开发人员常犯的一个错误是当订阅者视频流在屏幕上不可见时,他们忘记取消订阅该流。这意味着您仍在为该流分配 CPU / 网络资源,即使用户看不到它。更好的选择是使用浏览器滚动事件来确定流何时在视图中,然后动态订阅/取消订阅。
移动电话和超大电话的布局策略
到目前为止讨论的所有优化都适用于您现有的 CPaaS 设置。现在让我们讨论更改您的呼叫布局以更好地支持移动用户并使您的视频应用程序可扩展以允许更多参与者。
这个想法很简单。检测谁在说话,只在整个屏幕上显示他们的流。其他人的视频仍未订阅。以这种方式在视频流之间切换提供了双重优势。首先,它提高了超过 50 名参与者的会议的可扩展性。其次,它为用户提供了更好的质量,因为它允许我们以更高的分辨率和帧速率订阅主流。
这是此类布局的示例:
作者:Hamza Nasir
原文链接:https://webrtc.ventures/2022/11/optimizing-webrtc-cpaas-applications/
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。