当前位置:首页 > 公众号精选 > 技术让梦想更伟大
[导读]关注、星标公众号,直达精彩内容文章来源:网络音视频业务的繁荣,必定造就开源项目的繁荣,反过来说也是一样的,互相成就。遍地都是开源的轮子,如何选择?提供一个有效的角度,可作为避坑指南。如果已经入坑了,您躺平就好,入坑就已经有了门户之见,死生有命富贵在天。活跃程度活跃程度,就是项目的...


文章来源:网络


音视频业务的繁荣,必定造就开源项目的繁荣,反过来说也是一样的,互相成就。遍地都是开源的轮子,如何选择?提供一个有效的角度,可作为避坑指南。如果已经入坑了,您躺平就好,入坑就已经有了门户之见,死生有命富贵在天。


活跃程度

活跃程度,就是项目的年龄和更新频率。


活得久就活得越久,一般活几年的项目谁不遇到点问题,要死早死了,几年还没死那可能后面死的概率也小了。


不更新的项目就是坑了,没有哪个开源项目拿来就能用的,除了那个996.ICU[1],一般开源项目都是会遇到问题的,有人在更新维护就很重要。SRS的Star是音视频服务器中最多的,但是它的更新不稳定,活跃度断断续续的。最近2年活跃度还不错,如何持续10年是至关重要,也是非常大的挑战。


Janus的Star虽然不是最多,但是一直持续活跃,长远看是SRS的真正竞争对手。它背后有公司在支撑,这是一种活跃项目的典型思路。业内口碑不错的Mediasoup,很明显已经走在停滞的边缘,再过几年估计就和NginxRTMP一样停止更新了。当然它有值得学习的地方。曾经直播大火时知名的开源服务器,目前Star也挺可观的。虽然项目已经停止更新很多年,但是Star还是在平稳增长,所以这是做开源不能过分在乎Star的原因,躺平也能涨Star。Nginx虽然不是音视频服务器,也是几乎人尽皆知的服务器,很意外的是它一直在持续更新了很多年。它背后也是后一家商业公司在支撑,要想做好开源,没有商业支撑很难持续活跃。FFmpeg不是音视频服务器,但是是音视频业内的楷模,这活跃程度和持续的年数也是所有打算特别是冲动着做开源项目的楷模,18年持续活跃,请收下我的膝盖。Go和WebRTC在一起会发生什么?总有轮子能满足你,总有语言粉丝要重新撸一遍,看起来pion作为库的活跃度还可以,但是别着急,3年后再看看图吧。PS:我个人不看好因为语言偏好就重新搞个项目,比如Go或Rust的RTMP server,呃。ion是pion做的一个SFU,还没出来多久就要挂了的图像。所以请不要再宣传ion多牛逼了,真的有点误人子弟啦。PS:我其实是pion/transport的contributor,我觉得pion做测试框架不错,压测和回归测试。


定位

为什么要做个开源项目?一言不合就造个轮子,反正也不要钱。


搜下RTMP Server[2],有800多个项目,有C的[3]有C 的[4]有Nodejs的[5]有Go的[6]有Python的[7],有Rust的,有Java的等等。


很大一部分是因为语言原因,自己做音视频的更喜欢Rust,就搞个吧,占个坑吧。Go也是如此吧,新语言做老领域的开源项目,很多都是这种冲动。


老语言也一样,比如C看不惯C 的浮躁所以要搞个,C 看不惯C的低效得搞个,C 11看不起C 98还是得再来一个,C 20出来肯定还得有RTMP server被创造出来。


因此,看开源项目的定位(介绍)就很关键,自己想清楚了定位,有自己的特点,才能和其他开源项目配合起来,才能做到长久更新。


看几个音视频服务器的介绍:


nginx-rtmp[8], NGINX-based Media Streaming Server. 做Nginx的,缺个媒体服务器,所以我做了。srs[9], SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181. 简单高效,直播和WebRTC互联网场景。janus-gateway[10], Janus WebRTC Server. 做会议(WebRTC)的服务器。mediasoup[11], Cutting Edge WebRTC Video Conferencing. 一个CuttingEdge的WebRTC会议服务器。licode[12], Open Source Communication Provider based on WebRTC and Cloud technologies. 基于云的WebRTC服务器。FFmpeg[13], A complete, cross-platform solution to record, convert and stream audio and video. 强大完整的,跨平台的,录制转码和音视频工具。


为何Mediasoup和Licode代码看起来都比Janus牛逼,但为何就是干不过呢:


Mediasoup的Cutting Edge到底是啥呢?是个技术点,和Janus有啥优势呢,其实技术都觉得自己牛逼,一般弄不清楚。Licode是要基于云,现在好像也都是能基于云的,所以也没看出来到底有何不一样的目标。


同样技术的还有NginxRTMP,不能拿着Nginx的锤子,就满天下都能敲钉子,敲了Web的钉子,还要敲流媒体的钉子。


SRS有何不同:


音视频的门槛是核心的复杂性,门槛太高了,编译就要死一片,各种场景死一片,太难了。所以SRS的核心目标是要简单,足够简单,更简单。从业务上看,互联网音视频正在跨越行业,实现业务价值的同学不关注直播还是RTC,小孩子才做选择,成年人我都要。客户现在只说了要做直播,如果他回头要连麦(RTC)呢;客户现在说了只做会议,回头他要录制和转CDN直播呢。直播和RTC已经融合了很久,业务并不区分是直播还是RTC,必须两个都支持得很好。互联网音视频服务器,云支持的SRS就支持,因为互联网的业务特点是可能会暴增,如果云不支持就不能迁移上云。另外,开源是对云的很好配合,有些场景探索用开源,自建预研用开源,小规模快速跑通业务用开源,私有化部署用开源


另外,为了简单高效,SRS也不做客户端和编解码,FFmpeg能做的RTSP或其他协议拉流都用FFmpeg做。


References

[1]996.ICU: https://github.com/996icu/996.ICU
[2]RTMP Server: https://github.com/search?q=rtmp server
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

(全球TMT2022年10月17日讯)上海安势信息技术有限公司的清源SCA工具在腾讯成功部署。清源 SCA可进行代码片段识别、文件识别、组件识别、依赖识别和容器镜像扫描。清源SCA拥有海量数据储备,其中包含24万漏洞数...

关键字: 腾讯 组件 开源 互联网

上海2022年10月14日 /美通社/ -- 近日,上海安势信息技术有限公司的清源SCA工具在腾讯成功部署。 开源软件在促进全球的技术创新方面发挥着越来越重要的作用,企业越来越依赖开源软件来加速开发与创新,根据 Gar...

关键字: 开源 开源软件 组件 数据库

10月12日消息,据开放原子开源基金会,日前,北京万里红科技有限公司(简称“万里红”)发布了针对行业定制、搭载T618芯片和OpenAtom OpenHarmony(以下简称“Open...

关键字: 平板 开源 芯片 鸿蒙

北京2022年10月8日 /美通社/ -- 日前,全球领先的IT基础设施提供商浪潮信息加入龙蜥社区并成为理事单位,致力于携手社区生态伙伴,共同推动开源操作系统的全产业链协同创新和产业化应用。 龙蜥社区成立于2020...

关键字: 开源 操作系统 通信 大数据

(全球TMT2022年10月8日讯)IT基础设施提供商浪潮信息加入龙蜥社区并成为理事单位,致力于携手社区生态伙伴,共同推动开源操作系统的全产业链协同创新和产业化应用。 龙蜥社区成立于2020年9月,是国内...

关键字: 操作系统 开源 通信 装机量

(全球TMT2022年9月15日讯)Altair宣布Altair® Radioss® (一种经过行业验证的有限元分析(FEA)动态仿真代码)现已以OpenRadioss的名义提供开源技术。...

关键字: iOS RADIO 开源 AIR

上海2022年9月15日 /美通社/ -- 近日, Altair(纳斯达克股票代码:ALTR)宣布Altair® Radioss® (一种经过行业验证的有限元分析(FEA)动态仿真代码)现已以OpenRa...

关键字: iOS RADIO 开源 AIR

重庆2022年8月26日 /美通社/ -- 储能电池是电化学储能的关键器件,是决定电化学储能进步的"中枢"。 面向未来十年乃至更长的周期,一条"长坡厚雪"的超级赛道正在全面开启,...

关键字: 电池 离子 BSP 开源

今天在Github上瞎逛的时候,发现了一个有趣的小项目,但是由于一些特殊的原因,犹豫了一下要不要推荐给大家。

关键字: python 开源

这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。

关键字: 嵌入式 开源

技术让梦想更伟大

257 篇文章

关注

发布文章

编辑精选

技术子站

关闭