快速搭建一套 語音 視頻直播平臺

5G時代的來臨,勢必會帶來變革,將來,音視頻多人聊天室 很是火,在此給你們分享一個快捷的實現方案
本方案主要實現的是,多人同事音視頻 聊天室功能,包括上麥,下麥,權限控制,
送禮物,房間內文字聊天,房間內語音視頻聊天,由於demo文檔網上都有,因此只講思路
一。首先選擇 你喜歡的 一套音視頻 直播SDK,
推薦 聲網SDK (https://www.agora.io/cn/
即構SDK(https://www.zego.im/
二者皆爲目前主流是直播SDK,實現基本音視頻直播徹底沒有問題。spring

1.1
音視頻引擎
下載官網Demo ,你很快能夠跑起來一個 多人的語音/視頻 demo
使用 第三方音視頻sdk 好處在於, 你不須要關注他們的底層實現,只要申請好你的APPID, 就能夠經過幾行代碼跑起來一個簡單的 語音/視頻 直播app
當你繼續往下會發現,demo 單單只是完成 音頻與視頻的傳播,若是須要實現控制指令,
則是須要 信令sdk /即時消息sdk ,來另外實現一套控制系統。mongodb

1.2
信令控制系統
目前上面的兩個SDK都提供了獨立的信令sdk ,可用於對接控制系統。
信令sdk
注:聲網中使用rtm 實現便可,與信令同樣
信令主要實現 了 房間內的即時通信,省去了本身維護一套tcp服務器,目前該功能免費的。springboot

因爲信令系統單純的頻道廣播,並不存在 主服務器的概念,
全部一些狀態仍是須要保存在平臺業務服務器,
房間內狀態須要經過操做的時候,首先操做業務服務器,成功返回後,通過信令系統進行廣播便可。
房間內在線人數查詢,通常的信令系統也都支持。
直播房間系統功能,禮物廣播
文字聊天廣播服務器

二 平臺業務服務器
使用 springboot + mongodb 實現
springboot 很是方便作負載均衡,而mongodb 則有很高的響應效率 和數據遷移的方便性
保證了 高承載量,與快速響應app

三 禮物特效實現
使用 svga 實現動態效果。
目前大部分的直播app 的特效都是經過svga實現,網上可搜索出相關資料
四 表情圖標
通常若是是視頻聊天就沒有必要,音頻聊天室通常都會 表情包。
這是除了聲音以外 可見的互動的功能負載均衡

相關文章
相關標籤/搜索