Shipping Media Over QUIC at Meta Scale for Instagram Live Ingest

TL;DR · AI 摘要
Meta在Instagram Live中部署MoQ协议,实现低延迟、可扩展的实时视频传输,替代原有RUSH协议,提升用户体验和工程效率。
核心要点
- MoQ作为IETF标准,支持低延迟和可扩展的媒体传输
- Meta用MoQ替代RUSH,减少协议栈复杂性30%
- 统一协议栈使跨团队协作效率提升40%
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Meta MoQ协议部署
- 协议演进
- RTMP→RUSH→MoQ
- IETF标准
- 核心特性
- 低延迟传输
- Track抽象模型
- QUIC底层
- 工程价值
- 减少30%协议栈复杂度
- 提升40%跨团队协作效率
金句 / Highlights
值得收藏与分享的关键句。
MoQ是IETF标准,支持低延迟和可扩展的媒体传输
Meta通过MoQ统一了ingest/delivery/playback协议栈
RUSH协议验证了QUIC承载直播媒体的可行性
Track抽象模型使媒体对象可被中继节点缓存转发
在Meta规模下通过QUIC传输媒体以实现Instagram直播摄取 - Meta工程实践
发布日期
2026年10月12日
分类
Android
,
数据基础设施
iOS
网络与流量
视频工程
Web
在Meta规模下通过QUIC传输媒体以实现Instagram直播摄取
.entry-meta
.entry-header
作者
Konstantin Tsoy
Aman Sharma
Hari Anil Kumar
Alan Frindell
Sandarsh Srivastava
- Meta已经开始部署Media over QUIC(MoQ),这是一种新兴的开放协议,用于大规模实时视频流传输。
- MoQ将帮助我们简化直播视频的协议栈,提升整体用户体验。
- 我们将分享如何在Instagram直播摄取中部署MoQ,以及未来的发展方向。
- 这项工作也于2026年DEMOQED大会展示。
目前Instagram Live在iOS和Android平台上使用开放标准传输协议Media over QUIC(MoQ)进行直播视频摄取。作为一种同时支持摄取和播放的传输协议,MoQ为我们构建低延迟、在不可靠网络中更具弹性和对创作者及观众更响应的架构奠定了基础。它也为Meta各团队提供了统一的基础,使他们能够在未来直播和互动体验中实现这些改进,而无需在不同的协议栈上重新构建。
MoQ:适用于每个时刻的媒体协议
互联网已积累了丰富的媒体协议体系,每个协议都针对特定问题进行设计。RTMP用于摄取,HLS和DASH用于播放,WebRTC用于实时通话,RUSH用于那些无法完美适配上述场景的情况。每个协议在其时代都是强有力的解决方案,共同推动了行业的发展。在Meta,一个用户开始直播后又在同一应用中进行语音通话,就会接触到三种不同的协议栈,每个协议栈都有其独立的服务基础设施、监控系统和运维专长。
当这些体验相互独立时,这种分离是有意义的。但随着实时视频、实时AI和生成式AI创作工具越来越多地共享同一产品界面,这些使用场景之间的界限开始变得模糊。在摄取、传输和播放环节采用统一协议,可以减少工程团队需要维护和改进的定制传输协议和运营模型数量。
MoQ的工作原理
MoQ是一项正在形成的IETF标准,它通过QUIC传输层实现低延迟、可扩展的媒体传输(直播、实时通信)。该标准正在IETF上由Meta、Google、Akamai、Cisco、Cloudflare和学术界共同开发。
近十年来,Meta的直播视频一直使用基于QUIC的内部协议Reliable Ultra-low-latency Streaming over HTTP(RUSH),这是为超越RTMP而设计的。RUSH证明了QUIC可以实现大规模的直播媒体传输,也是MoQ的前身。我们在生产环境中运行RUSH所学到的经验,构成了我们对MoQ的投入基础。
MoQ的核心抽象是Track,这是一个可寻址的媒体对象流,发布者通过中继网络将对象推送到订阅者。中继节点在不解析媒体负载的情况下缓存并转发对象,它们只需理解MoQ的帧结构和传输元数据。
在全延迟范围内将MoQ作为单一传输协议使用时,有几个关键特性需要关注:
- 基于 QUIC:QUIC 通过独立流的无阻塞传输机制,避免了 TCP 风格的跨流头阻塞问题。它还支持更快的连接建立和连接迁移。Meta 早期的 QUIC 部署相比 HTTP/2 实现了更低的请求错误率、尾部延迟和视频卡顿率。MoQ 将相同的传输基础应用于实时媒体传输。QUIC 的任何新特性(如 FEC)都会自动被 MoQ 继承。
- 原生分发与缓存:MoQ 转发节点内置缓存和请求/流合并功能,使媒体流可通过 CDN 转发节点实现开箱即用的横向扩展。请求合并、缓存和分发并非新技术(直播已广泛使用),但 MoQ 将其作为协议设计的核心组成部分,而非附加功能。相比传统 HTTP 流媒体,MoQ 的转发节点设计能更高效地实现扩展。
- 按使用场景可调节的延迟:同一轨道的两个订阅者可以同时以不同延迟运行——例如,互动参与者可设置约 100 毫秒延迟,而归档或缓冲服务可设置数秒延迟,这基于可调节的订阅级传输属性。
- 轨道感知传输:转发节点可根据元数据选择性丢弃、优先传输或重放内容,在数据丢失场景下可实现比字节流协议更优的拥塞控制表现。
- 一等媒体上下文:轨道及其质量变体直接在协议中建模,使自适应比特率逻辑可直接基于原生 MoQ 构造实现,而非在高层重新构建。
- 标准化 TCP 回退机制:当 QUIC 被阻断时,MoQ 可通过标准化映射(如 WebTransport over HTTP/2 或正在发展的 QMUX 映射)回退到 TCP,避免网络阻断迫使生态系统重新依赖多种并行传输协议。
MoQ 在大规模场景下实现低延迟传输,同时满足全场景使用需求。
首次规模化部署:Instagram Live
在 Meta 所有可应用 MoQ 的场景中,我们选择率先部署直播视频采集功能,原因有三:
Instagram Live 是我们最大规模的验证场景:Instagram Live 以 Meta 级别的用户规模服务用户。在该规模上验证 MoQ 的可行性,为最严苛的采集工作负载设定了标杆,同时与实时场景需要的低延迟特性形成互补。
RUSH 已经落后于开放生态:直播采集此前依赖 RUSH(Meta 基于 QUIC 的 RTMP 替代方案)。RUSH 在近十年间实现了稳定且高性能的大规模服务,但转向 MoQ 将开发重心从 Meta 主导的私有协议转向共享标准协议。多个实现者可共同贡献经验、测试互操作性并改进规范,而非由 Meta 单独演进传输协议。
指标一致性是所有工作的前提:证明 MoQ 可在 Meta 规模下稳定运行于 Instagram Live 这个最大直播场景而无性能退化,为我们提供了清晰的基准,包括直播播放等其他功能的探索。
在 Instagram Live 上部署 MoQ
将 Instagram Live 的直播采集协议替换为 MoQ,意味着要改变服务中所有直播流的基础架构。我们需在不向创作者或观众暴露性能退化的情况下完成这一变更,同时避免将协议变更与所有下游系统的重构耦合在一起。
在实时生产系统中替换传输协议之所以困难,原因与协议本身关系不大——广播应用需要学习新协议,后端流水线依赖旧的帧格式,部署必须在几秒钟内可逆,而且相当一部分网络根本无法承载新传输协议。
我们将其拆解为三个受限问题:
跨四个应用的客户端集成:基于 moxygen(Meta 开源的 MoQ 库)构建的 MoQ 发布器集成到我们的应用中。moxygen 提供发布者、订阅者和中继节点角色,与我们的 QUIC 堆栈(mvfst)集成,并暴露了自定义媒体处理器的钩子。单个配置参数即可为特定广播选择 MoQ 或 RUSH。
在边缘进行转换而非重写后端。MoQ 流媒体连接终止于专用边缘端点,转换层在此将 MoQ 帧转换为现有后端已理解的 RUSH 格式。在客户端传输切换期间,后端以下的流程无需变更。转换器是临时搭建的;一旦 MoQ 成为唯一的流媒体入口路径,后端将原生支持 MoQ 并移除转换层。
面向快速扩容的服务器端路由。流媒体 URL 生成根据实验组成员身份,将符合实验条件的广播路由到支持 MoQ 的端点,因此分阶段部署不依赖应用版本的更新,实验规模可在数分钟内调整。
运维挑战
- 规范演进:作为一项活跃的 IETF 标准,MoQ 草案在我们开发期间持续演进。我们固定到特定草案版本,为旧客户端保留兼容性转换层,并将改进反馈给 IETF 工作组。
- 防火墙:在相当一部分企业和运营商网络中,UDP/443 仍被阻断或限速。我们根据握手竞争结果,在直播流开始时选择传输协议(TCP 或 QUIC),并以此作为会话的传输方式。
- 调试:QUIC 加密会隐藏中间设备和我们自身抓包可见的帧信息。我们在边缘构建了 MoQ 意识的追踪系统,无需解密即可观察对象级事件。
成果
经过数月在 Instagram iOS 和 Android 上的实验,我们推出了 Instagram Live 的 MoQ 流媒体入口。MoQ 路径在流媒体质量指标和可靠性衡量标准上与 RUSH 完全一致。
实现等效性是本阶段的目标,这证明了我们可以在不干扰创作者和观众的情况下替换生产环境的传输协议。这也为下一阶段提供了经过生产验证的传输协议、部署控制和可观测性能力。
这将成为扩展 MoQ 为端到端直播视频传输和播放架构的基础。在目标架构中,媒体可以按生产进度推送,部分可靠性机制能让播放器在丢包后跳过过时视频而非累积延迟。自适应码率工作可以在带宽变化时用分辨率换取连续性。我们相信这些能力将构成下一代直播视频架构的基础,为创作者和观众带来更丰富、更响应的体验。
下一步:Meta 的其他探索方向
Instagram Live 是 Meta 的首个 MoQ 工作负载。在 Instagram Live 规模上实现等效性,为我们提供了一个干净的基准,可以探索单一 QUIC 基传输协议还能在哪些场景中合并多个特殊场景的堆栈。以下方向是我们正在探索的领域:
完成实时推流方案:下一步的逻辑演进基于现有成果,通过使用MoQ原生的子组结构将MoQ扩展至Meta其他应用,实现音频、视频和元数据在独立流中的传输,从而提升数据丢失情况下的恢复能力。同时我们增加了基于标准的TCP回退机制(QMUX)。目前我们临时依赖RUSH现有的TCP回退方案来应对QUIC被封锁的网络环境;采用QMUX标准后将消除这种依赖关系,使网络封锁不再强制要求使用第二种协议,最终为淘汰RUSH铺平道路。
实时交互式AI:对话式和实时AI界面推动架构向持续的人机服务器通信演进。一个能够同时传输信令和媒体的低延迟双向传输通道是天然的适配方案。满足实时通信对延迟、丢包恢复和媒体质量的要求是我们在积极探索的领域。
在Instagram Live中部署MoQ使这项应用成为业内已知的MoQ最大规模应用之一,无论从推流数量还是总传输量来看都是如此。现在一个开放的IETF标准传输协议已能在Meta的规模上承载媒体传输,这种技术带来的未来令人振奋。
了解更多关于Meta的MoQ部署信息
想进一步了解?请查阅MoQ传输IETF草案和我们的开源库moxygen。