Meta 规模化为 Instagram 直播推流基于 QUIC 的媒体传输

📌 One-Sentence Summary
Meta 为 Instagram Live 推流部署了 Media over QUIC (MoQ),以简化其协议栈并提供大规模、低延迟且韧性的视频流传输。
📝 Summary
Meta 已在 iOS 和 Android 上将 Instagram Live 推流切换至新兴开放标准协议 Media over QUIC (MoQ)。此前,Meta 使用多种碎片化协议(RTMP、HLS、DASH、WebRTC)及其内部的 RUSH 协议。通过采用 MoQ,Meta 实现了推流和播放的统一传输层,通过 QUIC 减少了头部阻塞,并允许根据不同用例调整延迟。文章详细介绍了工程领域的挑战,例如使用基于边缘的翻译层以避免后端重写,以及通过 QMUX 等基于标准的 TCP 回退机制处理拦截 UDP 的防火墙。
💡 Main Points
协议栈的统一
Meta 此前针对不同的视频体验使用多种协议栈(RTMP、HLS、DASH、WebRTC),这增加了运维复杂性。转向 MoQ 为推流和播放提供了一个共同基础。
“Track”抽象的优势
MoQ 使用“Track”作为媒体对象的可寻址流。这使得中继节点可以在解析完整有效负载的情况下丢弃或优先处理对象,从而比传统的字节流协议具有更好的拥塞控制行为。
策略性部署方案
为了在不进行大规模后端重构的情况下完成部署,Meta 在边缘实现了翻译层,将 MoQ 帧转换为旧的 RUSH 格式,从而允许分阶段且可回的实验性发布。
处理网络限制
由于 UDP/443 经常被防火墙拦截,Meta 利用基于标准的 TCP 回退机制(QMUX),以确保在所有用户网络环境下的连接性。
💬 Key Quotes
Instagram Live 现在在 iOS 和 Android 上使用开放标准传输协议 Media over QUIC (MoQ) 进行直播视频推流。
作为一种同时为推流和播放设计的传输协议,MoQ 为我们构建低延迟、在不稳定网络上更具韧性、且对创作者和观众响应更快的架构奠定了基础。
MoQ 的核心抽象是 Track,它是一个可寻址的媒体对象流,发布者通过中继网络进行推送并接收。
翻译层是临时脚手架;一旦 MoQ 成为唯一的推流路径,后端将原生消费 MoQ。
📊 Article Meta
AI Screening: 90
Featured: Yes
Source: Engineering at Meta
Author: Engineering at Meta
Category: 软件编程
Language: 英文
Read Time: 7 min
Word Count: 1710
Tags:
编程与工程 , 系统设计 , 移动开发 , 性能优化 , 开源项目
暂无评论,快来抢沙发~