前面的文章中簡單介紹了目前比較熱門的幾個開源WebRTC伺服器端。它們都有各自的特點和應用場景。但是,筆者一直對kurento比較感興趣,除了其開源項目的創造力以外,他們的團隊命運好像也完全契合了開源社區的結果。創始人經過差不多接近十年多的發展,在最近幾年因為雲計算,各種人工智慧的發展,以及帶寬的增加,才讓WebRTC技術得到了突飛猛進的發展。kurento創始人在接受採訪時也曾經說過,他開發通信軟體不僅僅是為了只是簡單的語音溝通,那樣也沒有什麼願意。在結合了人工智慧和網際網路其它應用以後,他致力於利用Kurento作為一個媒體伺服器來進行非常底層,非常靈活的應用場景的實現。因此,kurento在其他應用方面緊密和人臉識別技術,遊戲虛擬仿真技術,群體跟蹤檢測等結合使用。
1、kurento簡單背景
Kurento是歐洲的技術團隊創建的開源項目(詳解訪問官方網站),是馬德裡一所大學的研究機構創建的項目,創始人前前後後也經過10多的開發,前幾年公司出售給了twilio,twilio根據他們以前的項目做了一個elasticRTC ,但是這個項目好像沒有完全開展起來。老實說,這個開源項目始終沒有真正活躍起來,讓twilio收購以後,整個開源項目幾乎完全沉寂了下來。從去年開始,這個項目團隊又重組,團隊開始了更多的維護更新。這也是筆者題目所說的「半死不活」的真正含義。比較令人遺憾的是,這個團隊可能錯過了最佳的WebRTC的黃金時間,不過,它們的技術架構和產品理念仍然處於前列,特別是通過IP攝像頭,WebRTC實現的人臉識別,物體檢測,群體檢測功能,虛擬仿真等,因此,這個團隊還是有很多機會在這些方面做很多比較新的功能。要不然,twilio怎麼會收購它們呢!
視頻演示,如何實現臉部識別功能:
2、技術架構
kurento創始人在當初設計整個媒體伺服器時的地位和技術架構非常超前。無論從模塊化設計,API接口支持,拓展方式都非常靈活。它們對WebRTC伺服器的定位非常清晰。
編碼轉換,錄像錄音功能實現,SFU/MCU策略處理
用戶可以在媒體伺服器通過接口來進行各種數據處理。
用戶可以非常輕鬆添加自己的模塊:
3、應用場景示例
基於kurento的應用場景很多,官方也提供了各種示例(通過IP攝像頭和WebRTC瀏覽器),其中比較熱門的應用場景包括群體檢測跟蹤,物體檢測,智能交通的監控,人臉識別(嘴,臉,鼻子,眼睛)等識別,同時還支持3D圖像處理,虛擬仿真,傳感器的接口處理。除了以上應用以外,它知道視頻會議的會議管理有非常完整的接口,所以,一些用戶如果使用kurento做視頻會議系統的開發的話也是一個不錯的選擇。
和開源Asterisk集成實現SIP/WebRTC呼叫
4、安裝
Kurento支持多種安裝方式和配置場景,當然也包括了多種配置場景的開發文檔和demo代碼,用戶可以下載測試。這裡不再做過多討論。
5、總結
和其他的開源WebRTC媒體伺服器相比,kurento 仍然具有非常明顯的優勢,包括和IP攝像頭,WebRTC集成後的人工智慧的處理,同時也提供了完整的接口。任何產品的優勢其實就是它的劣勢,雖然支持了很多的接口,開發人員需要不斷維護這些接口,而且需要自己根據自己的應用需要再增加自己的開發應用。因此,如果用戶需要真正使用kurento做部署的話,需要自己做進一步開發。另外,kurento提供了商業產品,社區團隊技術推進比較慢也需要用戶注意。總之,kurento本身是一個好的開源項目,希望他們團隊走出「半死不活:的狀態,搶佔WebRTC真正的風口, 希望一手好牌不要打爛。
參考資料:
https://doc-kurento.readthedocs.io/en/6.13.0/index.html
https://webrtc.ventures/2017/02/kurento-asterisk-powerful-couple/
www.asterisk.org
融合通信/IPPBX商業解決方案:www.hiastar.com
最新Asterisk完整中文用戶手冊詳解及免費slack支持:www.asterisk.org.cn
Freepbx/FreeSBC技術文檔: www.freepbx.org.cn
如何使用FreeSBC,qq技術分享群:334023047
關注微信公眾號:asterisk-cn,獲得有價值的通信行業技術分享