写点什么

从点播到直播:Netflix 在 1 分钟内向一亿台设备推送直播流

作者: Leela Kumili

  • 2025-12-15
    北京
  • 本文字数:1435 字

    阅读完需:约 5 分钟

大小:710.06K时长:04:02
从点播到直播:Netflix在1分钟内向一亿台设备推送直播流

Netflix 详细介绍了其全球直播流媒体平台背后的架构,概述了它是如何构建基于云的采集管道、定制的直播源站(live origin)系统、通过 Open Connect 扩展的传输层,以及支持数百万观众的大型直播活动的实时推荐系统。名为“Behind the Streams”博客系列分为三部分,描述了三年来的工作重点,他们将直播流媒体从早期实验阶段,逐步发展成为一个可靠、低延迟的系统,并深度集成到 Netflix 更广泛的播放与个性化体系中。

 

采集和转码管道构成了系统的基础。Netflix 工程师解释说,公司使用了AWS MediaConnectMediaLive等云服务来引入直播广播源,并将其转换为适合其多样化设备生态系统的自适应比特率格式。团队指出,基于软件的转码会在事件生成期间为格式、分辨率和编解码器提供更多的配置灵活性。这种灵活性允许在事件生成期间快速迭代,并能够处理全球合作伙伴的广泛内容源。



用于采集直播内容的专用广播设施(来源:Netflix博客文章

 

第二个关键组成部分是自研的直播封装(live packaging)与源站层。Netflix 没有依赖第三方封装服务,而是构建了一套内部系统,用于生成视频分片、管理加密、生成播放列表(manifest),并将时效性极强的内容资产存储在专用的 Live Origin 环境中。据 Netflix 工程师介绍,该系统旨在满足严格的延迟和持久性要求,同时支持多条音轨、字幕,以及AVCHEVC两大编解码器系列。团队强调,直播源站在每几秒内必须处理数百万次读取请求,并在流量激增期间仍保持稳定的性能表现。

 

直播活动的内容分发进一步扩展了Open Connect(Netflix 全球内容分发网络)的能力。通过将快速生成的分片发布到地理分布广泛的边缘节点,该平台有效减轻了中心源站的负载,并为全球观众最大限度地降低了延迟。工程师指出,这种架构对于体育赛事和特别节目等需要同步观看体验的场景至关重要,即使分片到达时间存在微小差异,也可能显著影响用户的整体观看体验。

 


直播源站的启动(来源:Netflix技术博客

 

实时发现(real-time discovery)带来了独特的挑战,因为传统的推荐系统依赖预计算和缓存机制,而这在快速变化的直播内容面前失效了。为此,Netflix 重新设计了其基础设施,确保直播活动能在用户界面中迅速呈现,即使在需求激增期间也不例外。为了让数百万台设备保持同步,系统采用两阶段机制:提前预取推荐内容以分散负载,并实时广播低基数(low-cardinality)更新,以触发即时缓存刷新。该方案不仅保障了系统可靠性、避免了“惊群效应”(thundering herd problem),还能动态适应节目排期的临时变更。据 Netflix 工程师介绍,在峰值负载期间,该系统曾在不到一分钟内向超过一亿台设备推送了更新。



面向实时推荐的分阶段架构,针对每项约束进行优化(来源:Netflix技术博客


Netflix 的实时监控体系融合了内部工具(如AtlasMantisLumen)与开源技术(如 Kafka 和Druid),每秒可处理高达 3800 万条事件,并在数秒内交付关键指标。专门设立的“控制中心”(Control Center)将核心指标集中展示,供运营团队实时监控直播事件。

 

此外,Netflix 的编排系统实现了采集、编码、封装和源站配置的自动化,大幅减少人为的错误,并支持快速响应。跨区域部署的冗余流水线确保了系统的高可用性,而“控制室”(Control Room)则提供对直播事件的实时可视化、故障切换控制和全生命周期管理。这一整套架构不仅简化了运维流程、优化了资源利用,更保障了全球数百万观众获得稳定、高质量的观看体验。

 

原文链接:

From On-Demand to Live : Netflix Streaming to 100 Million Devices in Under 1 Minute

2025-12-15 09:368

评论

发布
暂无评论

软件测试 | 测试开发 | Junit5 架构、新特性及基本使用(常用注解与套件执行)

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Jenkins 踩坑 | job 创建、参数化、定时构建及时区偏差问题解决

测吧(北京)科技有限公司

测试

【开发者说】携住数智酒店,用原子化服务创造全新入住体验

HarmonyOS开发者

HarmonyOS

资源画像,看得见的容器资源优化助手

阿里巴巴云原生

阿里云 容器 云原生 ACK

软件测试 | 测试开发 | Python 自动化测试(四):数据驱动

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Python 自动化测试(三): pytest 参数化测试用例构建

测吧(北京)科技有限公司

测试

西安前端培训班学习哪家比较好

小谷哥

西安Java培训班哪家比较好

小谷哥

开放算力,云启未来!与龙蜥一起开启 2022 云栖大会之旅

OpenAnolis小助手

开源 科技 峰会 云栖大会 龙蜥社区

Java | interface 和 implements关键字【接口,看这篇就够了】

Fire_Shield

Java 接口 9月月更

软件测试 | 测试开发 | PageObject(PO)设计模式在 UI 自动化中的实践总结(以 QQ 邮箱登陆为例)

测吧(北京)科技有限公司

测试

武汉web前端开发培训机构学费多少

小谷哥

数字孪生实操——实践类

阿里云AIoT

物联网 数据采集 传感器 数字孪生

国庆福利:6大云原生落地指南、100余页实用转型干货 免费下载!

York

容器 DevOps 微服务 云原生 应用现代化

源码学习之MyBatis的底层查询原理

京东科技开发者

Java sql 源码 mybatis mybatis源码

Python 测试开发实战进阶,技能对标阿里 P6+,挑战年薪 50W+!

测吧(北京)科技有限公司

测试

十分钟速成DevOps实践

华为云开发者联盟

后端 开发

Java培训技术学习哪个前景不错

小谷哥

IoT数据倾斜如何解决——实践类

阿里云AIoT

算法 流计算 物联网 数据处理 并行计算

大数据开发培训机构怎么选择

小谷哥

软件测试 | 测试开发 | Pb协议的接口测试

测吧(北京)科技有限公司

测试

SBOM:缓解软件供应链风险的关键

SEAL安全

DevSecOps 软件供应链 SBOM 软件供应链安全

软件测试 | 测试开发 | Git实战(四)| Git分支管理实操,搞定在线合并和本地合并

测吧(北京)科技有限公司

测试

Hibernate 缓存与 MyBatis 缓存的理解以及比较

codeshero

Java hibernate 缓存 mybatis缓存 9月月更

隐私计算大规模落地场景的解决之道:分布式计算架构

Jessica@数牍

隐私计算 分布式技术 分布式计算框架

软件测试 | 测试开发 | Git 实战(三) | Github 必会高频基础命令与 IDE 的 Git 集成

测吧(北京)科技有限公司

测试

关于事务注解中的常用参数详解

codeshero

Java 后端 事务 注解 9月月更

小间距LED显示屏未来十大发展方向

Dylan

LED显示屏 led显示屏厂家 户内led显示屏

软件测试 | 测试开发 | Git实战(五)| 让工作更高效,搞定Git的分支管理

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | UI 自动化测试实战(二)| 测试数据的数据驱动

测吧(北京)科技有限公司

测试

DAPP系统开发Web3合约技术

薇電13242772558

dapp web3

从点播到直播:Netflix在1分钟内向一亿台设备推送直播流_云计算_InfoQ精选文章