写点什么

每一节网课的背后,累死的小人儿能够绕地球 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:17875

评论

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

12.3大数据计算框架MapReduce-编程框架

张荣召

12.1大数据技术发展史

张荣召

架构师训练营第 1 期 第 12 周作业

李循律

极客大学架构师训练营

云小课 | 需求任务还未分解,该咋整!项目管理Scrum项目工作分解的心酸谁能知?

华为云开发者联盟

项目管理 敏捷 devcloud

快来!开源一份阿里微服务指导手册:SpringBoot+SpringCloud+消息中间件

Java架构追梦

Java 架构 面试 微服务

第八周总结

小兵

12.5大数据集群资源管理系统Yarn

张荣召

12.4大数据计算框架MapReduce-架构

张荣召

云原生体系下的技海浮沉与理论探索

阿里巴巴云原生

Serverless 容器 微服务 云原生 k8s

12.6大数据仓库Hive

张荣召

学习笔记-week12

张荣召

第八周大作业

小兵

探究神秘的SpringMVC,寻找遗失的web.xml踪迹

996小迁

Java 编程 程序员 架构 面试

12.7作业

张荣召

12.2分布式文件系统

张荣召

英特尔唐炯:36.4% PC同比增长,预示了2021是个好年

E科讯

Java中CAS原理分析(volatile和synchronized浅析)

叫练

volatile 多线程 synchronized CAS JUC

第五周作业第1题

走走,停停……

从物理空间到数字世界,数字孪生打造智能化基础设施

华为云开发者联盟

IoT 智能 数字

DolphinDB与Aliyun HybridDB for PostgreSQL在金融数据集上的比较

DolphinDB

postgresql 阿里云 时序数据库 DolphinDB 数据库开发

以太公约系统开发详情丨以太公约源码案例

系统开发咨询1357O98O718

以太公约系统开发介绍

Norvarm波场链系统开发方案丨Norvarm波场源码功能

系统开发咨询1357O98O718

Norvarm波场链系统开发

我看技术人的成长路径

阿里巴巴云原生

开发者 云原生 技术人 自我思考 职场成长

Eclipse Vert.x 4发布

dinstone

Java Reactive Vert.x

【涂鸦物联网足迹】物联网常见通信协议

IoT云工坊

物联网 HTTP 通信协议 mqtt coap

H3C核心交换机故障处理通用流程

GaussDB(DWS)应用实践丨负载管理与作业排队处理方法

华为云开发者联盟

数据 负载 GaussDB

话题讨论 | 作为程序员你的业余爱好是什么呢?

小天同学

话题讨论 业余爱好

巨头们为什么要开源自己的技术?解析科技企业对软件开源的态度

Marilyn

开源 敏捷开发

忒棒了!阿里P8大牛用这份技术点直接带你玩转高可用服务架构

比伯

Java 编程 架构 互联网 程序人生

ICT芯矿链挖矿矿机系统开发平台丨ICT芯矿链源码案例

系统开发咨询1357O98O718

ICT芯矿链矿机系统开发

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