WebRTC技术详解:从0到1构建多人视频会议系统
栗伟
序
栗伟跟我颇有渊源,他在上一家公司带领团队开发的直播产品,被我司采购使用了多年,但我们一直没有直接接触过。几年之后机缘巧合,我们成了同事,也让我对栗伟有了更多的了解。
音视频处理一直是门槛比较高的领域,实时音视频技术尤其如此,栗伟在这个领域深耕多年,打造了音视频方面优秀的商业产品,可谓经验丰富。如今,他把沉淀多年的经验编写成书,同时把自己的项目开源,积极回馈社区,让我十分钦佩。开源社区正是有了千千万万个这样的贡献者,才如此生机勃勃。作为一个享受开源达20年之久的互联网技术人,我本人也获益匪浅。希望能有更多人参与到开源社区,希望更多人从本书以及本书介绍的开源项目中获益。
祝本书能够大卖!
正保集团副总裁 林杨
2021年2月 前言
为什么要写这本书
最早接触WebRTC技术是在2015年,那时需要在直播产品中增加实时连麦的功能,经过对几种技术进行对比,最终我选择了WebRTC。当时WebRTC技术还不够成熟,相关资料非常少,在产品中使用WebRTC技术的难度非常大,往往为了弄清楚某个概念、某个API的用法,需要查阅大量的英文资料,而且遇到问题解决起来非常棘手。
从最初的原生WebRTC,到多点控制单元(MCU),再到各种选择性转发单元(SFU),我在使用WebRTC的过程中一直不断学习新的知识,不断解决新的问题,同时也逐步加深了对WebRTC技术的理解和认识。
因为踩过许多坑,所以我深刻体会到了WebRTC技术的难度和广度。WebRTC技术包含了音视频编解码技术、传输技术、流媒体服务器技术等,涵盖了音视频处理和传输的方方面面。这些技术中任意一个都能成为独立的课题,都值得花大量时间深入研究。除此之外,理解WebRTC相关API,还必须掌握现代Web技术,尤其是ES6、Promise等语法知识。可见,学习WebRTC技术需要掌握大量的预备知识,这对于初学者来说有一定的门槛…