从0到1构建实时音视频引擎
最近几年,实时音视频领域越来越热,今年的疫情更是“火上浇油”了一把。网易智企旗下产品网易云信在实时音视频领域深耕多年,积累了不少实践经验。在本文里,笔者将以烹饪为比喻,深入浅出地将网易云信如何从0到1构建实时音视频引擎的过程分享给读者。
跟业界很多引擎的实现方案一样,网易云信也是基于WebRTC构建的实时音视频引擎。本文会从介绍WebRTC提供了什么开始,一步步引入工程化/产品化/优化实践等内容,完整呈现引擎的整个构建过程。
推荐好友奖励升级,现在推荐好友使用网易云信,最低拿3000元京东卡奖励,立即推荐>>
首先,WebRTC是什么?
WebRTC全称Web Real-Time Communication。原本是用于支持网页浏览器开发实时音视频用的一套API,它提供了统一的交互协议:SDP,同时提供了视频会议的核心技术,包括音频引擎、视频引擎、传输控制三大块,并且还支持跨平台:Windows / Mac / Linux / Android / iOS。
WebRTC本来就是给浏览器用的,没有native代码可以参考。但是,在2011年它被Google开源了,源码被应用于各种native开发,并被业内广泛借鉴,大有一统天下的趋势。
有了WebRTC,是不是就等于有了实时音视频引擎呢?并不是,以烹饪来做比喻的话ÿ