写点什么

每一节网课的背后,累死的小人儿能够绕地球 3 圈

  • 2020-04-19
  • 本文字数:1015 字

    阅读完需:约 3 分钟

每一节网课的背后,累死的小人儿能够绕地球 3 圈

疫情期间,你或你的家人一定也开始宅在家上网课了吧。


你知道吗?每一堂网课背后,都有这样一群辛勤的”小人儿“在忙碌着,你可以把他们想象成一个剧组,彼此通力配合完成一堂网课。他们是:摄影组(视频采集)、收音组(音频采集)、翻译组(编码/解码)、道具组(信令)、场务组(传输模块)、放映组(渲染)。


本期的动画科普,就带你看看他们在每一堂网课开启后,都在忙什么。整体来讲,可以用这样一张图来表示。(我们的铁粉可能都猜到是哪张图了)


当网课开启后,老师端的音视频数据会被摄像头、麦克风采集下来。视频采集后都是视频流数据,你可以将它视为跑马灯里的一张张画,这样的数据是无法直接进行传输的,需要转换为二进制数据才能传输。


同样,音频采集下来的是模拟音频信号。所以,要传输音频,也需要将模拟信号,转换为数字信号,然后最终以二进制数据格式表达出来。


而视频、音频数据的这转换的过程,都是由编码器来完成的,也就是动画中的“翻译组”。视频和音频还会被打上“时间戳”,它是用来告诉你的电脑/手机,“老师几点几分几秒说了这句话”,这是为了让你看到的画面和听到的声音能对上号。


除了这些,还有老师翻动 PPT、在白板上划重点,甚至是发文字消息等一系列操作,都是基于信令系统完成的。当然,这些数据中也会包含“时间戳”。


好了,这些数据都转换为二进制数据后,就要开始传输了。这时候都会交给传输模块,也就是我们动画中的场务组。他们会通过 RTC 专用的“物流网络”来传输这些数据。


在线互动课堂对实时性、互动延时有着很高的要求,必须保持学习过程的顺畅进行,否则学生的学习效果会大打折扣。由于每个人在家上课的网络情况各有不同,这就要求适配 3G、4G、Wi-Fi 等各种网络,并且在网络传输环境较差情况下还能保证良好的音视频互动。这背后的“物流网络”有许多值得分享的技术原理,我们以后再详细讲解。


这些数据安全到达你的电脑、手机、iPad 之后,解码器就会开始将这些二进制的数据还原成视频流、音频,然后经过设备的渲染播放出来。这样,一堂普通的网课在一顿操作之后就实现了。


至于美颜、送礼、弹幕,它们背后的技术原理与实时音视频相似。送礼、弹幕都是基于信令实现的。美颜是发生在编码之前,我们也会在后续的视频中跟大家慢慢分享。


尽管,动画中的小人儿不是真实存在的,但是造就这些小人儿的工程师们都时时刻刻在每一堂网课背后忙碌着。


本文转载自 声网 Agora 公众号。


原文链接:https://mp.weixin.qq.com/s/gLvhKUuvUs35G1UaXnIkEQ


2020-04-19 17:17614

评论

发布
暂无评论
发现更多内容

新零售SaaS架构:中央库存系统架构设计

架构师汤师爷

SaaS 架构设计 新零售 库存系统

人保科技正式加入openGauss社区

openGauss

传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题

阿里巴巴云原生

阿里云 Serverless 云原生

共筑计算新生态共赢数字新时代,云和恩墨大讲堂 x openGauss Meetup x 鲲鹏生态孵化营(成都站)圆满落幕

openGauss

带你了解5个幽灵攻击与编译器中的消减方法

华为云开发者联盟

后端 开发 编译器 企业号十月 PK 榜

图尔兹正式加入openGauss社区

openGauss

太神了!阿里p7大佬总结的Java面试心得,起始—进阶—突击,一应俱全!

Geek_0c76c3

Java 数据库 开源 程序员 架构

Mysql开发实践:加载共享库时出错:libaio解决方案

华为云开发者联盟

数据库 后端 企业号十月 PK 榜

非常好用统计接口耗时小工具,Java程序员强烈推荐

一灯架构

Java Java 面试 10月月更

挑选文档协作工具的技巧

Baklib

神州数码正式加入openGauss社区

openGauss

Java8已经发布7年了,不会还有人没用过CompletableFuture吧

一灯架构

Java java面试 10月月更

实现企业内部知识流通?搭建企业内部Wiki

Baklib

易宝正式加入openGauss社区

openGauss

对比传统数据仓库,实时数仓的四大优势

雨果

数据仓库 实时数仓

Log4j2远程执行代码漏洞如何攻击? 又如何修复

琦彦

log4j2 Log4j2 漏洞 10月月更

微服务的设计模式,你用了几个

琦彦

微服务架构 设计模式 10月月更

CUDA入门教程;Transformer太火不是好事?;探求GPU极限性能的利器|AI系统前沿动态

OneFlow

人工智能 前沿动态

东方大唐正式加入openGauss社区

openGauss

中科星图正式加入openGauss社区

openGauss

玩转分布式架构下的可观测性

博睿数据

可观测性 Skywalking Bonree Server 博睿数据数据链DNA 智能运维AIOps

openGauss 社区 2022 年 8 月运作报告

openGauss

Flowable 流程实例的挂起(暂停)与激活

江南一点雨

Java springboot workflow flowable

火山引擎在行为分析场景下的ClickHouse JOIN优化

字节跳动数据平台

数据库 数据分析 OLAP Clickhouse 数据研发

openGauss企业级开源数据库获第十届中国电子信息博览会金奖

openGauss

Java面试官:你能写个LRU缓存吗?

一灯架构

Java java面试 10月月更

企业知识分享|如何设计产品手册/产品说明书?

Baklib

读书笔记|妙趣横生的图灵奖获得者漫画

宇宙之一粟

读书笔记 漫画 10月月更 图灵

实践GoF的设计模式:访问者模式

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

zookeeper-watcher、事务、分布式锁的API使用

zarmnosaj

10月月更

转:浏览器的同源策略

小江

JavaScript 同源策略

每一节网课的背后,累死的小人儿能够绕地球 3 圈_文化 & 方法_声网_InfoQ精选文章