实时音视频类开源系统有哪些?

目前市场上的实时音视频类开源系统有哪些?

目前市面上有不少的音视频类开源系统,这些开源系统有各自的特点,在实际开发过程中应该根据具体的需求进行选择。
这里写图片描述
表格中所列出的开源系统是目前市面上比较常见的,分别从服务器类型、编解码能力、文档的完整性和开发商来进行对比。大家都知道WebRTC的服务器模型有两种,分别是SFU和MCU,SFU实现的是简单转发的路由功能,而MCU可以提供更多扩展性的功能实现,而且MCU型的服务器往往包含SFU,所以MCU的实现难度较大。其次,文档的完整性也是非常重要的,因为对于开发者来说,文档具有非常重要的指导作用。最后是开发商,这个主要涉及到项目的可持续性、升级支持以及版权问题,对于商业机构来说版权的问题需要谨慎考虑。

首先介绍的开源系统是Kurento,这个开源系统是在表格所列出中最全能的一个开源系统。这个开源系统支持转码,同时还有滤镜的附加功能。但是在测试过程中,这个开源系统的稳定性不是很好。这个开源系统同时提供了一个云服务方案,主要是开发商为了推广云服务而开源的系统,所以性能的稳定性还有待提高。

Janus的出发点是网关,它的开发商是Meetecho公司,Slack推出的视频通话方案就是基于这个开源系统的。但在测试过程中发现,这个开源系统在性能上有些问题, 而Slack也是对其进行了大量的优化。

Jitsi只是实现了SFU模型,不包含MCU,由于功能单一,只是一个转化路由,所以这个系统是列表中是较为稳定的一个开源系统。如果只是需要实现简单的转发功能,这个开源系统是不错的选择。

Licode具有SFU和MCU功能,它的架构是插件式的,也就是说,如果你想在自己的源代码上附加某些功能,可以直接使用Licode对自己的系统进行补充,既能保留原有系统的特性,又能达到完善功能的目的。

Intel使用Licode实现了一个Intel CS for WebRTC的套件,它是免费的,有提供Client端和Server端的SDK,但是这个系统不开源。我们在一些沙龙活动中会经常看到有关这个系统的介绍,基于这个系统配合使用Intel方案也是不错的选择。这个系统也是列表中唯一支持RTMP转协议的系统。

最后一个开源系统是MediaSoup,这个系统只支持SFU,底层的开发语言是Node.js。对于熟悉Node.js语言的开发人员来说,这个开源系统比较容易学习。但是由于这个开源系统出现的时间不长,系统稳定性还有待提高。

当然,市面上还有一些其它的开源系统,大家都可以去测试对比一下。

猜你喜欢

转载自blog.csdn.net/sinat_20146421/article/details/81367973