MOQ 和 WebRTC 协议有什么区别?

MOQ 是一种基于 QUIC 的实时媒体协议,目前在流媒体领域被认为是 WebRTC 的替代方案之一。本文总结了 MOQ 和 WebRTC 两大协议的区别,为开发者选择提供参考。

近日有开发者问起“有没有比 WebRTC 延迟更低的方案”,让我联想到了最近几个月行业内(主要是国外 RTC 从业者)讨论 MOQ(Media over QUIC) 和 WebRTC 的话题。从 Cloudflare 发起,到 WebRTCHacks、nancosmos、Red5、bloggeek、Tony Hicks、webrtc.ventures 等机构和大佬纷纷下场,多角度论述了两者的技术特点、现状及未来展望。本文结合它们的部分观点,总结一下 MOQ 和 WebRTC 两大协议的区别,为开发者选择提供参考。

MOQ 和 WebRTC 协议有什么区别?

MOQ 和 WebRTC 概述

在比较两者的区别之前,我们简单的来了解一下什么是 MOQ 和 WebRTC。

什么是 MOQ?

根据 moq.dev 的介绍,MOQ(Media over QUIC)是一种基于 QUIC 的实时媒体协议:QUIC 是一种功能强大的 TCP/UDP 替代方案,也是HTTP/3 的基础。它由IETF * 和几家大型科技公司(例如 Google、Meta、Cisco、Akamai、Cloudflare 等)共同开发[1]。它被认为是 WebRTC 的替代方案,是一种新的可以在浏览器中实现实时延迟方法,包括通过通用 CDN 进行内容贡献和大规模分发。

WebRTC 专家,BlogGeek.me 的博主 Tsahi Levent-Levi 对 MOQ 的定义则更为简单,他表示 MOQ 就是一种适用于网络媒体流传输的协议,涵盖直播和点播场景。该协议在设计时充分考虑了现代互联网的基础设施和网络行为特征[2]

另外,关于 MoQ,ZEGO 以前也发表过一篇文章《MoQ 协议详解:优势、应用场景和工作原理》,里面也有比较详细的介绍,这里不再赘述。

什么是 WebRTC?

WebRTC 是 Web Real-Time Communication 的缩写,是一个广泛采用的开源项目,可支持浏览器和移动应用程序之间的实时通信。其目的在于通过提供一组 API 和协议来实现无缝音频和视频流以及高效的数据交换,从而促进点对点(P2P)通信。

WebRTC 已经从早期的视频通话演变为支撑数字经济基础设施的关键技术。目前,它已广泛应用于视频会议、在线教育、远程医疗及新兴的 AI 交互场景。

虽然 WebRTC 已成为数字经济的基础设施,但互联网安全和云计算公司 Cloudflare 有不同的看法。Cloudflare 认为 WebRTC 的 P2P 模型与广播规模存在根本冲突,需要构建实时 CDN,既复杂又昂贵,还列举了一系列其它缺点,为它推出的 MoQ 方案提供支撑理由[3]

于是,就有了开头所说的引发了各个机构和业内大佬关于“MOQ 和 WebRTC”的讨论。

MOQ 和 WebRTC 有什么区别

关于MOQ 和 WebRTC的区别,详看下表:

标准WebRTCMOQ (Media over QUIC)
架构点对点架构,可选配SFU/MCU组件;扩展性复杂客户端-服务器模型,从设计之初即支持可扩展分布式部署
连接速度由于需要进行 DTLS、ICE 和 SDP 协商,因此连接速度较慢。得益于通过 QUIC 和 WebTransport 简化的连接设置,首帧响应时间更快。
延迟行业普遍认为可实现低于 500 毫秒的响应时间超低延迟潜力;完全实现后,预计性能与 WebRTC 相当或略快。
可扩展性通过优化基础设施可以实现扩展,但高效实施具有挑战性。通过 QUIC 传输实现原生可扩展性,并采用 CDN 友好型设计
成本效益现代云基础设施(例如 OCI)的出口流量成本更低,因此更经济实惠。预计通过CDN集成和QUIC效率的提高,将进一步降低分发成本。
媒体功能实时交互式视频、音频和数据流;VOD 或 DVR 式的快进功能需额外实现。支持直播和点播流媒体播放、DVR式快进操作以及高级媒体轨道管理
标准化成熟的 IETF 标准;所有主流浏览器均支持。IETF草案阶段的开发,作为下一代开放标准
生态系统与采纳广泛应用于实时通信和流媒体传输;提供丰富的工具和SDK获得多家知名企业(Red5、Cloudflare、Akamai、Cisco、Google/YouTube、Meta)的支持;快速发展中
兼容性所有主流浏览器和设备均原生支持。基于开放的 Web 标准(QUIC、WebTransport、WebCodecs)构建,以实现跨平台支持
安全DTLS 和 SRTP 加密;功能强大,但会增加设置开销QUIC 以更简单的连接过程原生处理安全性;TLS 1.3 从一开始就已内置。
网络协议基于UDP,并采用成熟可靠的RTP/RTCP标准直接基于 QUIC(基于 UDP),消除了 RTP 开销
可靠性与拥塞控制成熟的拥塞控制和数据包重传(NACK、FEC、TWCC)基于QUIC的可靠性;简化的重传和流量控制机制
应用场景实时通讯、现场活动、游戏、监控和拍卖等面向未来的可扩展直播、视频点播和CDN替代方案
成熟度已做好生产准备并经过实战检验新兴技术正在积极研发中

简而言之,WebRTC 仍是实现超低延迟浏览器流媒体的最佳选择,而 MOQ 则基于 QUIC 协议为未来的实时及混合应用场景提供了更简洁、可扩展的解决方案。MOQ 或许是当下最热门的技术,但事物在不断演进,未来必将涌现新方案。

常见问题

Q1. MOQ 是否值得一试?

MOQ 设计初衷就是为了流媒体传输,它不仅具备 HLS 的所有优点,还拥有通常只有 WebRTC 和类似协议才具备的低延迟能力。也许一旦 MOQ 技术更加成熟,直播的应用场景可能会更多的迁移到 MOQ。如果你的应用场景是直播,那么绝对值得一试。了解这项技术,并思考如何将其融入你的中长期发展规划中。

Q2. 有没有比 WebRTC 延迟更低的方案

WebRTC 可以实现平均 500 毫秒左右延迟,MOQ 也被认为有这种能力。如果采用像ZEGO RTC这类第三方实时互动服务商的方案,端到端的最低延迟可以在79毫秒左右(平均 200 毫秒)。但是要记住,你追求的延迟越低,你的服务就越复杂,最好的方式是要匹配实际的应用场景。

Q3. MOQ 和 WebRTC 哪个更好?

MOQ 和 WebRTC 并非竞争对手,因为两者各有优势,适用于不同的场景,可以而且应该在 RTC 领域共存。

Q4. 流媒体领域采用 MOQ 有哪些优势呢?

在流媒体领域,MOQ 协议的优势主要有实时/低延迟和开箱即用的按需服务;依赖传统 CDN 技术实现大规模内容分发;发布者和订阅者使用统一协议等。

参考资料:
[1]https://moq.dev/
[2]https://bloggeek.me/moq-redefine-realtime/
[3]https://blog.cloudflare.com/moq/

原创文章,作者:ZEGO即构科技,如若转载,请注明出处:https://market-blogs.zego.im/reports-baike/3026/

(0)
上一篇 4天前
下一篇 2天前

相关推荐

发表回复

登录后才能评论