Files
CategoryResourceRepost/极客时间专栏/从0打造音视频直播系统/开篇词/开篇词 | 5G的到来将会为音视频插上飞翔的翅膀.md
louzefeng d3828a7aee mod
2024-07-11 05:50:32 +00:00

78 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<audio id="audio" title="开篇词 | 5G的到来将会为音视频插上飞翔的翅膀" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/10/70/10622c99e532935065c2d1d5c8e79870.mp3"></audio>
在浩如烟海的生命长河中,人类文明已经有几千年的历史。从远古时期,人类就梦想着有一天可以听到、看到千里之外的声音和景象,当时的人们认为只有神仙(千里眼和顺风耳)才能做到。
其实在这漫长的时间里真正推动人类大跨度进步的时期只是最近几百年。到了第二次工业革命期间的1876年贝尔电话的发明使人类可以听到千里之外声音的梦想终于成真。
此后音视频技术不断发展。一方面视频压缩技术从H261到H264再到现在的 H265 及未来不久将出现的 AV1视频压缩率越来越高音频压缩技术也从电话使用的 G.711、G.722等窄带音频压缩技术,发展到现代的 AAC、OPUS等宽带音频压缩技术。
另一方面,从中国 3G 网络正式商用开始,移动网络也发生了翻天覆地的变化。从 3G 到 4G ,再到马上要落地的 5G移动网络的带宽和质量越来越高为音视频数据传输打下了坚实的基础。
我有幸于2010年初参与研发了当时所在公司自主知识产权的音视频引擎系统自此便一直从事音视频方面的研发工作到现在已经将近十年的从业经验。
在此期间,我所开发的直播系统既可以支持**上万人同时在线**,又可以进行**多人实时音视频互动**,此外还可以与**固话、MCU**等硬件设备互联互通。
这套系统可以用于多种场景如音视频会议、在线教育大班课、小班课、1对1、即时通讯等。
在开发直播系统期间,我既做过大负载高并发的音视频流媒体服务器的设计与开发,也做过客户端音视频引擎的设计与开发。经过这么多年的洗礼,可以说对音视频技术及未来的发展已了然于胸。
## 音频技术的现在与未来
音频技术发展到今天可以说已经非常成熟了如我们上面所讲的H264/H265、VP8/VP9 以及后面的 AV1 编解码器解决了视频压缩率的问题而5G的商用解决了带宽的问题。这两个问题解决后使得各行各业都开始使用音视频技术以实现更佳的用户体验如音视频会议、在线教育、远程医疗、娱乐游戏等。
尤其是2011年Google推出 WebRTC 技术后,大大降低了音视频技术的门槛。有了 WebRTC你就不必自己去实现回音消除算法了有了WebRTC ,你也不必自己去实现各种音视频的编解码器了;有了 WebRTC你更不必去考虑跨平台的问题了。因此可以说WebRTC 的出现大大加速了音视频技术的应用与推广。
WebRTC有个特别有诱惑力的愿景**可以在浏览器上快速开发出各种音视频应用**。其实,这一愿景已经实现。通过本专栏的学习,你就可以轻松实现浏览器之间的音视频通话,是不是很酷?
可以预见,未来音视频技术将会作为一种基础技术应用到更广泛的场景中。它可以与 AR/VR 结合,让你在远端体验虚拟与现实,如虚拟服装体验;也可以与人工智能结合用于提高服务质量,如用于教学上帮助老师提高教学质量;它还可以与物联网结合,用在自动驾驶、家庭办公等领域。
## 行业及学习痛点
随着各种音视频技术的完善、5G的落地以及各种音视频应用的出现在未来两三年内音视频必定会像当年移动互联网一样出现**井喷的人才需求**。
然而,音视频技术本身纷繁、复杂,需要很深的专业及技术背景。举个简单的例子,当进行音视频互动时,经常会听到自己的回音,这是什么原因引起的呢?再比如说,用户进入教室后经常看到老师的视频卡顿、花屏,这是什么原因造成的?你又该如何解决呢?如果你没有很深的背景知识,对音视频编解码原理不清楚,对音视频处理流程不了解的话,你是根本无法解决上述问题的。
另外如果你想开发一款音视频产品不仅需要有最基础的音视频知识如音视频的编码、解码往往还需要多层级的技术栈涉及移动端开发、PC端开发、各种协议规范、网络协议、socket开发等。所以要想成为一员合格的音视频开发工程师你需要对各领域的知识都有一些掌握才行。
## 如何学习音视频技术
看到上面这些困难,是不是很多同学开始打退堂鼓了?
其实你不必担心。音视频技术虽然门槛高,但我所开的这个专栏是**从 0 开始讲解音视的相关知识,一步一步,循序渐进**首先让你学会如何使用浏览器相关API调用WebRTC实现1对1通话然后再逐步深入学习其他音视频知识。
因此,在本专栏中,我将通过下面三大主题来进行讲解,并且在整个的讲解过程中,我会采取循序渐进、各个击破的办法来介绍各个知识点,最终不仅让你掌握到音视频的核心知识,而且真正能依靠这些知识做出你想要的音视频产品。
### 主题一WebRTC 1对1通话
通过本主题的学习,你最终将学会如何在浏览器间**实现1对1通话**。比如一个人在北京,另一个人在上海,他们打开浏览器进入同一个房间后,就可以进行音视频通话了。
本主题我精编了 22 篇文章,这 22 篇文章环环相扣,每篇文章会介绍一个主题,而每个主题的内容都是实现**WebRTC 1对1通话**的一部分。当你读完这 22 篇文章后一个即学即用的1对1实时通话的例子就展现在你面前了。
### 主题二WebRTC 多人音视频实时通话
学完WebRTC 1对1 通话这部分内容后,你对 WebRTC 就有了一定基础。接下来,我将为你介绍如何实现**多人音视频实时互动**。
在这个主题里,我会首先介绍几种**多人音视频实时互动**的架构,以及这几种架构的优劣。然后,重点讲解如何**使用 SFU 架构实现多人音视频实时通话**SFU是现在最流行的多人实时互动架构。当你阅读完本部分知识后就可以亲手实现多人音视频实时通话了。
### 主题三:支持上万人同时在线的直播系统
支持上万人同时在线的直播系统主要使用 CDN 技术,它是一种比较老的直播架构,使用的底层传输协议是 RTMP 和 HLS。
在本主题中,我会重点介绍 CDN 原理、RTMP、HLS 协议,以及如何使用各种播放器从 CDN 拉取媒体流。同样地,你阅读完本主题内容后,就会清楚地知道上万人同时在线直播的原理,并可以自己实现一套这样的直播系统。
下面就是这个专栏的目录,你可以快速了解下整个专栏的知识结构体系。
<img src="https://static001.geekbang.org/resource/image/25/4e/25cdc65699c21185896f8b2f31809f4e.jpg" alt="">
到这里,依然可能会有同学质疑说:“做音视频给人的感觉就是个小众市场呀!发展前景会好吗?”
我觉得这里我有必要再强调和说明下。那是过去由于网络带宽的限制以及音视频技术本身的一些原因音视频技术无法被广泛地应用。但现在不一样了随着近几年技术的发展音视频已经越来越被广泛地应用于各行各业比如平时常见的抖音、微信短视频、娱乐直播、教育直播、音视频会议等已经逐渐渗透到我们工作和生活的各个角落。就连大热的AI技术也与音视频技术联系非常紧密像现在的智能音箱、自动驾驶、人脸识别、表情识别等都离不开音视频技术。
另外让人欣喜的是随着Google对WebRTC的推动在浏览器下实现音视频应用变有极为简单这大大降低了非音视频专业的开发人员学习成本并且其应用前景也变得更加广阔。
可以说,这么有前景的技术非专业人员也可以很快学习和上手,而掌握了音视频技术的核心技术,一定可以让你在未来职场上获得丰厚的回报和满满的成就感。
**5G的时代马上到来它将会为音视频插上飞翔的翅膀让我们共同起飞吧你准备好了吗**