阿里云CDN直播架构与双11晚会直播实战

简介:

分享人:阿里云CDN直播 高级技术专家 阙寒
分享内容:双11直播活动是众多直播活动中非常典型的场景,离不开直播本身这个话题。所以今天的分享会从直播概述、直播架构、业务功能、直播监控、双11这几个方面来进行。
CDN_1

每年双11购物节,有两块压力是最大的,第一块是支付宝交易,第二块就是CDN。那么CDN技术到底是什么呢?

举个简单例子,不管你的在电脑淘宝上还是手机APP上买东西,进入商品详情页,你会看到很多图片,有的商家为了更好的宣传,会上传视频,让你看得更形象。当商家把图片和视频上传到服务器时,一般是阿里巴巴的主站机房,存储在杭州。但是看这个商品详情的人,可能来自遥远的东北或海南,如果他们直接访问杭州机房,那这个链路会非常长,还存在跨运营商的问题,体验会很差,表现出来就是图片刷不出来等问题。通过CDN技术,可以把这些在杭州机房的图片、视频等静态文件分发到全国各地的几百个机房内,这样,北京用户在看产品详情的时候,直接访问北京的机房,而且是网内覆盖(电信用户访问电信机房),这样就能就近、快速获取数据。而且,对于一个商品详情页的构成,数据量最大的就是图片和视频,其他文本几乎可以忽略不计,对于图片和视频的内容分发极速可以保障用户的体验更加顺畅。

视频直播概述

直播大约是从2014年左右兴起,以映客、斗鱼、熊猫TV、战旗TV这些直播平台为代表。其实主要有两种场景,一种是手机直播,一种是游戏直播。手机直播推流端和播放端都是各平台自己开发的手机APP,而游戏直播是使用开源的OBS去推流完成上传,播放大多是通过网页播放器完成播放。

视频直播和点播的相同点与不同点

其实对于播放器来说,不管是视频直播还是点播,行为都是一致的:和服务器建立连接以后,不停的读取音视频文件,然后完成渲染。从这里来看,视频点播和直播的区别不大。而它们的主要区别就是点播可以快进、后退进行观看,也可以在任意时间播放,而直播不能快进,也只能在固定的时间点播放。

阿里云直播全景解决方案

推流端经过一次边缘节点的加速,将视频直播流推到直播中心,在直播中心完成一系列转码、截图、录制、水印等处理,然后视频流再经过CDN分发,分发到不同的播放端,播放端有不同的SDK进行秒开、弱网等优化动作。
CDN_2

直播服务的特点——直播系统中的推流与播放

对于视频直播来讲,最重要的两个环节,一个是推流,一个是播放。推流一般采用RTMP协议,常用的推流端包括OBS、手机APP、FFmpeg等。播放除了采用RTMP协议,还可以采用HTTP FLV和HLS协议,RTMP和HTTP FLV是流式传输,HLS是文件加速传输,常见的播放端包括:Flash / VLC / HTML5 / 手机App等等。对于阿里云直播系统来讲,大部分直播分发都是通过流式传输完成的,只有一少部分量是使用文件加速分发完成的。
CDN_3

直播服务的特点——详解流式分发与CDN直播系统

我们再详细看下流式分发。其实在直播场景中,不管是推流还是播放,流式分发都是长连接的,一场直播可能2个小时,推流在这2小时内不会中断。对于播放器来讲,服务器端获取到的是一帧一帧的音视频数据,不管是什么传输协议,都是采用FLV tag来封装。每一帧音频或者视频,都会有一个时间戳的属性。
CDN_4

下面这张图列了一下推流和播放端、服务器之间的关系。我们可以定义推流和播放关系为发布与订阅关系。

CDN_5

对于左侧的服务器A来讲,有两路流。第一路流中,主播直接推流到A服务器上(发布),然后这路流有两个播放端,也就是两个订阅者。而第二路流,这路流有三个订阅者,发布端并不是主流推流,是从服务器B拉流过来进而完成发布的,而这个回源链接对于服务器B来是个订阅者,服务器B的发布者是主播推流。这种服务器与服务器之间的级联关系,就构成CDN直播网络。

直播服务的特点——音视频帧与延迟的产生

视频直播流会传输音频帧和视频帧,对于音频帧来讲,它每一帧都可以独立解码,播放器从服务器获取到任何一帧音频帧之后,都可以独立渲染,听到声音。

而视频帧分为视频关键帧和视频非关键帧两类,视频关键帧可以独立解码渲染,可以直接看到画面,其他非关键帧则做不到,它的解码依赖于前面的视频帧。视频关键帧的优点在于独立解码,但是缺点是携带的信息很多、很大。反之,视频非关键帧则很小,几K或者1K就可以解决。对于视频直播的任何一次播放,都是从视频关键帧开始发送,否则会先出现花屏,体验很差。
CDN_6

我们将两个视频关键帧之间的间隔为一个GOP,这是很重要的概念。下图是一路流的音视频序列,我们可以看到两个key(视频关键帧)中间大概有10秒间隔,下侧的箭头指示的是当前推流所在的位置,后续的虚线是即将要推上来的流。此时,前一个关键帧大概在3秒前出现,如果这时来了一个播放端,那么我们不能从箭头开始发给播放端,因为会花屏。所以我们会选择从前面的关键帧开始发送,也就是说,这时的播放端会从3秒之前开始播放,这也就产生了延迟。这个GOP越大,平均延迟也就越大。GOP越小,平均延迟也就越小。一般,手机直播的延迟在2-4秒,游戏直播延迟在8-10秒。

直播服务特点——服务器缓存数据

之前提到的CDN图片、视频加速,它们在每一个边缘服务器、中间服务器、源站服务器都是以一个一个文件形式来存储的,今天和明天访问文件的数据是不变的。而对于视频直播来讲,存储的数据都是实时在变化的。服务器会存储最近的关键帧以来的数据,每当一个新关键帧出现之后,都会将之前的缓存数据清掉。这样才能保证任何一个时间点来播放的播放端都能从最新进度开始观看直播。
CDN_7

CDN直播架构和业务功能

CDN直播网络架构图,这个架构图就是建立在发布与订阅的关系之上。从左侧的主播推流开始,主播推流到L1边缘节点,再经过L2节点的上行加速,最终到中心机房。对于最右侧的播放端来讲,他们从就近的L1节点完成播放,L1节点一般就是本地覆盖的边缘节点,如果机房内有这路视频流,就直接返回,如果机房内没有这路视频流,就从L2节点拉流,如果L2不命中,最终会去中心机房寻找这路流。这其中,任何的链路都会存在抖动状况,CDN会通过自动切换调度来保证稳定性。
CDN_8

直播中心

直播中心在整个CDN直播系统中非常重要,这中间有一些比较重要的组件。包括流媒体服务器,用于用户存储成千上万路直播流;视频处理组件用来完成转码、截图、录制、切片业务;拉流组件用于解决不是主动推给直播中心的需求;调度组件用来完成每一路流在服务器上查找的问题;直播API一般供客户来访问在线流和历史流的数据;监控组件是供客户来监控每一路流、服务器和组件的稳定性的。

转码业务

还有一个和直播密切相关的就是转码业务。左侧图是一路流转码之前的原始画面,当前码率大约是3000K+,右侧转码出来的视频是300K+。一般转码应用在帮助直播平台节省带宽和处理一些播放端不是很顺畅的场景之下。
CDN_9

截图业务

对视频流周期性的截取关键帧,保存成一张图片。一般用在直播平台对于每个直播间做缩略图来用。用户在直播平台看到了直播间缩略图,过一会儿刷新后是会变化的,这就是通过截图来完成的。

除此之外,整个直播系统中还包括其他业务,比如录制、回调、鉴权、黑白名单、转推其他厂商、播放纯视频纯音频等。

直播监控相关

视频直播有很多属性,所以对其监控是十分必要的,我们一般来监控以下指标:

  • 直播视频码率:一般来说,手机直播码率在500Kbps ~ 1Mbps,游戏直播 码率在1.5Mbps ~ 4Mbps左右。
  • 直播视频播放:监控直播的当前在线人数和总体下行流量大小。
  • 视频帧率(卡顿):因为视频/音频有个特性,它的帧率是固定的,音频30 ~ 60帧/秒,视频15 ~ 40 帧/秒。如果一路流很正常,帧率是一条平滑的直线,如果出现突刺,那么就说明有网络抖动。有了全链路秒级帧率监控图之后, 排查问题变得非常的方便, 针对一路流卡顿以及用户的各种问题可以很快的就明确原因。
  • 全链路监控:对于整个分发链路监控,根据客户的反馈通过全链路监控准确找到问题所在,把有问题节点下掉,或者将链路切换。

双11晚会直播相关预案

最后,我们来看看双11晚会直播中,我们做了哪些预案。其实,从15年开始,双11就有了晚会直播。这个晚会是为了双11进行造势和导流,稳定性非常重要,保障级别会很高。下图是整体拓扑图,基本上和双11直播晚会相关的预案都在这里。
CDN_10

最左侧是现场导播车,分出的信号会将视频流推到直播中心。常规的主播会通过公网推到直播中心,抖动的可能性也会很大,双11晚会会选择专线来推流到直播中心。而且,预案不会只选择一根专线,因为一根专线也可能会成为单点,存在一定风险,所以我们一般选择不同运营商的两根专线,确保链路传输。

从现场采集出来的画面,我们可以看到会有四路,narrow这路流其实是我们采用了窄带高清技术的画面。sh01和sh02是不同专线的互备,sh01_narrow和sh02_narrow也是不同专线的互备,而且sh01的画面使用了主推和冷备两条链路,来防止现场推流设备出现的问题。假设真的某路流出现问题了,会通过播放端对ur来进行更换。

双11直播晚会转码——窄带高清

双11直播晚会采用了窄带高清技术,窄带高清是阿里视频云独有的一套以人眼主观感受最优为基准的视频编解码算法,从这里参数来看,窄带高清和非窄带高清使用的码率峰值和平均码率值是基本一样的,但是窄带高清的画质效果会更好。它具有以下特点:

  1. 能和编码标准的进步垂直发展,效果能够叠加
  2. 能把业界普遍浪费的带宽节省下来,节省20%左右
  3. 能把业界普遍处理不好的复杂场景优化
  4. 能让普通观众一眼就能看出画质的效果不同

程序盯屏预案

对于双11来讲,我们也会有一个盯屏的策略,通过程序对所有流进行播放,输出一个帧率。转码流每秒钟是25帧左右,中间高亮出来的,就是网络或转码存在问题。一旦发现问题,就采取相应的预案。
CDN_11

人肉查看视频预案及其他

排除了网络问题之外,也可能存在音画不同步、现场采集画面出现花屏等情况,所以针对不同播放端类型,也会有人肉查看每路流的实际效果。此外,运营同学也会检测总体流量和CDN节点水位的情况,如果说流量带宽很高,我们也会采取降低码率等措施来节省带宽。

以上就是阿里云直播系统介绍和双11晚会直播的一些预案,阙寒老师的分享就到这里。

了解CDN产品
了解窄带高清

目录
打赏
0
0
0
0
1322
分享
相关文章
RocketMQ实战—3.基于RocketMQ升级订单系统架构
本文主要介绍了基于MQ实现订单系统核心流程的异步化改造、基于MQ实现订单系统和第三方系统的解耦、基于MQ实现将订单数据同步给大数据团队、秒杀系统的技术难点以及秒杀商详页的架构设计和基于MQ实现秒杀系统的异步化架构。
RocketMQ实战—3.基于RocketMQ升级订单系统架构
阿里云CDN:构建全球化智能加速网络的数字高速公路
阿里云CDN构建全球化智能加速网络,拥有2800多个边缘节点覆盖67个国家,实现毫秒级网络延迟。其三级节点拓扑结构与智能路由系统,结合流量预测模型,确保高命中率。全栈式加速技术包括QUIC协议优化和Brotli压缩算法,保障安全与性能。五层防御机制有效抵御攻击,行业解决方案涵盖视频、物联网及游戏等领域,支持新兴AR/VR与元宇宙需求,持续推动数字内容分发技术边界。
68 13
|
22天前
|
CDN
阿里云CDN价格表:不知道CDN怎么收费?新手秒懂百科
阿里云CDN收费包括基础费用和增值费用。基础费用提供三种计费方式:按流量、带宽峰值及月结95带宽峰值, 默认按流量计费,价格因地区和用量而异;用户也可购买流量资源包抵扣费用。增值服务如HTTPS、QUIC、WAF及实时日志等按需收费,不使用则不收费。阿小云整理了2025年最新标准,详情参见阿里云官网。
CDN加速网站的终极指南:关键策略与实战技巧
内容分发网络(CDN)是现代互联网基础设施的核心,通过全球分布式服务器网络加速内容交付。掌握CDN原理与实践,可显著提升网站速度、安全性和用户体验。本文详解CDN基础、优势、实施步骤及未来趋势,帮助您选择合适方案并优化配置,在数字时代中占据竞争优势。无论是高流量网站还是跨国企业,CDN都是不可或缺的技术工具。立即行动,让您的内容交付更高效!
阿里云资深架构师经验分享——DevSecOps最佳实践
本文将分享阿里云在DevSecOps中设计环节的实践经验,希望能够让大家理解阿里云是如何保障产品安全水位,并希望这些经验能够帮助到正在尝试落地DevSecOps解决方案的企业。
555 167
阿里云资深架构师经验分享——DevSecOps最佳实践
阿里云SLB深度解析:从流量分发到架构优化的技术实践
本文深入探讨了阿里云负载均衡服务(SLB)的核心技术与应用场景,从流量分配到架构创新全面解析其价值。SLB不仅是简单的流量分发工具,更是支撑高并发、保障系统稳定性的智能中枢。文章涵盖四层与七层负载均衡原理、弹性伸缩引擎、智能DNS解析等核心技术,并结合电商大促、微服务灰度发布等实战场景提供实施指南。同时,针对性能调优与安全防护,分享连接复用优化、DDoS防御及零信任架构集成的实践经验,助力企业构建面向未来的弹性架构。
166 76
从理论到落地:MCP 实战解锁 AI 应用架构新范式
本文旨在从 MCP 的技术原理、降低 MCP Server 构建复杂度、提升 Server 运行稳定性等方面出发,分享我们的一些实践心得。
306 42
阿里云X86/ARM/GPU/裸金属/超算等五大服务器架构技术特点、场景适配与选型策略
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别。本文将深入解析这些架构的特点、优势及适用场景,帮助用户更好地根据实际需求做出选择。
百万级URL重定向工程:大规模网站架构设计与性能优化实战
本文深入探讨了大规模重定向系统的核心挑战与解决方案,涵盖技术瓶颈分析、分布式架构设计、十亿级URL处理策略、全球化部署方案及全链路监控体系。通过数学建模与性能优化,提出三层架构模型,并结合一致性哈希分片算法实现高效路由。同时,对比不同架构的吞吐量与容灾能力,分享某电商平台实践案例,展示性能显著提升。最后展望重定向即服务(RaaS)未来趋势,包括AI动态路由、量子安全跳转和边缘智能等关键技术,为企业提供扩展性强、稳定性高的系统设计参考。
80 25
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
105 12

热门文章

最新文章