适合于构建视频会议应用的WEB API介绍

WebRTC集成到浏览器中并被标准化已有近十年的历史了,它目前正在服务于几乎所有的浏览器,为诸如视频会议、远程交互等应用提供全栈解决方案。但是WebRTC有局限性,比如灵活性相对较低,用户无法控制WebRTC的内部工作机制,对于像 Zoom 这样的许多视频会议产品希望可以访问浏览器中更底层的API,以实现差异化的功能。
这里列举了几项为Web 浏览器中视频会议解决方案提供支撑的技术,尽管部分技术可能尚未成为真正的标准,但在chrome中已经可以开始试用了。

  1. WebAssembly SIMD(单指令、多数据):提供了一个可移植的、高性能的 SIMD 操作子集,适用于大多数现代CPU架构。音频/视频编解码器和图像处理器等计算密集型应用可以利用SIMD提升处理性能,比如一个示例是在视频会议的web应用中用虚拟背景替换用户的真实背景。Chrome最早在v84中引入了SIMD的原始试用版。

  2. WebTransport:WebTransport与WebSocket最直接的区别就是一个是基于UDP,一个是基于TCP。WebSocket基于TCP,从而也自带TCP协议本身的缺陷,比如队头阻塞。WebTransport 提供基于QUIC 和 HTTP3实现的API, 自动获得QUIC和HTTP3本身的特性。另外,它也具备多个传输通道复用一个连接的能力,能够很好的替代WebSocket。

  3. WebCodecs API:为开发人员提供了直接访问底层codec的通道,利用浏览器中已有的编解码器对数据进行解码或重新编码。在目前的WebAPI中,虽然已经有MediaRecorder 和 MSE 两套编解码相关的API, 但他们都有很多限制。比如MSE对解码器的输入有比较严格的要求,而且时延也相对比较高。WebCodecs 最早在v86版本中引入试用。

  4. Web Neural Network API(简称为 WebNN)是用于神经网络推理硬件加速的专用底层 API,能够利用专用的机器学习硬件加速器和 Web 浏览器中的原生指令提升AI处理的性能。WebNN 的设计考虑了诸如人物检测、人脸识别、姿态识别、超分辨率、图像字幕、情感分析、噪声抑制等用例。目前已经发布草案。
    适合于构建视频会议应用的WEB API介绍
    虽然基于Web的视频会议解决方案没有与桌面客户端完全相同的功能,但这些 API 的使用将会一定程度上减小他们之间的差异。

上一篇:SIMD/AVX文档解析


下一篇:(视频) 《快速创建网站》 2.3 WordPress初始化和功能简介