时间过得真快,转眼本专栏就进入了尾声,不得不说这是一段让人难以忘怀的“旅程”。在这段“旅程”中,我也力求对每一篇文章都能做到“精雕细琢”,将要讲的内容说清楚、写透彻。

音视频直播技术是一个非常小众的领域。一方面,音视频相关知识的学习成本确实要比学习其他知识高出很多,需要你花大量的时间去理解、去积累;另一方面,音视频相关技术还普及得不够,对于大多数研发同学来说,可能还不知道有哪些好用的音视频库,更不知道利用这些音视频开源库能做些什么有意思的产品。

但我敢肯定,随着 5G 的到来,音视频直播技术会越来越受到人们的重视。你不光可以用它来实现娱乐直播、在线教育、音视频会议,还可以将它应用于实时传输、娱乐互动、远程协同等方面,比如在线K歌、远程相亲、远程办工等等。可以说音视频直播技术是 5G 落地后的最主要的场景,目前阿里、腾讯、今日头条等大厂都纷纷举办音视频技术的高峰论坛,并花大价钱网络这方面的人才,就是为了在即将到来的 5G 时代抢得先机,为下一个 10 年做好准备。

而本专栏的一个主要目的就是向你普及音视频直播技术知识,教你使用 WebRTC 在浏览器之间实现 1 对 1 通信、共享桌面;不光如此,通过使用 Medooze 这类 SFU 流媒体服务器,你可以非常容易地实现多人互动;更让人欣喜的是你还可以将实时互动系统与传统的直播系统相结合,构造出既可以进行实时通信又可以万人观看的直播系统。这些功能在几年前还是不可想象的事儿。

本专栏就是按照上面的顺序向你逐一展开讲解的。首先,我们讲解了如何通过 WebRTC 实现1对1实时音视频通话,并以1对1实时通信为核心,向你介绍了其中用到的基本知识和概念,如 NAT 穿越、媒体协商等。

接着,在1对1 实时通话的基础上,我们又进行了升级改造,增加了 SFU 流媒体服务器,就可以实现多对多实时通话了。在这部分内容中我们重点介绍了 Medooze 流媒体服务器,讲解了 Medooze的架构设置,并通过类图和时序图对Medooze做了全面剖析。

最后就是传统音视频直播系统的构建。对于传统直播技术来说,最主要的是使用了 CDN 网络作为媒体流的转发中介,使我们的直播系统可以支持上万人或几万人、几十万人同时在线。

通过这些知识的学习,我想你至少应该知道 WebRTC 在音视频实时通话的作用,并清楚传统直播与实时互动直播的区别。事实上,你还应该知道如何通过 WebRTC 实现1对1实时通话、如何实现多人互动,以及该如何实现一套传统直播系统。

当然,本专栏只是学习音视频相关知识的一个开始,而音视频知识纷繁复杂,不可能通过一个专栏就将所有的音视频知识全部学通。对于在学习本专栏之前从没有接触过音视频技术的同学来说,还要学习一些音视频相关的其他知识,如 H264 的基本工作原理、YUV 数据格式、如何通过 FFmpeg 进行音视频的编解码、音视频该如何进行同步、移动端/PC端使用 WebRTC 与浏览器的区别、如何实现 SFU流媒体服器等等,以上这些都是你进一步需要重点学习的知识。

总之,5G的到来必然会使音视频成为一门引领时代的技术,而各大厂商早已为此谋篇开局,招集人才。而人才的奇缺,也必会让这些人才获得高额的回报。但学习音视频知识绝不是一朝一夕的事儿,你必须要脚踏实地一步一步来,只有这样,你才有可能成为各大厂真正需要的“人才”。 正所谓,路漫漫其修远兮,吾将上下而求索!

评论