直播
成熟的直播业务,诸如抖音、快手、斗鱼,多采用自研推流端或者OBS,由于公司人才匮乏和与业务融合的需求,所以使用web端推流的方式。
webRTC
WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。
在我看来,低延迟是webRTC最大的优点,相对来说,图像质量不会太高。当然对于现在的我来说,是最好入门的,只需要通过一系列简单的API就可以实现点对点通信。
通信和直播
通信和直播是两个不同的场景。
用webRTC实现可用的通信应用,是非常简单的。一般情况下,你只需要一个webRTC信令服务器(本质上就是握手服务器)。信令服务器的作用就是转发各个端的媒体流。
对于小公司来说,想要开发信令服务器并且部署节点,是不太现实的,建议使用云服务商,比如阿里云或者声网。
想要用webRTC做到更多,比如录音,你就还需要一个多媒体服务器。毕竟两种资源不是一个协议和规范,你需要这个媒体服务器来处理(编解码、封装等处理)。
而基于webRTC的直播,正是基于媒体服务器。让独立的媒体服务器处理成各种协议(RTMB,FLV,m3u8等)的播流,再分发给用户。