对EasyDarwin开源项目后续发展的思考:站在巨人的肩膀上再跳上另一个更高的肩膀
2017 EasyDarwin现状
自从2012年EasyDarwin项目创立开始,经过了快5年了,时光飞逝,如今EasyDarwin已经发展成为了不仅仅是一个单纯的开源流媒体服务器项目了,已经是各种延伸,各种扩展,现在包括EasyDarwin流媒体服务器本身,发展了RTSP推流的EasyPusher、RTSP播放的EasyPlayer,再又配套了拉流的EasyRTSPClient、EasyAACEncoder,这还只是整个RTSP协议的体系,后来整个团队又发展了一些商业性的项目,这就是后来的RTMP这条线了:EasyRTMP推流、EasyDSS流媒体服务器、EasyPlayerPro播放器、EasyNVR流媒体服务器等等,再又结合EasyDarwin做了EasyCMS,形成了一个EasyCMS+EasyDarwin负载均衡的平台型架构,而且在幼教直播、Bim行业有非常好的应用;
但是,这些都还远远没有达到发展的预期,尤其是开源的EasyDarwin,在整个2017年前3个季度,EasyDarwin的提交数非常少,几乎没有得到长足的发展,几乎处于停滞状态,因为感觉不知道该去做什么了,或者说,EasyDarwin现有架构,其发展的天花板已经到了,必须换架构模式了!
发展方向思考
EasyDarwin是从安防行业发展过来的,经过多年的发展,还是有非常强的安防属性在里面,我一直在思考EasyDarwin的发展定位,首先,我们要做的是Easy,如何Easy,一方面是使用者要Easy,非常Easy进行编译、部署和运行,另一方面,如何二次开发Easy:
使用Easy:这个就要靠完善的使用文档、视频教程、简易的部署向导来实现了,这个相信是在现有架构基础上可以再继续优化的;
二次开发Easy:这个就费劲了,现在的情况是一个企业要找那么一两个会C++的开发,已经非常困难了,要对EasyDarwin做一点点的功能扩展,难于登天!当然,这不仅仅是EasyDarwin是这样的,国内、国外很多其他类型的开源项目都面临了这个问题,使用方便,但查问题、改问题就找不到人手了;
还有一个问题,就是现在大部分的流媒体服务器没有非常好的后台和权限管理功能,而这个又跟具体流媒体服务器是无关的,所以,做上吧,怕是鸡肋,不做吧,感觉很深奥,入门困难;
发展规划
为了综合和推动EasyDarwin的长效发展,让更多的人参与进来,我思考了一些方式:
使用类似于nodejs框架进行网络I/O;
使用C++编写node插件进行流媒体关于复杂计算类型的功能;
使用nodejs后端语言进行管理页面和权限控制的开发;
这么做有几个好处:
即使EasyDarwin的开发停滞了,但是node体系还在推进,也就是说EasyDarwin的宿主还是在不断优化的;
不再仅仅是C++的开发才能参与到项目的开发了,各种前端、后端的开发都能加入进来了,开发群体和开发门槛大大改观;
nodejs配套组件非常多,很多接口化、管理化、数据库相关的操作,都不用再经过底层C++了,上层直接就搞定了,底层只需要关注核心流媒体部分的功能!
获取更多信息
Copyright © EasyDarwin.org 2012-2017