野火音视频简介
音视频功能是社交应用最自然的需求了,因为和消息一样,音视频通话也是一种常用的沟通方式,两种沟通方式相辅相承,如果社交软件只有其中一项功能那肯定就有些令人遗憾了。野火团队在音视频方面有着多年的实践经验,有着较深的造诣,可以提供像IM一样专业的音视频能力。
1. 野火音视频的分类
野火音视频有2种,分别如下:
产品名称 | 产品内容 | 功能特点 | 实现方案 | 媒体服务 | 通话质量 | 通话路数 | 使用费用 | 产品价格 |
---|---|---|---|---|---|---|---|---|
免费版音视频SDK | 客户端SDK | 支持多人音视频通话 | Mesh | TURN服务 | 一般 | 最多视频4路,音频9路 | 带宽需求较低 | 免费 |
音视频高级版 | 客户端SDK和媒体服务 | 支持多人音视频通话/支持会议模式,支持服务器端录制 | SFU | 野火音视频媒体服务 | 较好 | 视频可达9路以上,音频16路以上,如果带宽足够可以支持更高 | 带宽需求较高,花费较高 | 5.9W/套(另外需要专业版IM) |
2. 免费版音视频SDK
由于WebRTC官方不提供多人通话功能,因此有多种多人通话的解决方案,野火音视频SDK使用的是其中最容易的一种方案,Mesh方案。在这种方案中,所有终端都与其它终端直接连接,形成网状结构。这种方案相对其它方案简单一些,使用成本也是最低的,但缺点就是太消耗终端的资源,手机的CPU和带宽消耗非常大,而且当用户较多时,很容易某些用户直接连接出现问题,因此通话的路数支持得很低,一般只能稳定支持4路视频,音频支持9路。由于技术还是P2P的技术,所以通话质量还是很一般。这个SDK适合对音视频有一定的需求,但又对成本和价格敏感的客户。
3. 音视频高级版
多人音视频技术除了Mesh方案外,还有MCU和SFU两种方案。MCU是移动互联网爆发之前流行的技术,所有客户端发送视频到服务器,服务器进行混流,组成一个组合的视频再发给所有端,是一种星形结构。由于需要视频混流,需要极高的计算能力,所以一般MCU的产品多是硬件产品,直接使用硬件编解码和混流,价格极高,现在逐渐被SFU方案代替。
SFU方案也需要媒体服务器,但区别在于媒体服务器仅做转发,这样对CPU消耗极低,每个客户端把视频发送到服务器,服务器再把视频转到所有其它参与者那里,这样每个客户端都会发出1路音视频,然后收到N-1路音视频。相比MCU方案,流量增加很多,但计算基本上不需要,所以成本更低效果也更好。相比于Mesh方案,由于流量是服务器提供的,所以通话质量非常有保障,效果非常好。支持的路数只跟服务器带宽有关,一般云服务器的带宽可达200Mbps,单台服务器可以支持250个一对一通话同时进行,或支持25场5人会议同时进行,或支持8场9人会议同时进行。一般按照流量计费比较划算,可以把带宽设置到最高,每个月的流量费用也不会太高。
野火音视频高级版就是采用的SFU方案,是基于Janus二次开发的。支持水平扩展能力,可以根据您的业务压力来扩展更大的服务能力。可以支持服务器端录制功能,另外也支持观察者模式,可以基于我们二次开发出类似与ZOOM那样的在线视频会议系统,可以支持多达100人的听众,对于很多普通企业应该是足够了。野火提供的高级版的能力基本能够接近或达到市场上最专业的音视频服务提供商的水平。由于SFU对CPU的消耗非常低,所以可以使用低配的CPU就行,带宽按照流量计费也很便宜,一般云服务器流量的费用是0.8元/GB,所以运营的费用也不会太高,但会带来非常好的用户体验。野火音视频高级版适合对质量要求较高或者对价钱不敏感的用户。
4. 高级版为什么质量好
上面介绍可知,免费版音视频SDK是P2P的,由于客户端所在的网络比较复杂,各种网络情况都有可能,比如通话双方在不同运营商网络,比如移动信号较差,比如双方地域较远,或者宽带是共享宽带等等,丢包率就会上升,通话质量就会下降。而高级版则是客户端与服务器进行沟通,云服务器的带宽都是收费的,都是经过网络优化的,对所有运营商网络都比较友好,对全国各地域都比较友好,带宽也比较有保障,高级版质量好的实质是花钱购买流量换来高质量通话。另外免费版音视频SDK其实也没有多差,得益于国内的基础设施的完善,大部分情况也还不错。
5. 在线视频会议
随着社会信息化的发展,越来越多的公司和单位需要远程沟通,新冠疫情又极大地加速了这个进程,因此zoom,钉钉会议,腾讯会议,小鱼等一大批在线会议软件非常火爆。野火音视频高级版也可以支持在线会议,支持观众模式,可以支持高达100个观众,可以进行二次开发,开发出会控功能,实现自己的私有在线会议系统。
6. 最后
野火提供的音视频SDK使用同一套UI,所以如果您购买了音视频高级版,直接替换免费版音视频SDK就可以。UI都是开源的,二次开发也都很容易。
免费版音视频SDK和音视频高级版使用的是完全不同的技术,如果升级到高级版,需要做强制升级,否则互通会有问题,所以如果您是高级版的目标客户,最好直接使用高级版,以免升级麻烦。