演讲嘉宾:周锦民 | 2011年毕业进入腾讯, 现任在线教育部在线教育后台中心高级工程师,多年linux后台开发工作经验,目前主要负责腾讯课堂和企鹅辅导两款产品的后台系统架构设计与研发管理。
今天分享的主题分三个部分。第一部分,跟大家介绍一下腾讯课堂和企鹅辅导这两款产品。第二,讲一下课堂直播系统,和腾讯云这边的具体实践案例。第三,谈一下在线教育的房间系统设计方案和这几年过程中的优化效果。
腾讯课堂是什么?(ke.qq.com)腾讯课堂是什么?腾讯课堂是腾讯推出的在线教育平台,它会聚了大量的优质机构和讲师,涵盖了大量的精品课程。包括考验考证、IT教学、英语培训等等。这里给老师一站式的线上教学和学生的互动学习体验,这是我们的课堂特点。我们有海量的资源和流量,目前的入驻机构超过了4万多家,其中在线教育课程超过了20多万了。各种各样的科目类型可以选择,目前累计的上课数3000万,每周有超百万级,目前单门课程同时在线6万人。腾讯课堂里面有丰富的教学教务工具,助力机构和老师有一个更加丰富的教学管理。
企鹅辅导是什么?(fudao.qq.com)企鹅辅导是面向小学、初中、高中的学生在线学习平台,目前已经有教师团队200多人,学科覆盖10个年级,有200万的学生用户。这是企鹅辅导的教师团队,他们都是我们辅导的全职教师团队,这些老师都是来自于清华、北大各个名校,我们曾经是各科的高考状元。企鹅辅导有完整细致的教学任务,从学前到学后,助力学生完整地提升。企鹅辅导支持直播1V1的答疑辅导,还有专业的课后老师给学生进行作业的批改。企鹅辅导有各种各样的辅助学习工具,例如在线互动抢答,利用图像识别技术,在线拍照批改,还有抢红包互动,提升学生的学习兴趣。腾讯课堂和企鹅辅导支持多终端学习,在电脑或手机上可以轻松学。
腾讯课堂总体技术架构下面是腾讯课堂整个后台的技术架构,终端包括PCQQ、H5端、APP端、PC独立版、Mac端。通道层,这是对应的通道。接入层是统一的接入层,主要作用是把各端各自的协议,转成内部的通信协议。逻辑层。我们整个教育课堂后台主要分三大块,第一块,是机构平台,包括资料、订单支付、活动运营。第二块,是直播系统。第三,房间系统。下面是我们的核心模块,就是基础功能,像数据中心、订单系统、基础资料、个人中心。存储层有多种,Mysql、Ckv、Es、Redis。
下面介绍一下腾讯在线教育结合腾讯云互动直播技术的案例,我们具体是这么做的。老师直播的时候,接入了腾讯云的互动直播系统,走的是腾讯云私有协议UDP协议。学生端可以实时跟老师进行互动。
腾讯云的互动直播系统,会通过旁路推流,转发音视频流给腾讯云直播系统。直播系统接入模块收到推过来的流,会做两件事情。
第一件事,把互动直播系统推过来的流,转交给全局转码模块。全局转码模块支持定制很多参数,例如可以制定多种分辨率的转码方式;可以加上腾讯课堂的LOGO水印,并支持视频加密,保证视频的资料、知识产权的安全,还有支持多种协议的封装等。
第二件事情,全局转码模块会提供音视频流给云端混流功能,云端混流功能也是直播系统的能力。这个功能怎么用呢?它支持预设多种混流模块。我们教育这边有几款产品,比如我们有PPT、画中画、学生端的举手上麦。我们会预设几种混流模板,当老师把PPT切画中画,或者画中画切PPT,或者有学生举手上麦的时候,客户端会发起一个变更信令到教育服务,教育服务这边会调云端混流服务的接口,来改变混流的方式。云端混流模块会根据混流模板的要求,到直播接入模块拉取指定的多路音视频流,然后把多路流合成一路,再交给全局转码进行重新转码。转码完成之后,交给分发模式,分发模块把音视频文件缓存到cdn模块。
腾讯云的cdn模块,在国内有1000多个加速节点,全球有200多个加速节点。因为腾讯课堂这边的老师、学生遍布国内外。通过这些CDN节点的加速,能够给课堂的直播提供一个稳定良好的播放质量。
直播的时候,我们H5和PcWeb端采用的是经过混流后的一路流的方式,这种方式它的好处就是能够减少手机带宽流量,兼容性和稳定性更好。