EasyDarwin@2018思考

从2012年开始接触Darwin Streaming Server,到2018年从底层开始完全重新架构、研发、完成,EasyDarwin这个项目已经发展了6年了,时间飞逝,那时候咱们工作时间还不是很长,在对架构的理解上还是比较浅显,但是经过多年的发展,给我最大的一个理解是:顺势而为!

以EasyDarwin 2018年的发展为例,我们经历了两次彻底的迭代,一次是由C++转向node.js,另一次是由node.js转向了golang,并终于稳定了基础。为什么说是顺势而为呢,在12年开始研究Darwin,并研发底层架构时,我们可用的、可研究的,无非就是ACE、libevent这些框架,而这些框架很多时候比较庞大,而且ACE这种很难稳定下来,就导致在底层花费的时间太长,那么从今天来看,基于开源的引擎,我们已经不用再过多去关注底层网络编程了,而且只要潜心去开发应用层的协议,而且类似于node.js、golang,周边配套的组件非常丰富,错误检查的机制也很完善,相比于当年的ACE、libevent开发,开发效率上飞跃太多。在我看来,这就是顺势而为,除非有特殊化的定制,不然我们不需要再过多在底层上恋战,我们可以花更多的时间去研究架构,疏通逻辑,优化算法。

2018的EasyDarwin经历node.js和golang版本的发展后,已经非常明确了自我的定位和下一步的发展目标:那就是更好地服务于安防行业,降低开发门槛,让更多的互联网开发者即使不熟悉音视频开发,也能通过简单的整合就能开发出业务场景需要的服务程序!

EasyDarwin@2019发展规划

EasyDarwin从安防行业发展过来,后面也将专注服务于安防、公安相关行业,我们还将秉承Easy的特性,不仅仅是调研Easy,而且要在开发者的入门、测试、研发等各个维度上,都充分Easy化,配套建立更多的文档和视频教程,简单到让产品经理来调研,也能知道EasyDarwin是否能够满足他们产品的需求:

  • 强化版本归档:定期更新,定期归档发布版本,更多的时候,不需要编译就能先使用看到效果;

  • 简化二次开发:从编程语言继续采用golang,到配套更多的迭代示例,让普通研发只需要几行代码就能接入自己想要的功能;

  • 整合:整合ffmpeg等优质工具,以稳定+稳定的方式迭代产品。

在开发层面上,继续站在巨人的肩膀上前行:

  • 基于golang开发和迭代;

  • 使用golang + C++进行流媒体关于复杂计算类型功能的开发;

  • 引入更多golang社区的优秀组件;

从整个社会的编程开发者到公司,商业化已经越来越无法阻挡了,有技术的人担子重、时间少,技术一般的时间多、缺乏经验,但凡是开发工作,都得有钱来推动,而我们开源不但要技术好的来开发、而且还得有时间、愿意分享、愿意抛头露面,这种已经是越来越凤毛麟角了,好在,我们团队还有几个这样的人存在,2019,EasyDarwin,不忘初心,继续前行!

对EasyDarwin开源项目2018的思考与2019发展的规划:继续站在巨人的肩膀引入更多巨人的更多相关文章

  1. 对EasyDarwin开源项目后续发展的思考:站在巨人的肩膀上再跳上另一个更高的肩膀

    2017 EasyDarwin现状 自从2012年EasyDarwin项目创立开始,经过了快5年了,时光飞逝,如今EasyDarwin已经发展成为了不仅仅是一个单纯的开源流媒体服务器项目了,已经是各种 ...

  2. EasyDarwin开源流媒体项目

    本文转自EasyDarwin CSDN官方博客:http://blog.csdn.net/easydarwin EasyDarwin是由国内开源流媒体团队维护和迭代的一整套开源流媒体视频平台框架,从2 ...

  3. 3月份GitHub上最热门的Java开源项目

    今天,我们来盘点3月份GitHub上最热门的Java项目的时候了,如果你每月都有关注猿妹发布的排行榜,那么本月的Java项目对你来说一定不陌生,这些都是曾经多次出现在榜单中的项目: 1 advance ...

  4. EasyDarwin开源流媒体云平台之EasyRMS录播服务器功能设计

    需求背景 EasyDarwin开发团队维护EasyDarwin开源流媒体服务器也已经很多年了,之前也陆陆续续尝试过很多种服务端录像的方案,有:在EasyDarwin中直接解析收到的RTP包,重新组包录 ...

  5. 我们将要建立的EasyDarwin开源社区

    从12年12月我开始建立EasyDarwin开源项目,已经三年多的时间了,从开始最简单的一个开源流媒体服务器项目,如今已经发展成为目前国内最大的一个流媒体开源社区,截至目前已经有十几个项目在Githu ...

  6. 2015年度新增开源软件排名TOP 100,EasyDarwin开源流媒体服务器排名第17

    本榜单包含 2015 年开源中国新收录的 5977 款开源软件中,根据软件本身的关注度.活跃程度进行排名前 100 名的软件.从这份榜单中或许可以了解到最新业界的趋势. 榜单详情:http://www ...

  7. 解决用EasyDarwin开源流媒体服务器做HLS直播时Flash Player卡住的问题

    最近在开发EasyDarwin开源流媒体服务器HLS直播的时候发现一个现象:在PC上用flash player播放HLS和在ios上面播放HLS时,效果明显不同,在ios上播放非常稳定,而在flash ...

  8. 一个基于 Vue3 的开源项目,3个月时间 star 终于破千!

    本文主要是对如何做开源项目的一些思考. 前文回顾: <Vue3 来了,Vue3 开源商城项目重构计划正式启动!> <一个基于 Vue 3 + Vant 3 的开源商城项目> 关 ...

  9. Android项目:使用pulltorefresh开源项目扩展为下拉刷新上拉加载更多的处理方法,监听listview滚动方向

    很多android应用的下拉刷新都是使用的pulltorefresh这个开源项目,但是它的扩展性在下拉刷新同时又上拉加载更多时会有一定的局限性.查了很多地方,发现这个开源项目并不能很好的同时支持下拉刷 ...

随机推荐

  1. 1364:Field 'sex' doesn't have a default value [ SQL语句 ]

    1364:Field 'sex' doesn't have a default value [ SQL语句 ]   错误解决方法: 关闭MySQL的strict mode的具体做法: 找到MySQL目 ...

  2. iOS CoreImage之滤镜简单使用

    代码地址如下:http://www.demodashi.com/demo/11605.html 老骥伏枥,志在千里 前记 最近一直在研究图像处理方面,既上一篇iOS Quart2D绘图之UIImage ...

  3. JSON基本概念及使用

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...

  4. a标签上的点击事件

    当我们在处理a标签上的点击事件时发现即使href=""里面为空,点击事件的效果也不明显,这种情况该如何处理呢?常见的处理方法有以下几种: 1.a href="javasc ...

  5. nginx缓存设置

    http://linux008.blog.51cto.com/2837805/547236 目的:缓存nginx服务器的静态文件.如css,js,htm,html,jpg,gif,png,flv,sw ...

  6. Session值的存储与删除

    private static void SetSession<T>(string key, T val) { HttpContext.Current.Session[key] = (T)v ...

  7. Restore IP Addresses -- LeetCode

    原题链接: http://oj.leetcode.com/problems/restore-ip-addresses/  这道题的解法很接近于NP问题.也是採用递归的解法. 基本思路就是取出一个合法的 ...

  8. android proguard 保留内部类

    今天在使用Proguard keep一个 静态内部类的时候,混淆完之后一直找不到那个静态内部类,内心抓狂啊. 最后在stackoverflow上找到了答案: -keepattributes Excep ...

  9. C语言基础(12)-输入和输出

    1. int scanf(const char *format, ...) 说明:scanf用于通过控制台输入字符串. 注意: (1).通过scanf()函数输入的字符串,系统会自动在其后面补一个0, ...

  10. 使用NGINX反向代理做小偷站

    用Nginx的反向代理可以轻松山寨对方的网站,但是反向代理后的网站还是有对方的绝对链接时,怎么办?所以要用替换链接方法. 1 使用官方的的模块 编译参数–with-http_sub_moduleub_ ...