开发者社区> EdgePlus> 正文

世界杯千万级直播高稳定的挑战和实践

简介:
+关注继续查看

今年夏天,俄罗斯世界杯召开。在刚刚落幕的重庆云栖飞天技术汇专场中,阿里视频云技术专家裘良科,就世界杯这个话题,跟参会嘉宾一起探讨了千万级直播高稳定的挑战和相关实践,本文为演讲全文。

image

2018年俄罗斯世界杯从6月14日到7月15日,跨度整整一个月,共有64场比赛,优酷成为央视指定的世界杯新媒体官方合作伙伴,作为优酷的同门兄弟,阿里云也一并为世界杯直播的提供技术支持,一同征战世界杯。 整个世界杯期间,阿里云的服务是不间断的,要始终保持着稳定与流畅。而且除了支持优酷外,阿里云同时支持着CCTV5、CNTV、咪咕的世界杯直播,支撑了全网世界杯流量的70%。单单优酷的法阿大战单场并发就达到2000W,加上其他的几家客户,足足有数千万的用户并发。这么大规模、持久的赛事,对直播平台也是很大的挑战。

那么从技术层面看,世界杯直播的挑战究竟有哪些?

  • 第一个挑战是内容集中。世界杯核心内容就是CCTV5,加上解说频道,多角度频道就10多路直播,假设源站出现问题,那么所有的直播都会出现问题。
  • 第二个挑战是高并发。世界杯高达千万级的并发在线观看用户,且用户量徒增非常明显。假设直播平台出现短暂故障,所有用户可能会重新请求或者请求其他系统,对系统压力也会非常大。
  • 第三个挑战是安全性。世界杯是世界级盛会,假设中间出现安全事故,影响会非常大,平台方也会有不可推卸的责任。

在这样的挑战之下,阿里云要始终保持着世界杯直播的稳定、流畅、安全,背后有一套复杂的方案和逻辑,下面我们来从稳定性、安全、监控三个部分展开。

稳定性

下图是世界杯直播稳定性架构图,分为四大部分,信源生产链路、视频云中心、CDN和客户端。
image

第一部分是信源生产链路,因为最原始的信号很有可能不被云平台使用,比如非常高码率的信号,不适合传输,所以一般都会有信源生产的链路进行编码,提供一个源站服务。第二部分是视频云中心,整个直播平台架构是中心架构,所有直播所需要的功能,比如转码、截图、录制、水印等功能,都是在中心完成的。第三部分是CDN,CDN是真正承载整个世界杯直播的用户压力的一环,数千万的用户都跑在CDN上。第四个部分是客户端。接下来分各个环节来介绍阿里云如何保障服务稳定。

一、信源生产链路

  • 多信号源输入:生产链路环节一般是用户自己搭建,建议用户多信号源输入,因为单信号源输入的情况下,如果信号源中断就会导致业务中断。如果信号源确认只有一个的话,建议用户信号源多链路输入,避免单链路故障而导致信号源无法接收。
  • 主备线下转码器:前面讲到原始信号源是没办法直接使用的,所以会用到一个编码器,我们一般会要求编码器的主备是实时能够获取多个信号源,并支持实时切换的。切换的模式有两种,第一个是直接主备模式,在同时输出源,只有1台编码器。第二个双备的方式,2台编码器的输出源同时给云平台提供数据源,这样的方式,我们最终会把转码器的数据通过拉流或者推流的方式同步到视频云中心。如果是拉流的方式,视频云中心会从多个源站同时拉流,保证任何一个源站/编码器出现问题,视频云中心都可以顺利的拿到数据。如果是推流的方式,主动权在用户,用户也最好能多个源站/编码器同时向视频云中心推流。
  • 多出口推/拉流:源站的出口链路一般会要求是多个,因为单出口链路存在网络风险。

image

二、视频云中心

  1. 结合多网络输入,视频云中心也会采用多网络接入。
  2. 流合并,多个流来到视频云中心,通过特有的合并组件,把多个流变成一路流。
  3. 组件分布式部署,对于重大赛事,所用的机房我们会采用独立资源专用机房,和其他业务之间互不影响。
  4. 全链路自动切换,每一个组件的状态都会自动检测,发生问题在10秒钟之内完成切换,保证直播流的连续性。
  5. 对于交互相对较少的赛事直播,所以会采用H264直播,进行的优化是,所有的切片输出的H264切片中,切片长度和I帧都是对齐的,好处是当下游想在不同码率之间切换的时候,画面是连续的,不会有跳跃感。
  6. 切片双写,每一路流在进行切片的时候,都是双进程切片,同时切到两个OSS,这样就保证了下游CDN的源是双份的。
  7. 考虑到赛事直播的重要性,整套架构在原来的基础上,同时做了中心异地备份。
    image

三、 CDN与客户端

  1. 配合OSS双写,CDN也同时支持两个OSS,并根据实时检测把好的切片拼成一路,任何一个OSS写异常、写的慢都不会影响内容的传输。
  2. 中心主备与L2灾备,由于CDN本身架构就是分布式的,考虑到世界杯的规模非常大,采用中心主备,如果CDN中心出现问题,会马上切换为另一个。另外,每个地区都会放多个L2节点,如果L2在某一时刻出现问题,会马上要附近的其他L2接入,不会因为异地影响服务质量。
  3. 采用节点内的负载均衡和CDN的调度优化方案,可以确保业务顺畅。
  4. 最后,给客户端一个建议,因为客户端很多,当前面的切换出现时,某些客户端可能会出现卡死无法播放等问题,所以客户端需要对CDN请求做一个重试。
    image

安全

世界杯赛事直播护航工作中,内容的安全和稳定同样重要。用户可以通过阿里云云导播台内容审核、源站IP推流和拉流的白名单设置、推流鉴权、拉流HTTPS校验防劫持等几个方案,来保障内容安全。针对类似世界杯赛事的版权内容,阿里云也提供播放鉴权&二次鉴权、DRM对视频本身鉴权、分域名封禁、区域限制等方案来防止盗播盗链。

监控

架构解决了稳定性问题,并在安全方面也做了很多准备之后,直播当然也需要监控,阿里云对于世界杯直播的监控分以下三大部分。

第一是技术环境的监控

包括直播中心、CDN每台设备的CPU使用率、内存、网络、磁盘等,如果出现故障情况,就和前面的方案配合进行自动切换;如果出现异常、亚健康的状态,则会通过报警让运维人员快速定位问题和快速处理。

第二是应用监控

包括每个程序的进程、端口、QPS压力、直播延迟,与前面环境监控的处理方式一样,如果出现故障,就和切换机制联动,如果出现异常则通过报警来人为处理。

第三是业务监控

包括直播全链路监控,下图是一张比较复杂的直播业务的监控图,绿色代表正常,黄色可能会出现丢帧、丢包等问题出现的异常线路。点开每一条线,就可以看到没路流在当前时间下的状态值,比如说时间戳一小时之内是否连续、递增和跳频,避免客户端兼容性问题引发的不好的用户体验。

image

对于帧率的监控,在视频云中心进行流合并的时候,我们实时地把不同的流合并成一个,来达到抗抖动的效果。下面四幅图是同一时间同一路流的监控,上面三路流合并成下面一路流,毛刺变少,结果更稳定。

image

除此之外,系统还会针对服务端慢速比、客户端卡顿率等数据,进行实时收集和监控,通过和客户端的联合,实现质量调优。

除了以上高稳定性的服务架构、多维度安全策略以及全链路监控以外,阿里视频云也为用户提供时移直播、智能剪辑、异地容灾、智能调度、秒开、码率控制、50帧极清、高速通道、防盗链、云导播台、广告识别、ET字幕等能力。

image

相信护航过世界杯直播之后,阿里视频云一定在活动、赛事直播这个场景下沉淀了更多技术,在未来为客户创造更多价值,为用户带来更极致的观看体验。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
9067 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
13760 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19696 0
看不见的战斗——阿里云护航世界杯直播容灾实践
1978年,中国人开始在电视机上看到世界杯, 中央电视台对阿根廷队参加的半决赛以及阿根廷和荷兰的决赛进行了录播。1982年世界杯,宋世雄坐在一家香港宾馆的小电视前进行解说,然后央视再把香港这家电视台提供的画面转到自己的频道上,这就完成了中央电视台对世界杯足球赛的第一次现场直播。
2627 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
17986 0
阿里视频云曾福华:世界杯百T级CDN智能流量调度系统的实战分享
在刚刚落幕的重庆云栖上,阿里云高级技术专家仔晟为现场观众带来议题《百T级CDN智能流量调度系统的实战分享》,重点介绍了在世界杯直播业务场景之下,阿里云CDN的产品架构、技术方案与客户实践。
9133 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
24794 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14681 0
+关注
EdgePlus
阿里云产品运营,专注边缘计算和视频云产品与技术传播
528
文章
59
问答
来源圈子
更多
+ 订阅
相关文档: 边缘云节点
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载