七牛云徐晶:基于 WebRTC 架构的直播课堂实践
8 月 18 日下午,在七牛云架构师实践日第三十期,七牛云教育行业产品研发总监徐晶进行了《基于 WebRTC 架构的直播课堂实践》为题的实战分享。
本文是对演讲内容的实录整理。
作者简介:
七牛云教育行业产品研发总监,拥有 12 年互联网行业经验。擅长将传统行业与互联网结合,形成具有 Plus 效果的互联网产品。曾在阿里巴巴大文娱负责整个优酷直播业务,目前任职七牛云教育行业产品研发总监,构建互联网教育云计算模型,打造在线教育行业的云计算解决方案,突破传统教育壁垒。
流媒体协议与功能的演进
国际电信联盟做的分析,解释了流媒体协议的功能和演进。牵扯到教育、直播,说的简单点就是直播到今天已经不再是观看,直播在之前最重要的一个功能是让大家来观看,但是直播走到今天最重要的功能是互动,形成人与人之间的互动。
直播的体验最好在 200 毫秒以内。到 400 毫秒的时候,已经形成一个分界线,观众的体验已经有非常多的人觉得这是一个有问题的视频,我不想再听下去了。这也是未来教育行业要走下去的一个根本,也就是要缩短教师和学生之间的距离,减缓两者之间沟通的障碍。
大家有没有一个体验?前几天上海在刮台风,很多场景下的电视语言说「让我们来看一看台风登陆点的记者」,那时候你发现好多记者带着耳塞,过了两秒钟才说话「来,我们看一下身后的背景」,这个体验非常不好。如果有一天我们的直播技术做到 150 毫秒以内的延时,这样的场景不再会发生,体验度会越来越好。只有科技达到 150 毫秒才能慢慢走向教育,走向医疗这样非常需要互动的场景。
所以得出的结论是实时性的需求越来越高,超过 150 毫秒的单向传输已经开始影响用户体验。这里面有一个很重要的概念叫做用户体验,最典型的例子就是苹果。大家为什么那么喜欢用 iPhone?它的硬件配置并不比安卓好,但是用户体验上做得足够好。之前我问了很多人,为什么用 iPhone?很多女生说,用 iPhone 就是不卡顿。就是因为不卡顿,iPhone 在用户体验上下了非常大的功夫,在整个苹果的研发中心专门有一支团队是做用户体验的。
下面跟大家普及以下几个概念:
首先,IMS 是非常非常早的微软的一个流媒体协议,这是流媒体的鼻祖。在刚刚开始互联网流媒体的时候,大家都在用 IMS 协议,通过微软的Windows 构架去建立的。之后的 RTMP,整个流媒体行业最通用的一种协议,但是它有一个问题,用的是 TCP 的协议,会带来高延时。
接下来是 WebRTC,从去年到今年,越来越多的机构要做实时互动的流媒体机构,于是开始慢慢去走 WebRTC 的路。它是一个非常低延时的协议,能够让我跟你的距离甚至在 100 毫秒之内都可以去完成。纵观整个流媒体的演进,从点播云到直播云到最后的实时云,我们认为在 150 毫秒下,就可以把它叫做实时云。
我们现在用的最多的是 RTMP,基于 TCP。为什么 TCP 协议本身是安全协议,却需要做很多工作,导致并不是那么高效的传输:
第一,有三次握手。A 点和 B 点联系需要建立通信握手关系。
第二,还会丢包。我这个数据传到 B 点发现网络抖动丢包,需要再传。
第三,流量控制。导致整个 TCP 协议不能完全被使用实时云这样一个概念。
相对来说,UDP 协议非常高效快捷,但是也有很多问题:
第一,安全性。大家知道 UDP 是不安全的行为,不会自动重传,对于视频流媒体来说是完全不能被接受的,我的画面传到 B 点结果由于网络原因丢包了。
第二,UDP 对网络条件非常苛刻。做过互联网的朋友都知道,TS 流在网络环境非常优秀的环境当中才会去使用。既然 TCP 有这样的问题,UDP 也有很多的问题,怎么解决实时通信,同时保证质量、成本、延时。很多人包括 Google 的科学家,阿里巴巴的高级解决方案专家都在研究这个三角关系。
UDP 带来最低延时,但是不能保证质量,TCP 质量最好,但是延时做得最差。这里面提出一个概念,Reliable UDP,让 UPD 变成安全靠谱的传送,场景化的重传。我从 A 点到 B 点的数据因为网络抖动可能有一些问题,没有传过去,对于 UDP 来说,标准的 UDP 不会去重复。在这个场景下,它会去分析,这个数据对于传送是不是最重要的。如果发现觉得非常重要的话,可以继续进行,如果非重要数据,像部分信息链丢失不会去重传,不会导致主要的业务丢失,这叫场景化的重传策略。
第三,带宽自适应的调整。UDP 对带宽要求很高,如果增加了带宽自适应,对于它来说是很靠谱的传送方式。还有很多的改进空间,人类永远在不断更新和迭代算法,更高效地去完善它。今天所讨论的基于 WebRTC 的场景就是一个 WebRTC。
基于 WebRTC 的直播课堂应用
下面介绍的是 WebRTC 在教育领域和教育场景下的一些直播课堂的应用。直播课堂到底是做什么?WebRTC 怎么样建立教师和学生之间的关系?尤其是中国的教育一直被国内外的人吐槽,但是说实话,也蕴藏了很多的机会。
中国教育产业整个的市场环境是,2017 年整个教育市场 1800 亿元人民币,但是排名前十的企业加起来总共一年的收入是 41 亿。也就意味着教育市场很大,大家都在建立学生和教师之间的关系,利用互联网把这块市场打开。
要做到教育必须解决低延时的线上环境,用传统的直播,从老师说到学生听再到学生说,两分钟过去了,感受是特别不好的。直播过程中的互动展示问题,这里提出一个问题白板,教师和学生之间如果光光是语音语言的沟通还不够。用语言解释不清楚的问题,拿在线白板画一张图,可能两分钟就搞明白了。在教育场景下,白板应对教育过程中的互动展示问题是非常非常重要的。进入教学的过程,很多人希望以后能更多的去消化,慢慢去品位,这个就是记录教学的过程和方式。
寻找线上高效的学习方法。很多孩子学习的时候常常觉得这是我爸妈让我学的,我不想学。如果这样的学习状态放进去,它会变成很不高效。如何让他们变成一个高效的学习?建立全程监督教学的环境。举刚才的例子,孩子父母花了很多钱,让他在线去学习钢琴,但是忽然发现孩子不愿意去学,这个时候如果有一个人去全程陪伴他,跟踪学习成果,那这也是有助于提升教学质量的一种方式。
最后,平台化的数据积累。复盘很重要,做教育产业其实会有很多的数据积累,对数据的分析、改善,在未来可以更好的帮助你的业务做准备。
WebRTC 主要的内核,是 Google 构架。当我们在研究教育的时候,要做四件事情:
第一,图传。很多领域都叫图传,后面的摄像机没有线的情况下有微波的实时图传。这里说的图传是老师和学生之间实时网络信号的传输,这里面包括两点:第一个低延时,第二个高精度。现在中国在线教育非常火,尤其是在资本市场很火,但是走在最前列的一些公司都已经开始研究高精度这件事情。比如哒哒有一些基础用户,现在非常想做一件事情,就是如何提升视频质量。现在在线教学用的大部分是摄像头,那个不足以让别人觉得你 Professional。他觉得这是一个工程的探头,而并不是有质量有品牌的东西,我是否可以有专门的摄像机,是否有 1080P 标准进来,甚至哒哒都在研究是否有 4K 的标准可以加进来,这种都是高精度的应用。
第二,互动。这个互动不是刚才说的人与人之间语音的互动,其实是指白板互动。这里面有一个很核心的问题,比如 10 个人,都要同一时刻看到某一个白板上的改变,就像在黑板上画一画,也许只有在座的人可以看到,但是如何让北京、纽约等地更多的人看到,并且很多的点同步,这是非常难的事情。关于讲义,市场上并没有很多人做得非常出色,在讲白板画画的时候,如果我讲 PPT,现场 PPT 无法看,这时候解决 PDF、PPT 转换成白板让各种用户可以看到,这就叫做互动。
第三,服务。之前我自己创过业,一直在提醒自己一个事情,现在这个社会上做实业挣不了多少钱,开店铺永远是在卖东西,什么东西最能几何倍挣钱?答案是服务。提供在线平台给你用,就叫服务;提供淘宝平台给你用,这就叫服务,它能挣钱。这个服务对于教育来说就是教育的监管能力和课堂分析,怎么让一个学生可以学习,怎么让家长能够监管,这些都是我们思考的问题。
第四,沉淀。大数据的沉淀。哒哒每天在线上的几千节课同时并发进行,每天几千课,沉淀下来的数据有多少?这些数据对未来哒哒改善自己的用户体验是否有帮助?这就是数据的魅力。现在有很多公司都在买这些数据,这些数据只有大量的积累才会得到。后续学习的方法经营也一样。
基于 WebRTC 的直播课堂·低延时图传
· 低延时双向建立高效连接
建立可靠 WebRTC 的方式,它代表低延时,低延时的建立双向高效连接。为了体验在线教育,我自己体验过哒哒、VIPKID,体验过十几家,发现有一个问题,都有一个职能叫做学生的顾问,会在直播开始前先打个电话给你,「兄弟,我来帮你弄一下你家的网络,你到底是用 PAD,还是 PC, 还是用什么?」搞一搞,半小时过去了。这个是不高效的连接。后面跟大家讲如何建立低延时高效的连接,我希望在线教育不会有提前 30 分钟建立连接这种不科学的事情。
· 协议决定了低延时 Level
我咨询过流媒体底层的专家,从他们的角度来看,怎样的方式是降低延时最可靠的方式。他这样回答:协议决定一切,决定了大的方向,UDP 到不了毫秒级,WebRTC 最差不会超过多少。其实在协议确定之后,你大的延时基调毫秒还是秒级别已经确定了,再下去优化的环节是物理网络。
· 物理网络的优化与改进
北京到上海,如果花高价买非常好的节点,10 毫秒。如果我是普通的网络,可能 50 毫秒。有人天天说北京有一个电信通,还有一个叫鹏博士,一直有问题,都是因为它的物理网络不是特别好。除了刚才的协议之外还要解决物理解决点,它的有效性并没有像协议来得那么直接那么大。
· 降低网络行为时间
现在有很多视频的传输前都会做一些行为,比如加密,比如回音消除,我发的声音有一些啸叫,降低啸叫,提升 A 和 B 点的低延时传输。
基于 WebRTC 的直播课堂·高清晰度流媒体
做一个非常专业的教育产业或机构你必须要往高清晰度上去靠。高清晰度跟几个因素有影响:
首先是源头的采样。采样也分成很多 level,今天的摄像机是索尼的 4K,最高能够采到 4K 的精度。第一,核心分辨率。我采样的分辨率是 4K 标准还是标清标准,对我的精度是非常重要的一个标准。第二,色位深。这是广电领域的标准,色位深可以认为它的指标略高,采集的图像质量略接近于无损。
其次是编码。编码分成编码效率,Encode Profile,有些人在 PPT 上转一个视频,你会发现为什么同样的电脑,我转出来特别慢,别人转的时候特别快,那些优酷、土豆视频网站分分钟就能转出来。转一个码可能操作里面的 level 步骤是一样的,其实这个转码里面的水非常深,即使你转相同的码率、相同的分辨率、相同的色位深,所产生的编码效率,所谓的 Profile 不一样,带来的时间和图像质量完全不一样。讲得简单点,大家知道 JPG 是一个图像文件格式,为什么网上的 JPG 有的几十 kb,有的拍一张照片 10 kb,是一个压缩。
然后是编码方式,HL4 也是个编码方式,视频使用的是 AV 几这样的编码,音频可能是 AAC 的编码方式。不同的编码方式,在相同的图像质量情况下,所带来的带宽节约度是不一样的。为什么大家最近非常热衷于 H265 和 AG1 这两种编码方式,所产生的文件大小和码率比 HL4 低 40% 到 50%,对于企业来说就是成本,这种叫做编码方式,对于整个图像的高精质量也非常重要。
码率也要结合分辨率、色位深来定。网上很多传 1080P 视频,码率只有 3 兆,根本没有 720P 的清晰,虽然精度很高,但是所花费的成本很低,带来的是图像质量一塌糊涂。这就是明明分辨率很高,画面却不清晰的原因。3Mbps 的 1080P 和1.8Mbps 的 720P 哪个画面更清晰?答案是 720P。大家去 Adobe 官网看过官方推荐的,对不同的分辨率有一个建议值,这个建议值 720P 推荐的码率 1.8M,1080P 推荐的是5.5M。1.8 虽然码率低,但是分辨率也低,只有 720P,所带来的图像质量其实把 720P 放大到 1080P 的屏幕上明显优于 3M 的码率,这也是在线教育会用低码率,但是相对来说比较低清的解决方案来解决画面清晰度的问题。
GOP,是切片最重要的值。GOP 代表的是两个关键轴之间真正通过算法去优化的空间到底有多少。现在很多硬件厂商在编解码的时候,在 GOP 上可以编为可操作,让你可以自由定义 GOP 值,来优化画面质量。
Encode Profile,不同的视频文件转码效率到底有多高,不同的 Profile 质量差异有哪些。CBR 和 VBR 的区别是:CBR 是固定码率,VBR 是动态码率,我可以根据图像的画面来动态调整我的码率空间,达到让图像更优的标准。我今天站在这里,如果摄像机对着我,我说话整个画面是不动的,这时候码率非常小,当我直播一个运动的场景,一个人在跑步的时候,画面永远在动,实时变成高码率的方法,这叫 VBR。
那么哪些场景用 CBR,哪些场景用 VBR 呢?
CBR 适合网络带宽是固定的,我可能家里只有 2 兆,我设定 1.8,但是 VBR 非常不适合,突然间变成 2.2,超过我家里的 2 兆带宽,一下子让我的视频有点卡顿,网络条件允许的情况下,VBR 消耗的带宽远远低于 CBR,对于整个码率图像质量实时分析。
基于 WebRTC 的直播课堂·教育白板
我们在做的白板,是直接在线化的。教室和学生或者更多人 1 对 4、1 对 6、1 对 8,这块动态白板,可以在上面用不同的笔进行画画,用不同颜色做标注,同时下面还有基础图形,可以对一些我想讲的重点圈出来。还有 PPT、PDF,这两个非常受到欢迎。当我有一些 PPT,有一些 PDF 需要分享的时候,我可以让它变成白板的一部分,让大家去做宣讲,让整个教学变得更加高效。我一直认为在教育这个场景下,白板起到的作用要远远高于视频起到的作用。视频起到的作用是,让我看到老师,看到他的形象大概是什么样,有一个面对面的感觉。但是白板是教育真正的核心,这是为什么每个学校里面黑板是必须的一样,白板相对教育这个场景下非常重要。
服务,合流服务。现在很多的空间,很多的互联网机构非常在意的三种模式:
第一,Mesh 模式。
第二,MCU 模式,所有传到中央服务器的模式。
第三,SFU 模式,中国绝大部分在线教育机构都在用的模式。它们所使用的带宽上下结构和灵活性。
服务端合流的作用:
第一,让家长可以看到我孩子在上课,老师怎么样,学生怎么样,他们是否有非常大的匹配性。
第二,让我的在线教育平台,我的教务人员去评估教学质量。
第三,让更多山区的孩子看直播,原来上海复旦大学老师的人讲课,我听不到,在山区可以通过这样的方式去关注。
第四,可以进行录制,录制成本大大降低。
第五,分析数据来源。
智能 AI 在教育场景下的应用
· AI 有效辅助教学
曾经哒哒英语跟我聊了一个事情,他们做 K12,线上培训孩子发现一个问题,有一个孩子跟老师说,我爸让我来上课,但是我不想上。这个钱你拿着,这节课也 OK,我去打游戏了,你想做什么都可以。这种场景就发现这就是一个无效的课堂,在摄像头的两端根本没有人。为了杜绝这种情况,AI 的功能就凸显出来。只要拿一个 AI 识别这两个探头的范围内,如果超过一分钟没有人物在那儿的话,立刻报警,报教务平台,这是个无效的教学,这就是 AI 的辅助作用。
· AI 智能大班课签到及跟踪
这个适合大班课,今天有一百个人来上课,大家到前台的时候不用签到,直接人脸识别就可以上课了。另外一个场景,现在的高校学生都要恨死这个技术了,大家上大学的时候有过翘课的经历。老师在这儿讲了 10 分钟,有学生从后面溜走了,这种情况在大学里面有很多。现在一个探头会永远看着整个教室,教室里面有一百个学生,如果哪个学生溜出去了会自动报警,你想翘课根本没戏,这是 AI 的作用。AI 能识别这是张三在翘课。
· AI 教学互动率监测
老师跟学生在沟通,忽然发现这个学生没听,他的眼神是迷茫的。如果 AI 分析看到他的脸,会觉得这家伙到现在没有做过任何表示,没有举过手没有任何互动,会记下来有问题。
· AI 与大数据的打通
当发现这个人有问题,会告诉教务,这节课是无效的,给到教务去区分这个人有多少次有效上课,有多少次跟老师的互动,有多少次举手。
· 降低了在线教育重运营的问题
比如随着哒哒的扩大,会发现学生越多,顾问就越多,有一万个学生就有一万个顾问,当学生涨到十万,顾问涨到十万,成本太高了。这就需要 AI 来解决。通过 AI 的方式,帮你去推动学前的准备工作。
在线教育大数据中心
沉淀数据。每次我们上完课,这些数据包括 AI 数据和传统数据都会进入教务的大数据中心,这个大数据中心可以方便地去给学生学习兴趣做推荐,举个例子,我发现某个学生在听课的时候对数学课积极度很高,天天在那儿举手,语文课天天睡觉。这时候大数据就会立刻发出告警,以后推荐这个人学理科,这是大数据的作用,可以推荐学习兴趣。
还可以判断学生态度,看这个学生到底是不是认真。教学质量,老师讲的好不好也可以通过大数据学生跟他的互动率反映出来。适时匹配度,学生和老师的互动。实时的数据回吐,有人离开了,提醒老师。
七牛云基于 WebRTC 架构的直播课堂实践
七牛云即将发布的教育解决方案构架当中的 1 对 1 的部分。老师和学生通过不同的 SDK 设备接入进来,他们要做的是通过 WebRTC 高效并且高性能连接,解决高清、低延时、互动、RTC 这样几个问题,还有白板连接进来,是师生之间最重要的桥梁。除了这些,把刚才的 AI 部分、人工识别的部分和数据存储的部分、旁路直播的部分都结合到里面,是一个完整的教育体系解决方案。这是 1 对 1 的解决方案,还有 1 对多。
基于WebRTC架构的直播课堂适用于哪些场景?
第一,在线 1 对 1;
第二,小班课 1 对 4;
第三,传统教育信息化转型,高校也要在线化转型;
第四,双师教育,在 K12 领域非常重要;
第五,企业内部培训。
Q&A
Q WebRTC 是否带来直播的 3.0 时代?
答:这个是肯定的,直播 1.0 就是广电大家所看的电视机标清,2.0 通过优酷、土豆、爱奇艺让大家观看这件事情。从秀场开始有互动,真正的互动其实是人与人之间的互动并非是打赏,直播 3.0 才是互动,WebRTC 一定是互动环节最重要的环节。
Q WebRTC的音频质量问题
答:OPUS 的算法,可以带来足够的低延时,所以大家都会用这套理论。
Q 是不是只有教育适合 RTC?
答:其实不是的。现在大家看到,医疗、教育、直播、硬件通信,只要有低延时场景的需求都会有 RTC,教育也会分成很多类,企业教育、传统教育甚至医疗教育。
了解更多七牛云实时音视频云:
https://www.qiniu.com/products/rtn
点击「阅读原文」
了解更多七牛云信息
七牛云徐晶:基于 WebRTC 架构的直播课堂实践相关推荐
- 七牛云徐晶:低延迟互动时代看好WebRTC和SRT
在 LiveVideoStackCon 2018 前夕,七牛云教育行业解决方案高级专家徐晶接受了 LiveVideoStack 的采访,聊到了流媒体的技术发展与技术栈迭代.在当今的低延迟的互动时代,W ...
- 七牛云 RTN:基于 WebRTC 零基础搭建实时音视频平台
近年来,在线教育.狼人杀.在线抓娃娃.线上 KTV 等多人视频互动模式不断涌现,实时音视频通信风头正劲,实时音视频技术 WebRTC 也因此受到了广泛关注.相关数据显示,2017-2021 年期间,全 ...
- 基于WebRTC的互动直播实践
互动直播已经逐渐成为直播的主要形式.映客直播资深音视频工程师叶峰峰在LiveVideoStackCon 2018大会的演讲中详细介绍了INKE自研连麦整体设计思路.如何基于WebRTC搭建互动直播SD ...
- 基于webrtc的小型直播平台
基于webrtc的小型直播教室 github地址 (好用就star哦!): https://github.com/RobbieXie/WebRTC-Classroom 一. 相关技术栈 + WebRT ...
- 开源直播推流sdk_基于WebRTC的互动直播实践
互动直播已经逐渐成为直播的主要形式.映客直播资深音视频工程师叶峰峰在LiveVideoStackCon 2018大会的演讲中详细介绍了INKE自研连麦整体设计思路.如何基于WebRTC搭建互动直播SD ...
- 基于云架构监控摄像头直播运营简介
基于云架构监控摄像头直播运营简介 监控视频大数据基于云技术设计,在云端转码.解码.云转发.云智能等技术行业领先,通过宽带网的将前端图像远程监控.传输.存储.管理的增值业务.支持第三方模拟监控升级.数字 ...
- WebRTC直播课堂实践:实时互动是核心
随着低延时流媒体技术的不断进步,在线教育行业持续升温.本文来自七牛云在线教育行业解决方案专家 徐晶在LiveVideoStackCon2018大会中的演讲.在演讲中他阐述了基于WebRTC架构的低延时 ...
- WebRTC直播课堂实践:实时互动是核心,Android开发必须会的技能
不知道大家是否清楚,为什么流媒体在之前都没有发展起来这种很好的互动性呢?有很多人认为RTMP协议很不错,并且现在外面大部分采用的都是RTMP协议. 既然如此,为什么大家都去研究WebRTC呢?首先,R ...
- 杭州 GraphQLParty 第五场-GraphQL 基于 SPA 架构的工程实践文字版
本文为 2018 年 6 月 9 日,宋小菜与 Coding 共同举办的第一届 GraphQLParty ,下午第五场国内某大型电商前端开发专家邓若奇的演讲稿,现场反响效果极好,对于想要尝试 Grap ...
最新文章
- 企业信息化所面临的问题
- 在linux下安装配置svn独立服务器
- html不换行溢出省略号代替,css控制不溢出,不换行,溢出部分省略号显示
- BitBlt和StretchBlt的区别
- Nginx开启SSL支持实例配置
- TD数量不确定时如何让其宽度平均分布
- python接口自动化(三)--如何设计接口测试用例(详解)
- 2021年系统集成项目管理工程师资料下载
- 国家标准的台式计算机,GBT 9813.1-2016 计算机通用规范 第1部分:台式微型计算机国家标准...
- ODAC的tnsnames.ora文件
- 知乎热议:35岁,你要逃离北上广?
- VGA高速PCB布局布线设计指南
- MaskGAN:Towards Diverse and Interactive Facial Image Manipulation翻译
- 51单片机——红绿灯系统
- L298N双路驱动直流电机方案(支持PWM+正反转)
- pt100热电阻c语言的程序,单片机+ADC0832热电阻PT100测温程序
- 程序员的种种崩溃瞬间
- python真有那么厉害?
- 流量和带宽的真实关系
- putty使用ppk远程_如何使用PuTTY远程打开GUI应用程序