當(dāng)前位置:首頁 > 公眾號精選 > 技術(shù)讓夢想更偉大
[導(dǎo)讀]關(guān)注、星標(biāo)公眾號,直達(dá)精彩內(nèi)容文章來源:網(wǎng)絡(luò)音視頻業(yè)務(wù)的繁榮,必定造就開源項(xiàng)目的繁榮,反過來說也是一樣的,互相成就。遍地都是開源的輪子,如何選擇?提供一個有效的角度,可作為避坑指南。如果已經(jīng)入坑了,您躺平就好,入坑就已經(jīng)有了門戶之見,死生有命富貴在天?;钴S程度活躍程度,就是項(xiàng)目的...


文章來源:網(wǎng)絡(luò)


音視頻業(yè)務(wù)的繁榮,必定造就開源項(xiàng)目的繁榮,反過來說也是一樣的,互相成就。遍地都是開源的輪子,如何選擇?提供一個有效的角度,可作為避坑指南。如果已經(jīng)入坑了,您躺平就好,入坑就已經(jīng)有了門戶之見,死生有命富貴在天。


活躍程度

活躍程度,就是項(xiàng)目的年齡和更新頻率。


活得久就活得越久,一般活幾年的項(xiàng)目誰不遇到點(diǎn)問題,要死早死了,幾年還沒死那可能后面死的概率也小了。


不更新的項(xiàng)目就是坑了,沒有哪個開源項(xiàng)目拿來就能用的,除了那個996.ICU[1],一般開源項(xiàng)目都是會遇到問題的,有人在更新維護(hù)就很重要。SRS的Star是音視頻服務(wù)器中最多的,但是它的更新不穩(wěn)定,活躍度斷斷續(xù)續(xù)的。最近2年活躍度還不錯,如何持續(xù)10年是至關(guān)重要,也是非常大的挑戰(zhàn)。


Janus的Star雖然不是最多,但是一直持續(xù)活躍,長遠(yuǎn)看是SRS的真正競爭對手。它背后有公司在支撐,這是一種活躍項(xiàng)目的典型思路。業(yè)內(nèi)口碑不錯的Mediasoup,很明顯已經(jīng)走在停滯的邊緣,再過幾年估計(jì)就和NginxRTMP一樣停止更新了。當(dāng)然它有值得學(xué)習(xí)的地方。曾經(jīng)直播大火時知名的開源服務(wù)器,目前Star也挺可觀的。雖然項(xiàng)目已經(jīng)停止更新很多年,但是Star還是在平穩(wěn)增長,所以這是做開源不能過分在乎Star的原因,躺平也能漲Star。Nginx雖然不是音視頻服務(wù)器,也是幾乎人盡皆知的服務(wù)器,很意外的是它一直在持續(xù)更新了很多年。它背后也是后一家商業(yè)公司在支撐,要想做好開源,沒有商業(yè)支撐很難持續(xù)活躍。FFmpeg不是音視頻服務(wù)器,但是是音視頻業(yè)內(nèi)的楷模,這活躍程度和持續(xù)的年數(shù)也是所有打算特別是沖動著做開源項(xiàng)目的楷模,18年持續(xù)活躍,請收下我的膝蓋。Go和WebRTC在一起會發(fā)生什么?總有輪子能滿足你,總有語言粉絲要重新擼一遍,看起來pion作為庫的活躍度還可以,但是別著急,3年后再看看圖吧。PS:我個人不看好因?yàn)檎Z言偏好就重新搞個項(xiàng)目,比如Go或Rust的RTMP server,呃。ion是pion做的一個SFU,還沒出來多久就要掛了的圖像。所以請不要再宣傳ion多牛逼了,真的有點(diǎn)誤人子弟啦。PS:我其實(shí)是pion/transport的contributor,我覺得pion做測試框架不錯,壓測和回歸測試。


定位

為什么要做個開源項(xiàng)目?一言不合就造個輪子,反正也不要錢。


搜下RTMP Server[2],有800多個項(xiàng)目,有C的[3]有C 的[4],有Nodejs的[5],有Go的[6],有Python的[7],有Rust的,有Java的等等。


很大一部分是因?yàn)檎Z言原因,自己做音視頻的更喜歡Rust,就搞個吧,占個坑吧。Go也是如此吧,新語言做老領(lǐng)域的開源項(xiàng)目,很多都是這種沖動。


老語言也一樣,比如C看不慣C 的浮躁所以要搞個,C 看不慣C的低效得搞個,C 11看不起C 98還是得再來一個,C 20出來肯定還得有RTMP server被創(chuàng)造出來。


因此,看開源項(xiàng)目的定位(介紹)就很關(guān)鍵,自己想清楚了定位,有自己的特點(diǎn),才能和其他開源項(xiàng)目配合起來,才能做到長久更新。


看幾個音視頻服務(wù)器的介紹:


?nginx-rtmp[8], NGINX-based Media Streaming Server. 做Nginx的,缺個媒體服務(wù)器,所以我做了。?srs[9], SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181. 簡單高效,直播和WebRTC互聯(lián)網(wǎng)場景。?janus-gateway[10], Janus WebRTC Server. 做會議(WebRTC)的服務(wù)器。?mediasoup[11], Cutting Edge WebRTC Video Conferencing. 一個CuttingEdge的WebRTC會議服務(wù)器。?licode[12], Open Source Communication Provider based on WebRTC and Cloud technologies. 基于云的WebRTC服務(wù)器。?FFmpeg[13], A complete, cross-platform solution to record, convert and stream audio and video. 強(qiáng)大完整的,跨平臺的,錄制轉(zhuǎn)碼和音視頻工具。


為何Mediasoup和Licode代碼看起來都比Janus牛逼,但為何就是干不過呢:


?Mediasoup的Cutting Edge到底是啥呢?是個技術(shù)點(diǎn),和Janus有啥優(yōu)勢呢,其實(shí)技術(shù)都覺得自己牛逼,一般弄不清楚。?Licode是要基于云,現(xiàn)在好像也都是能基于云的,所以也沒看出來到底有何不一樣的目標(biāo)。


同樣技術(shù)的還有NginxRTMP,不能拿著Nginx的錘子,就滿天下都能敲釘子,敲了Web的釘子,還要敲流媒體的釘子。


SRS有何不同:


?音視頻的門檻是核心的復(fù)雜性,門檻太高了,編譯就要死一片,各種場景死一片,太難了。所以SRS的核心目標(biāo)是要簡單,足夠簡單,更簡單。?從業(yè)務(wù)上看,互聯(lián)網(wǎng)音視頻正在跨越行業(yè),實(shí)現(xiàn)業(yè)務(wù)價(jià)值的同學(xué)不關(guān)注直播還是RTC,小孩子才做選擇,成年人我都要??蛻衄F(xiàn)在只說了要做直播,如果他回頭要連麥(RTC)呢;客戶現(xiàn)在說了只做會議,回頭他要錄制和轉(zhuǎn)CDN直播呢。直播和RTC已經(jīng)融合了很久,業(yè)務(wù)并不區(qū)分是直播還是RTC,必須兩個都支持得很好。?互聯(lián)網(wǎng)音視頻服務(wù)器,云支持的SRS就支持,因?yàn)榛ヂ?lián)網(wǎng)的業(yè)務(wù)特點(diǎn)是可能會暴增,如果云不支持就不能遷移上云。另外,開源是對云的很好配合,有些場景探索用開源,自建預(yù)研用開源,小規(guī)模快速跑通業(yè)務(wù)用開源,私有化部署用開源


另外,為了簡單高效,SRS也不做客戶端和編解碼,F(xiàn)Fmpeg能做的RTSP或其他協(xié)議拉流都用FFmpeg做。


References

[1]996.ICU: https://github.com/996icu/996.ICU
[2]RTMP Server: https://github.com/search?q=rtmp server
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

(全球TMT2022年10月17日訊)上海安勢信息技術(shù)有限公司的清源SCA工具在騰訊成功部署。清源?SCA可進(jìn)行代碼片段識別、文件識別、組件識別、依賴識別和容器鏡像掃描。清源SCA擁有海量數(shù)據(jù)儲備,其中包含24萬漏洞數(shù)...

關(guān)鍵字: 騰訊 組件 開源 互聯(lián)網(wǎng)

上海2022年10月14日 /美通社/ -- 近日,上海安勢信息技術(shù)有限公司的清源SCA工具在騰訊成功部署。 開源軟件在促進(jìn)全球的技術(shù)創(chuàng)新方面發(fā)揮著越來越重要的作用,企業(yè)越來越依賴開源軟件來加速開發(fā)與創(chuàng)新,根據(jù) Gar...

關(guān)鍵字: 開源 開源軟件 組件 數(shù)據(jù)庫

10月12日消息,據(jù)開放原子開源基金會,日前,北京萬里紅科技有限公司(簡稱“萬里紅”)發(fā)布了針對行業(yè)定制、搭載T618芯片和OpenAtom OpenHarmony(以下簡稱“Open...

關(guān)鍵字: 平板 開源 芯片 鴻蒙

北京2022年10月8日 /美通社/ -- 日前,全球領(lǐng)先的IT基礎(chǔ)設(shè)施提供商浪潮信息加入龍蜥社區(qū)并成為理事單位,致力于攜手社區(qū)生態(tài)伙伴,共同推動開源操作系統(tǒng)的全產(chǎn)業(yè)鏈協(xié)同創(chuàng)新和產(chǎn)業(yè)化應(yīng)用。 龍蜥社區(qū)成立于2020...

關(guān)鍵字: 開源 操作系統(tǒng) 通信 大數(shù)據(jù)

(全球TMT2022年10月8日訊)IT基礎(chǔ)設(shè)施提供商浪潮信息加入龍蜥社區(qū)并成為理事單位,致力于攜手社區(qū)生態(tài)伙伴,共同推動開源操作系統(tǒng)的全產(chǎn)業(yè)鏈協(xié)同創(chuàng)新和產(chǎn)業(yè)化應(yīng)用。 龍蜥社區(qū)成立于2020年9月,是國內(nèi)...

關(guān)鍵字: 操作系統(tǒng) 開源 通信 裝機(jī)量

(全球TMT2022年9月15日訊)Altair宣布Altair? Radioss? (一種經(jīng)過行業(yè)驗(yàn)證的有限元分析(FEA)動態(tài)仿真代碼)現(xiàn)已以O(shè)penRadioss的名義提供開源技術(shù)。...

關(guān)鍵字: iOS RADIO 開源 AIR

上海2022年9月15日 /美通社/ -- 近日, Altair(納斯達(dá)克股票代碼:ALTR)宣布Altair® Radioss® (一種經(jīng)過行業(yè)驗(yàn)證的有限元分析(FEA)動態(tài)仿真代碼)現(xiàn)已以O(shè)penRa...

關(guān)鍵字: iOS RADIO 開源 AIR

重慶2022年8月26日 /美通社/ -- 儲能電池是電化學(xué)儲能的關(guān)鍵器件,是決定電化學(xué)儲能進(jìn)步的"中樞"。 面向未來十年乃至更長的周期,一條"長坡厚雪"的超級賽道正在全面開啟,...

關(guān)鍵字: 電池 離子 BSP 開源

今天在Github上瞎逛的時候,發(fā)現(xiàn)了一個有趣的小項(xiàng)目,但是由于一些特殊的原因,猶豫了一下要不要推薦給大家。

關(guān)鍵字: python 開源

這里分享嵌入式領(lǐng)域有用有趣的項(xiàng)目/工具以及一些熱點(diǎn)新聞,農(nóng)歷年分二十四節(jié)氣,希望在每個交節(jié)之日準(zhǔn)時發(fā)布一期。

關(guān)鍵字: 嵌入式 開源

技術(shù)讓夢想更偉大

257 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉