报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

评论

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

通过Dao投票STI的销毁,SeekTiger真正做到由社区驱动

股市老人

开发者必看 | DevWeekly 第1期:什么是时间复杂度?

Jackpop

zookeeper-认识watcher

zarmnosaj

7月月更

ES6之箭头函数

bo

前端 ES6 箭头函数 7月月更

【Docker 那些事儿】容器网络(上篇)

Albert Edison

Docker Kubernetes 容器 云原生 7月月更

常见链表题及其 Go 实现

宇宙之一粟

链表 7月月更

一次业务问题对ES的cardinality原理探究

Chares

Java elasticsearch 后端开发 问题排查 问题分析

新星计划Day9【数据结构与算法】 递归

京与旧铺

7月月更

应用的无状态设计

穿过生命散发芬芳

7月月更 应用无状态

Bigdata 作业 第14&15周

Pyel

Python 有哪些好玩的语法糖?

Jackpop

JVM-SANDBOX导致目标服务JVM Metaspace OOM的调查始末

柠檬汁Code(binbin0325)

互联网 字节码增强 故障排查

值得收藏的ArkUI框架三方组件【系列1】

坚果

HarmonyOS Open Harmony 7月月更

基于crudapi后端Java SDK二次开发之API认证和鉴权(二)

crudapi

API Cookie JWT crud basic auth

如何优雅地使用 Git?

Jackpop

jQuery 操作元素

Jason199

jquery js 7月月更

MySQL到底是如何执行SQL语句的

技术小生

MySQL 7月月更

面试官:工作两年了,这么简单的算法题你都不会?

掘金安东尼

程序员 面试 算法 前端 7月月更

Envoy生命周期管理

阿泽🧸

envoy 7月月更

数据库的主从分离

ES_her0

7月月更

JavaScript DOM编程艺术笔记

程序员海军

前端 DOM 7月月更

基于多数据源零代码同时生成多个数据库CRUD增删改查RESTful API接口——MySql,PostgreSql,Oracle,Microsoft SQL Server多数据源

crudapi

Java 数据库 Spring Boot crudapi 多数据源

为什么 Nodejs 这么快?

devpoint

nodejs V8 视频流 7月月更

不要在白嫖Github了!

Jackpop

HMS Core图形图像技术展现最新功能和应用场景,加速构建数智生活

最新动态

为什么加工数据指标

奔向架构师

数据仓库 7月月更

深度学习-多维数据和tensor

AIWeker

7月月更 多维数据

MySQL 5.7.37数据库下载安装教程(Windows无需安装版)

未见花闻

7月月更

如何高效系统学习 MySQL?

Jackpop

CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)(A-C)

KEY.L

7月月更

带领全网朋友,完成粉笔登录加密分析,再次换种玩法

梦想橡皮擦

Python 爬虫 7月月更

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