首页>会议文档 >

Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术

page:
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术
Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术

Hulu 李彬 - Hulu视频直播系统架构:挑战与关键技术

所属会议:WOT 2017全球架构与运维技术峰会( World Of Tech 2017 )会议地点:北京


下载

手机看
活动家APP客户端

扫二维码下载
或点击下载
Android iOS

6461次
浏览次数
WOT 2017全球架构与运维技术峰会( World Of Tech 2017 )所有文档 搜狐畅游 黎志刚 - 畅游运维自动化探索之旅 苏宁 王富平 - 多维分析平台实践 苏宁云商 朱羿全 - 苏宁易购全站HTTPS实践之路:如何做到兼顾安全与性能 淘宝 陈康贤(龙隆) - 网游直充如何应对大促及突发的流量高峰 腾讯 赵志辉 - 腾讯蓝鲸DevOps类应用的设计与实践 听云 廖雄杰 - 全栈APM--打造端到云的全方位监控体系 豌豆公主 陈超 - 如何打造一支高战斗力的技术团队 玩多多 单泽兵 - 互联网+玩具租赁的典型技术实战 美团 王兴星 - O2O广告的探索之路 网易云 刘超 - 网易容器云实践与云计算的那些坑 网易 马进 - 网易NDC高可用实践 新浪微博 付稳 - 新浪微博混合云DCP平台介绍与业务上云实践 新浪微博 张雷 - 微博服务化的实践与演进 新浪微博 侯青龙 - 新时代下的微博LNMP架构 新美大餐饮平台 何轼 - 新美大外卖订单系统架构实践 一下科技 汤力嘉 - CTO的管理之道 一下科技 邓铮 - 高性能视频播放调度系统 美团点评 张宇石 - 美团点评移动网络优化实践 美团点评 家尤勇 - 美团点评分布式监控 CAT 系统架构演进 蘑菇街 丁小明 - 蘑菇街搜索推荐架构的探索之路 去哪儿网 马文 - 基于Mesos、Docker构建Elasticsearch as a Service 盛邦 李春鹏 - 可知、可感、可查、可控——打造新一代Web安全治理体系 思科 徐洪涛 - 构建面向威胁的企业网络安全防御体系 搜狗运维 张博 - 搜狗智能运维实践 ThoughtWorks 钟健鑫 - DevOps Transformation Design 阿里巴巴 李钰(绝顶) - HBase in Alibaba Search 阿里巴巴 王晶昱 - 阿里企业级互联网架构实践 阿里巴巴 李灼灵(千慕) - 客服SAAS实时分析架构演进-从NoSQL到时序数据库 百度外卖 张建 - 运维平台从0到1 博睿宏远 程捷 - Web应用网络性能优化浅谈 滴滴出行 许令波 - 大流量网站的高可用建设经验 饿了么 许锦洋 - 移动动态化方案在蜂鸟的架构演进 咕咚 唐平麟 - 第十年的选择 虎牙直播 刘亚丹 - YY游戏私有云建设历程 华为 马全一 - 基于容器技术实现 DevOps Orchestration 今日头条 王烨 - 今日头条大数据平台的演进 金山云 郝明非 - 金山云直播点播基础服务演进 京东 鲍永成 - 京东新一代容器集群平台 京东商城 张克房 - 京东全链路压测军演系统(ForceBot)分享 九合创投 王啸 - 技术真的只是青春饭? 58到家 沈剑 - 微服务架构解耦利器与最佳实践 58到家 任桃术 - 58到家消息平台架构优化实践 Airbnb 丁辰 - Airbnb的Streaming ETL AWS 张侠 - 云时代架构和运维的新趋势 Brocade SE manager聂小云 - WLAN容量设计和性能优化实践 Google 梁宇凌 - On-Device AI架构及案例分析 LinkedIn 罗轶民 - 微服务在大型互联网公司的应用及其挑战 Stitch Fix 王建强 - 数据驱动的决策辅助与产品智能化

文档介绍

Hulu北京研发中心首席软件开发主管李彬 - Hulu视频直播系统架构:挑战与关键技术

演讲实录

本文主要分享 Hulu 现有视频系统、Hulu OTT 直播应用和基于 DASH 的直播系统这三方面,会涉及基于点播构建直播过程中的一些难点与经验。
Hulu 现有视频系统
Hulu 终端与视频内容
Hulu 应用在电视、电脑、各种移动设备、甚至游戏机上都可以访问,如下图:

Hulu 最初也是从网站形式做起,随着时间的推移,特别是美国家庭的客厅是用户经常观看视频的场所,所以 Hulu 不断地研发,适配能播放视频的硬件。点播的内容主要是电视、电影、自制剧、儿童节目等比较专业的制作内容。
Hulu 商业模式
Hulu 主要有两种商业模式,一种是通过视频广告获取利润,一种是通过注册会员获取利润。
下图是一个电影广告的例子。不仅有常见的视频广告,还有可以和用户直接互动的部分,提示用户点击购买电影票。多年来,Hulu在广告模式上有很多尝试,包括客厅设备上也有很多互动形式。

除广告外,会员制也是 Hulu 盈利的主要方式。通过注册会员,缴纳会员费,用户可以享受到最新,最全的电视节目。
点播系统面临的挑战和关键技术
数字视频供应链
视频供应链部分,用户虽然不能够直接看到,但是会给用户产生直接的影响。Hulu 在美国市场较大的卖点是电视台播放的节目,第二天就可以同步上线。
这看似简单的需求背后,却对前面整个的处理周期要求很高,如上线速度、管理用户的观看时间等等,每个环节都要做好。面对供应链带来的挑战,Hulu 建立了整套视频转码系统,由这个分布式集群来应对。
多平台视频服务
面对多平台播放的挑战,Hulu 建设了多平台视频服务,自制播放器,保证在各个平台正常播放,用一套统一视频流就可以支撑所有平台。
还有基于 DASH 统一视频格式,它的可扩展性、封装效率等方面也表现优秀。
内容保护
Hulu 基于 DASH 及 CENC 建设了多 DRM 视频系统,保障不同平台,即使用不同的 DRM 系统也可以使用统一的加密视频源。
广告插入
网络不好的情况下,插入广告可能导致视频重新缓冲,给用户带来不好的影响。Hulu 的做法是基于 DASH XLINK 的动态广告插入机制,可以在流上进行两者合并,播放器实时进行预加载,而不需要切换播放器、流等操作。
视频播放质量保证
为了保证视频播放的质量,Hulu 建立了视频播放质量保证体系,包含客户端可以做自适应动态码流的切换、多 CDN 自动切换、实时视频 QOS 监控及响应系统等。
现有点播视频系统架构
如下图,是围绕点播产品的系统架构:

目前很多在线视频的架构基本类同,但是 Hulu 比较特殊的地方是:
美国内容生产厂商对内容安全性要求高,要求所有内容必须有 DRM 加密模式,所以这里构建了比较完善的 DRM license,来保证所有内容都可以安全播放。
在重要的广告部分,单独布设广告服务器,保证用户有好的广告体验,杜绝很长、重复的广告。
Hulu OTT 直播应用
OTT 是 Hulu 新的直播应用,直播是在点播的基础上增加很多模块,但也有很多难点需要克服。
如下,是直播系统的需求:
高清、高帧率直播。
尽量接近 IPTV 体验:低延时、快启动及切换。
24x7 不间断直播服务。
与点播体验接近的直播内容。
基于 DASH 的直播系统
为了满足 OTT 直播应用的需求,Hulu 研发了一套基于 DASH 的直播系统。
如下,是简单的架构图:

CP 接入流通过 TS Over RTP 的方式,把内容发送到多码率直播编码器,编码器输出 6 到 8 个不同的码率,最低 128K,满足低带宽强度下用户的使用。
之后,进入封装和加密环节,封装成苹果和 DASH 格式。一方面,时间信息及元数据存到实时数据库,进行 MPD 生成。另一方面,实际数据的文件封装后,按时间切成小块,上传到源站,再到 CDN。
当客户端播放器准备开始播放时,从 MDP 服务器了解哪些视频可以播放,同时通过 CDN 拿到实际视频的文件。
构建直播系统面临的挑战
构建直播系统的过程中,Hulu 克服了来自各方面的难点。下面主要分享“点播”式直播、瞬时用户暴增和用户观看质量三方面的挑战。
“点播”式直播
Hulu 希望在直播过程中,实现点播的效果。在直播的同时,可以随心看之前的视频,如下图:

为了实现这样点播的使用模式,Hulu 采用 DASH 视频格式来应对。
主要做了以下的事情:
时间及时间信息存于 Manifest。MPD 不仅要描述视频本身,同时还要描述发生的事情,如现在是否在播放广告等,这些都用 Manifest 方式存储。
采用视频分流,短分片传输,把音频拆分出来。这样可以实现多个码率之间切换的同时调到任何播放位置。
全平台覆盖。可支持网页、客厅设备、移动设备等几乎所有客户端设备。
如下图,是 DASH 格式:

瞬时用户暴增
应对瞬时用户直播暴增是大多直播平台都会遇到的事情,Hulu 也不例外,在线上这样的事情很常见,一个热门节目上映,比如 HBO 新出的 Game of Thrones,流量便会呈现十几倍的增长。
应对这样情况最有效的方法就是提高系统弹性、可扩展性。解决方案有构建微服务架构,主要方式如下:
负载均衡。在全球建立三个数据中心节点,个个节点之间可以进行负载均衡。
微服务框架。基于 Docker 的可扩展微服务框架,如下是简单示意图:

利用公有云抗负载。当发现数据中心负载承受不住时,会溢出到公有云。
全方位服务状况监控报警系统。当任何一个服务发现 RPS 等发生变化,都会发出警报,运维人员会第一时间处理。
还有多 CDN 自动流量分配机制,最高层是人工规则,根据目前国内的使用情况调整比例。当发生实际 CDN 访问失败的情况下,便会用 Fallback 到另外一个 CDN,另外的客户端也有自动的流量分配算法调节。
用户观看质量
我们要如何来保证用户观看视频的质量呢?比如如何保证不会黑屏?Hulu 建立了一套实时视频质量监控系统,在每个客户端都埋了相关模块,模块会搜集关键指标的情况。
如下图,是实时视频质量监控流程图:

一部分用 SBAK 实时事件处理的方式,进入 QOS 进行下一步的处理。另外实时处理的模块会最终加入 Elastic Search。
这样一来,就可观测缓冲率、平均码率,直播延迟等等情况。如上图,不同颜色实际上是不同团队负责的事情。
如下图,是对整个环节中所有 SLA 的监控,某服务的监控,绿色表示状况比较好,红色表示有问题,数字变大就要引起注意。这里有各种各样的指标,基本上所有的系统都有这样一套对应的监控系统,每个团队里都可以看到自己团队的整体状况。

以上内容根据李彬老师在 WOTA2017 “高性能直播系统架构”专场的演讲内容整理。

×

打开微信扫一扫,分享到朋友圈