推荐一款优秀的开源流媒体服务器系统:SRS(Simple RTMP Server)
最近视频流媒体直播的应用很火,各种手机端的直播、美女聊天室、财经直播等等。由于项目的需要,需要寻找一款合适的流媒体直播系统,如果从头开发,显然成本和周期都不能在可接受的范围内。幸运的是,我找到了SRS这款优秀的直播系统,该系统官方地址为:http://www.ossrs.net/srs.release/releases/
首先不得不提的是:SRS是国人开发,国人开发的开源系统近几年越来越多,是非常令人惊喜的事情,并且有很多非常优秀的,非常令人开心。
另外不得不提的是:SRS的文档非常齐全,特别是wiki里面的各种说明,基本可以满足基础的需要。
简单搭建了demo后测试,目前没有发现问题,基本可以满足项目的需要,也非常感谢SRS项目组的贡献。我也非常希望贡献自己绵薄之力,希望后面有机会可以帮SRS贡献一些bug的修改、或者新功能的添加等。自己的能力和精力可能目前还没有办法做独立的开源项目,希望从SRS起,参与和维护,也算贡献自己的一分力气。
SRS比我想的要强大的多,已经不像一款出于兴趣的开源产品,很多功能齐备的商业化产品所需要的功能几乎都一网打尽了,而且更可贵的是作者长期的坚持和对品质的追求!这里可以大概罗列一些我比较喜欢的功能:
1)集群模式(包括了边缘模式、Forward模式等),并且友好的支持CDN和服务器的灵活架设
2)推流、Ingest流、直接接入视频文件等方式,非常灵活。当然,如果再结合一些优秀的推流软件,比如OBS则几乎目前市场上主流的流媒体直播需求就都能满足了。
3)同时支持RTMP、HLS模式,甚至最新版还支持FLV模式(这个我很喜欢,因为同时具备了rtmp的实时性,以及hls中属于http协议的适应各种网络环境的特性,并且支持播放的播放器更多一些)。
4)架设简单,文档齐全、demo齐全。
5)具备基本的权限验证,可以限制推流和播放的权限。另外,只做核心功能这种理念是比较让人高兴的,比如验证,只要有接口,留给web去实现就可以了,这种设计其实是很让我喜欢的设计。
6)最最重要的:开放源码和作者的坚持,以及字里行间体现出来对SRS的执着和追求完美。
当然,这几天的接触下来,SRS也有他的一些可能的我的担忧:
1)作者本身在一家流媒体提供的商业公司工作,不确定后期是否会因为和公司产品冲突、公司要求等原因,有停止、减缓、影响SRS更新的可能。
2)产品的稳定度如何— 一个优秀的产品,只具备所需功能是一方面,更重要的是产品的大并发、各种环境下的稳定性如何,这个因为我使用时间较短,还没有发言权。这也是最为担心的情况,好在我已经做好了熟悉、阅读代码的准备,希望有问题也能有办法去修改。
3)开发文档相比使用和功能说明文档略微较少,对于代码结构、代码熟悉入手。当然,注释挺多的,如果有时间,我倒是想丰富下这方面的文档,学习流媒体服务器从学习SRS开始。 🙂
接下来,就开始我愉快的SRS之旅吧