查看原文
其他

每一节网课背后,硬核黑科技大曝光

声网Agora 程序人生 2020-10-29
疫情期间,你的家人或亲戚一定也开始宅在家上网课了吧?
熟悉 RTC 技术(实时音视频)的小伙伴都知道,每一堂网课背后,都有一套技术栈。你可以将它们想象成一群辛勤的“小人儿”,彼此通力合作完成一堂网课。
如果你不了解 RTC 技术,那么我们可以用一个视频来解释一下:
我们把视频中网课的原理用图文来表示的话,会是这样:
由于老师与学生需要进行问答互动,那么就要求音视频数据通过低延时的方式进行实时传输,数据的采集、处理、传输的过程如上图所示。
当网课开启后,老师端的音视频数据会被摄像头、麦克风采集下来。视频采集后都是视频流数据,你可以将它视为跑马灯里的一张张画,这样的数据是无法直接进行传输的,需要转换为二进制数据才能传输。
同样,音频采集下来的是模拟音频信号。所以,要传输音频,也需要将模拟信号,转换为数字信号,然后最终以二进制数据格式表达出来。
而视频、音频数据的这转换的过程,都是由编码器来完成的,也就是动画中的“翻译组”。
视频和音频还会被打上“时间戳”,这个过程一般发生在编码后、传输前的组包环节,这个信息会包含在包头信息中。时间戳会告诉你的电脑/手机,“老师几点几分几秒说了这句话”,这是为了让你看到的画面和听到的声音能同步播放,不至于出现口型对不上语音的情况。
除了这些,还有老师翻动 PPT、在白板上划重点,甚至是发文字消息等一系列操作,都是基于信令系统完成的。当然,这些数据中也会包含“时间戳”。
好了,这些数据都转换为二进制数据后,就要开始传输了。这时候都会交给传输模块,也就是我们动画中的场务组。他们会通过专门的实时传输网络来传输这些数据。通
在线互动课堂对实时性、互动延时有着很高的要求,必须保持学习过程的顺畅进行,否则学生的学习效果会大打折扣。由于每个人在家上课的网络情况各有不同,这就要求适配3G、4G、Wi-Fi等各种网络,并且在网络传输环境较差情况下还能保证良好的音视频互动。这背后的“物流网络”有许多值得分享的技术原理,我们以后再详细讲解,比如如何保证用户弱网下的传输质量、怎么在不占用更多用户带宽的情况下提升音视频的质量、怎么通过机器学习算法来优化网络传输等。
让我们“回到课堂”来。这些数据安全到达你的电脑、手机、iPad 之后,解码器就会开始将这些二进制的数据还原成视频流、音频,然后经过设备的渲染播放出来。这样,一堂普通的网课在一顿操作之后就实现了。
至于美颜、送礼、弹幕,它们背后的技术原理与实时音视频相似。送礼、弹幕都是基于信令实现的。美颜是发生在编码之前,我们也会在后续的视频中跟大家慢慢分享。
尽管,动画中的小人儿不是真实存在的,但是造就这些小人儿的工程师们都时时刻刻在每一堂网课背后忙碌着。给所有的工程师们点赞。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存