默認
打賞 發表評論 91
移動端實時音視頻聊天框架:RainbowAV基本介紹
閱讀(94147) | 評論(91 收藏24 淘帖 4

一、作者的話


眾所周之,實時音視頻技術是音視頻技術+網絡技術的混合體,如果沒有技術基礎或積累(單就音視頻技術而言,能吃透這些,博士學位都可以混出來了),開發難度相當高(做過的都知道,音視頻框架即使只要做到手機端兼容性好、穩定不崩潰那都不是件容易的事)。目前除了谷歌開源的WebRTC外,互聯上你幾乎連一個完整的Demo都找不到,而即便有了開源的WebRTC,但其近5G的源碼,想從中扒出你想要的部分,談何容易。

RainbowAV并不是一個實時音視頻Demo,起初它是為配合RainbowChat產品而開發的移動端實時音視頻框架,但它從第1行代碼開始,就被設計為以獨立的SDK方式集成和使用,從而擴展它的使用場景和應用范圍。

最新動態:2018年2月11日已發布RainbowAV v2.1版(詳見v2.1更新說明)。

相關鏈接:
  ① RainbowAV性能測試報告:點此進入 推薦
  ② 移動端即時通訊框架:MobileIMSDK
  ③ Web端即時通訊框架:MobileIMSDK-Web
  ④ 移動端實時音視頻框架:RainbowAV
  ⑤ 全功能產品級IM案例:RainbowChat
  ⑥ Web端產品級IM案例:RainbowChat-Web

二、支持作者


RainbowAV此前僅提供給商業用戶使用,現已精心整理并以有償的方式開源所有源碼和資料,希望得您的支持和理解。高質代碼、數量有限

有償開源的存在,是作者目前為數不多的物質支撐,如果您希望本工程能夠持續發展下去,使得您的項目能夠得到它持久的回饋,您的支持意義非凡。Jack Jiang依托即時通訊網長期提供即時通訊技術的分享和傳播,這里的技術資源和技術支持毫無疑問是您能找到的最低成本且是最優質的,您的支持是我們繼續下去的動力!

支持作者得 RainbowAV 源碼和資料:
資源名稱包含內容金額獲得方式發貨方式專享技術支持
<Android端源碼+文檔>• 1、SDK應用層Java源碼
• 2、SDK核心層C++源碼
• 3、精篇Demo源碼
• 4、客戶端JNI編譯手冊

1499 元
749 元
淘寶鏈接付款后自動發貨1、VIP技術群
2、論壇討論區
3、一對一交流
4、永久免費升級
<服務端源碼+文檔>• 1、服務端C++源碼
• 2、服務端2進制編譯版(可立即部署)
• 3、
服務端架構設計與詳細部署手冊
1599 元
799 元
淘寶鏈接付款后自動發貨

移動端實時音視頻聊天框架:RainbowAV基本介紹_taobao_main_code_toBBS-c.png                移動端實時音視頻聊天框架:RainbowAV基本介紹_taobao_main_code_toBBS-s.png
taobao.com/item.htm?id=558608418703       taobao.com/item.htm?id=558796195010

三、基本介紹


移動端實時音視頻聊天框架:RainbowAV基本介紹_github_header_logo.png
RainbowAV是一套完整移動端實時音視頻框架(含服務端),支持分布式,不依賴于第3方服務,可私有化部署,使用方便,部署簡單,輕量級、模塊化設計,開發者可方便修改、演進甚至用于2次開發。

RainbowAV主要技術特征如下:

  • 獨立無依賴:自主開發、不依賴第3方、可局域網部署;
  • 部署極簡單:服務端輕量級、極少依賴、簡單易用、3行指令即可部署
  • 真正高性能:服務端基于Linux epoll,真正高性能;
  • 服務端拆分:服務端拆分成3個服務,均可獨立部署,進一步提升單實例性能;
  • 支持分布式:可同時部署多實例,在保證單實例性能的前提下,極易實現分布式性能負載;
  • 客戶端性能:底層核心為C++編寫,性能優先,CPU占用約17%手機QQ的約20%、微信的約為19%);
  • 產品級品質:客戶端經過大量手機測試和適配,它并不是個Demo
  • 占用資源少:客戶端資源占用極少,持續運行時內存僅占13M左右
  • 手機兼容好:Android 2.3及以上版本手機均可流暢運行
  • 優先用P2P:優先使用P2P降低服務器負載,不成功時才使用中轉策略;
  • 視頻高壓縮:實時音視頻時上下行總流量約30KB/S手機QQ和微信的實時音視頻均約60KB/S);
  • 音頻高壓縮:實時語音時上下行總流量約9KB/S手機QQ約14KB/S、微信約6KB/S);
  • 主流編解碼:視頻使用H.264、音頻為G729A
  • 弱網絡支持:可應用于3G、4G等弱網絡,在跨洲際高延遲網絡下做過大量測試。

補充說明:以上描述的具體測試數據,詳見《移動端實時音視頻框架:RainbowAV的性能測試報告》。RainbowAV已于2017年9月正式對外發布(在此之前僅對商業用戶授權使用),如有需要可自行從淘寶下單,付款后會立即自動發貨到您的淘寶關聯郵箱,無需等待處理。

四、源碼和文檔獲取


RainbowAV工程目前未開源,您可通過淘寶鏈接捐助的方式獲取(同時您也將立即獲得作者的專享技術支持),詳見文首“淘寶下單”部分,感謝您的理解與支持。

或者直接點擊以下鏈接:


五、設計目標


鑒于實時音視頻技術的高門檻,RainbowAV技術從設計開始就希望能簡化集成和使用,因而是以獨立工程的方式進行迭代和演進,并不會與RainbowChat這樣的IM發生代碼耦合性,從而方便開發者自行改進甚至2次開發。

小結一下,RainbowAV的設計目標是為您提供以下能力:

  • 與IM工程的解耦:獨立工程,方便迭代和演進,甚至2次開發;
  • 服務端部署便利:服務端編譯成了清爽的可執行程序,3行指令即完成部署;
  • 單實例拆分部署:共編譯成3個程序,均可獨立部署,互相無依賴,進一步提升單實例性能;
  • 多實例分布式部署:鑒于實時音視頻聊天的特殊性(只在聊天時才需要連接音視頻服務器),多實例分布式部署變的簡單;
  • 服務端的高性能:得益于Linux epoll異步編程模型,服務端擁有極高的并發處理性能。
  • 手機端高兼容性:受益于大量的兼容性測試,甚至在Android 2.3上仍可很好地工作,代碼表現健壯;
  • 手機低資源占用:Android客戶端經過大量優化,資源占用低;
  • 高壓縮低碼率:經過編碼壓縮后的音視頻數據,只需很少的流量;
  • P2P通信支持:盡可能降低服務端性能和帶寬壓力;
  • 弱網絡的支持:降低弱網絡高延遲環境帶來的通信脆弱性,保證應用層的穩定運行。

有關性能指標的詳細測試情況,請見《移動端實時音視頻框架:RainbowAV的性能測試報告》。

六、框架組成


整個RainbowAV工程暫時由以下2部分組成:

  • Android客戶端SDK:開發者可基于此開發您自已的實時音視頻聊天功能、實時語音電話功能等;
  • 高性能服務器程序:用于客戶端網絡狀態上報、P2P協助打通、實時音視頻數據轉發、實時視頻數據轉發等,支持高性能和高并發。

七、性能指標


客戶端性能指標總結:
  • 客戶端運行穩定后,內存占用約13M左右(以MOTO G XT1077手機為例);
  • 實時音視頻(視頻+語音)時,CPU占用約17%(手機QQ的約為20%、微信的約為19%);
  • 實時語音(僅語音)時,CPU占用約11%(手機QQ的約為12%、微信的約為5%);
  • 實時音視頻(視頻+語音)時上下行總流量約30KB/S手機QQ和微信的均約60KB/S);
  • 實時語音(僅語音)時上下行總流量約9KB/S手機QQ的約14KB/S、微信的約6KB/S).

服務端性能指標總結:
RainbowAV服務端基于Linux epoll(大名鼎鼎的Ngnix的高性能正是以此為基礎),理論設計性能是:單機1000到10000人同時使用。鑒于實時音視頻的復雜性(P2P、中轉等混合發生),想要準確地測試統計非常困難。但鑒于實時音視頻技術的高流量特性,通常單機瓶頸會首先出現在帶寬上,所以生產部署時需要在單機性能和帶寬分流上總體考慮。而也正是得益于實時音視頻的特殊性,聊天時可同時部署多個服務端實例,只要引導該對聊天的用戶同時連接同一臺實例即可進行聊天,從而讓分布式部署和負載均衡變的簡單。

以上性能指標的詳細測試情況,請見《移動端實時音視頻框架:RainbowAV的性能測試報告》。

八、試用和體驗


1RainbowAV獨立測試體驗版:

移動端實時音視頻聊天框架:RainbowAV基本介紹_av_fir.png
掃描2維碼進入下載地址

2RainbowAV集成到RainbowChat后:

移動端實時音視頻聊天框架:RainbowAV基本介紹_11.png
掃描2維碼進入下載地址進入下載地址2
測試賬號1:400088 密碼:123456,測試賬號2:400093 密碼:123456。也可自行注冊!

九、授權方式


授權方法:
完成付款后,你即可永久自由地使用RainbowAV(包括后緒永久免費提供升級版),無需單獨授權,如:用于研究、學習、甚至商業用途。RainbowAV為著作權作品,未經作者授權不可對RainbowAV本身進行二次出售(但基于此進行的后續演進和開發成果由您自行獨享),請尊重知識產權。

版本升級:
可永久免費獲取最新版本,作者承諾在捐助者索取最新版本時,提供優先交付的保證。

獲取授權書:
如您確實需要單獨的正式授權書,請聯系作者即可。授權書電子版(蓋章有效)將發到您的指定郵箱,如還需寄送紙質授權書(蓋章有效)則請補上郵費即可(快遞收多少就是多少,無需多付)。

著作權證書:
移動端實時音視頻聊天框架:RainbowAV基本介紹_av.jpg

補充說明:如需獲得更多技術支持或技術合作請聯系作者,QQ:413980957。

十、聯系方式



十一、運行截圖


1)RainbowAV獨立體驗版的運行效果:
移動端實時音視頻聊天框架:RainbowAV基本介紹_rainbow_av_alone_demos.jpg
移動端實時音視頻聊天框架:RainbowAV基本介紹_WechatIMG419.jpeg

2)RainbowAV集成到RainbowChat聊天軟件后的實時音視頻功能運行效果:RainbowChat介紹RainbowChat截圖
移動端實時音視頻聊天框架:RainbowAV基本介紹_rainbow_av_migrate_rainbowchat_v.jpg

3)RainbowAV集成到RainbowChat聊天軟件后的實時語音聊天功能運行效果:RainbowChat介紹RainbowChat截圖
移動端實時音視頻聊天框架:RainbowAV基本介紹_rainbow_av_migrate_rainbowchat_a2.jpg

即時通訊網 - 即時通訊開發者社區! 來源: - 即時通訊開發者社區!

推薦方案
評論 91
支持群主!
簽名: 秋天到了,終于涼快了
音視頻難度還是很高的,可以學習研究一下
簽名: 該會員沒有填寫今日想說內容.
請問這個音視頻通信是通過 webrtc音視頻技術實現的嗎?
引用:632743365 發表于 2017-10-13 21:22
請問這個音視頻通信是通過 webrtc音視頻技術實現的嗎?

不是的,只有音頻降噪模塊扣的是WebRTC的算法,其它都是自主開發
簽名: 《對比主流分布式MQ消息隊列,媽媽再也不擔心我的技術選型了》http://www.uktmgv.tw/thread-2625-1-1.html
引用:JackJiang 發表于 2017-10-13 22:19
不是的,只有音頻降噪模塊扣的是WebRTC的算法,其它都是自主開發

p2p和服務器的轉發使用的是什么框架?
我想了解清楚一點,可以的話,我想購買。
引用:632743365 發表于 2017-10-13 22:27
p2p和服務器的轉發使用的是什么框架?

都是自已寫的算法,沒有第3方依賴,部署和運營就很簡單
簽名: 《對比主流分布式MQ消息隊列,媽媽再也不擔心我的技術選型了》http://www.uktmgv.tw/thread-2625-1-1.html
引用:JackJiang 發表于 2017-10-14 10:25
都是自已寫的算法,沒有第3方依賴,部署和運營就很簡單

服務端使用C++寫的?不是用Java?我需要對從錄音對象AudioRecord獲取的音頻數據放入byte[]中,再對該byte[]進行處理,處理后再返回一個byte[].
相當于在錄音和編碼之間加了一步對音頻數據byte[]的處理后,再返回另一個byte[];接著在接收音頻端在解碼和播放之間,進行反處理。
請問在您這個基礎上能實現這些嗎?
引用:632743365 發表于 2017-10-14 10:40
服務端使用C++寫的?不是用Java?

實時音視頻這種高性能服務端,C++是必須的,用java那就有點忽悠了
簽名: 《對比主流分布式MQ消息隊列,媽媽再也不擔心我的技術選型了》http://www.uktmgv.tw/thread-2625-1-1.html
引用:JackJiang 發表于 2017-10-14 11:01
這種高性能服務端,C++是必須的,用java那就有點忽悠了


引用:632743365 發表于 2017-10-14 12:37
我需要的是:
  1、對從錄音對象AudioRecord獲取的音頻數據byte[],再對該byte[]通過一個算法進行加密處 ...

我不需要清楚你的具體需求,但你要求的對byte數組進行的加、解密操作,在java層就可以完成:
移動端實時音視頻聊天框架:RainbowAV基本介紹_aa.png

請自行評估。
簽名: 《對比主流分布式MQ消息隊列,媽媽再也不擔心我的技術選型了》http://www.uktmgv.tw/thread-2625-1-1.html
引用:JackJiang 發表于 2017-10-14 13:49
我不需要清楚你的具體需求,但你要求的對byte數組進行的加、解密操作,在java層就可以完成:

好的,我知道了,我再權衡一下,可以的話,之后就會進行購買,再聯系您,謝謝!
引用:632743365 發表于 2017-10-14 14:05
好的,我知道了,我再權衡一下,可以的話,之后就會進行購買,再聯系您,謝謝!

ok
簽名: 《對比主流分布式MQ消息隊列,媽媽再也不擔心我的技術選型了》http://www.uktmgv.tw/thread-2625-1-1.html

您好,我想咨詢一下購買問題。
請問示例截圖中的帥哥是站長本人嗎?
簽名: 該會員沒有填寫今日想說內容.
引用:researchboy 發表于 2017-10-16 21:29
請問示例截圖中的帥哥是站長本人嗎?

我弟弟
簽名: 《對比主流分布式MQ消息隊列,媽媽再也不擔心我的技術選型了》http://www.uktmgv.tw/thread-2625-1-1.html
引用:JackJiang 發表于 2017-10-16 21:38
有什么疑問你說

您好,可以在好友聊天里面聊一下購買問題嗎?
引用:632743365 發表于 2017-10-17 11:17
您好,可以在好友聊天里面聊一下購買問題嗎?

好的,回復你了
簽名: 《對比主流分布式MQ消息隊列,媽媽再也不擔心我的技術選型了》http://www.uktmgv.tw/thread-2625-1-1.html
不錯啊,學習了
簽名: 好好好哈哈哈哈
打賞樓主 ×
使用微信打賞! 使用支付寶打賞!

返回頂部
曾氏料二肖中特