新东方云教室课程回放系统简介
邱晔
新东方技术
新东方技术
微信号
gh_4f54cbcacb95
功能介绍
互联网开发的实践经验,技术分享、沉淀和前瞻性思考。
作为在线教育系统,课后回放视频的生成,对于用户来说至关重要,是直播系统中必不可少的一部分。
云教室的课后回放生成系统,从最初的快速完成业务功能,到目前稳定支撑高峰时期每日近9万节课回放生成,期间经历了一系列的技术方案选型及迭代升级。
第一版
最初的版本,主要以快速上线满足业务功能为目标。
此阶段的技术方案选型,尽量利用了第三方提供的成熟方案,以便于快速部署上线。
声网提供录制服务
自建集群,部署录制服务,调度录制任务及课后合成任务
频道中音视频数据按用户单独录制
课程接收后,将每个用户的音视频数据合成,拼接转码得到完整mp4
弊端:大量基于三方服务,并且需要自建集群,需要大规模转码运算,计算量密集,大规模课程时录制集群需要不断扩容以满足负载,运营压力及成本不断增加,同时三方服务成本高居不下。
第二版
基于直播的方案,利用声网的推流配合CDN的直播能力,将老师端展现内容推流到CDN,在老师上课过程中可以实时观看,同时又能兼顾回放生成。
利用声网提供推流服务,避免自建录制集群
可利用多个CDN配合分流,峰值承载能力大幅提高,利于扩展
支持m3u8及mp4,视频生成多采用拼接,减少转码,加快视频生成速度
弊端:依赖声网推流能力,高峰期承载依赖于声网,并且费用极高。CDN有多家,同一节课可能分布在不同CDN,无法得到完整视频。
第三版
同样基于直播推流方式,直接从客户端推流到CDN,并保持声网推流能力做降级方案进行容错。
研发小型处理集群,对于分布在多个CDN的视频进行合并,得到完整的课程回放。
从客户端推流模块自研,不再依赖三方服务承载能力,大幅优化成本
推流过程监课,实时定位问题
小规模自研集群,对分布在不同CDN的视频进行整合
多样化任务,拼接,转码,增加滤镜等处
异常ts文件处理,避免因个别ts文件无法解码造成视频生成失败
回放文件生成优先级可控,便于特殊课程立即生成回放视频
客户端推流模块:
回放任务处理集群:
预览时标签不可点
微信扫一扫
关注该公众号
继续滑动看下一个
轻触阅读原文
新东方技术
向上滑动看下一个
知道了
微信扫一扫
使用小程序
取消
允许
取消
允许
:
,
。
视频
小程序
赞
,轻点两下取消赞
在看
,轻点两下取消在看
分享
留言