Slack是如何使用WebRTC的?
极客时间编辑部
讲述:丁婵大小:1.36M时长:02:58
WebRTC 本身是一组技术的集合,基本上考虑到了音视频通话的方方面面,但是要把它用起来也并不容易。2016 年,线上协作工具 Slack 采用 WebRTC 技术实现了其应用内的音视频通话功能。为了解 WebRTC 在 Slack 的使用,InfoQ 对 Slack 视频组高级主管工程师拉杰·库马尔(Raj Kumar)进行了专访。
在谈到 Slack 为什么会选用 WebRTC 技术时,拉杰表示,WebRTC 的一大优势是它内置在当今的 Web 浏览器中。在它之上构建产品,意味着用户可以在 Web 浏览器中启动应用程序,无需安装任何插件或下载任何其他软件。
内置在 Web 浏览器中的 WebRTC 技术不仅可以提供一流的用户体验,同时也使得不同产品之间的协同变得轻而易举。例如,Slack 用户可以使用 Slack Calls 进行视频通话,也可以使用与 Slack 集成的任何一款第三方视频会议应用程序,这些应用程序都能够与 Slack 无缝地链接在一起。
使用 WebRTC 的另一个优点是,当由 Google 主导的 WebRTC 团队对产品进行改进时,基于其构建的所有应用程序都可以快速获得相应的改进。
不过实时通信是由采集、编码、前后处理、解码、缓冲、渲染等多种技术组成的集合体,WebRTC 只是提供了前端实现和编解码,如果开发者要商用,还需要做不少的开发部署工作,来提供可用性。
但 WebRTC 也存在不少无法忽视的技术问题,比如会占用非常高的 CPU 计算资源。对此,拉杰解释道,WebRTC 中最消耗计算资源的组件是视频编码器。在大多数平台上,视频编码和解码都是在软件中执行,而不是使用专用的硬件编解码器。好消息是,这种情况正在缓慢地改善。
当谈到挑战时,拉杰表示,Slack 可以为 Mac、Windows 和 Linux 桌面,以及 iOS 和安卓设备提供客户端,因此面临的挑战就是如何让所有客户的 WebRTC 库保持同步,并为每个客户端团队提供本地平台的高级 WebRTC API。
为此,Slack 打造了一个构建系统,这个系统可以让桌面团队通过 C++ 界面、让安卓团队通过 Java 界面、让 iPhone 团队通过 Objective-C 界面,来对 WebRTC 进行协同编译,让 Slack 的团队可以专注于建立强大的客户端,而不必担心 WebRTC 代码的接口问题。
最后,拉杰谈到,WebRTC 仍然是一种新兴的技术,与之相关的质量演进还需要比较长的时间,应用场景都有很大的空间可以挖掘,所以对开发者来说,现在是构建自己应用的很好的时机。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论