如何從“零”開始搭建直播平臺

喜歡就點關注哦~

1. 直播平臺搭建

        直播間從2015年直播元年開始,到現在依然火熱不衰,直播在2015年還是相對神祕,但是如今更多的人會想要去了解、熟悉它,就要去解開這層面紗,今天小編就教你如何從零開始搭建自己的直播系統。

 

 

2. 直播間功能

        我們先從市面上主流的直播間功能說起,先看看直播平臺最基礎要具備什麼樣的功能。

 

1.              視頻直播功能:這是最基礎的功能,主播端將視頻數據推送出去,觀衆端進行接收觀看,這就需要RTMP推流功能的支持才能實現,並且這一步也會決定畫面的清晰度和流暢程度。

2.              聊天功能:觀衆可以在互動區進行文字聊天,和主播對話,想說就說。

3.              禮物打賞功能:觀衆可以對喜愛的女主播進行禮物打賞,遊艇、跑車、甚至城堡走起來等等。

4.              支付/提現功能:用戶爲喜愛的直播進行禮物打賞或者守護,主播收到禮物或接受守護後,可將收到的平臺虛擬幣兌換成現金提取出。

5.              視頻回放功能:直播時同時錄屏,隨時隨地,想看回放就看回放,粉絲再也不會錯過喜愛的主播直播的精彩內容。

6.              分享功能:將主播頻道或主頁分享到微信、微博或者別的平臺。

 

 

功能是半成品,怎麼使用才賦予平臺完整性

3. 技術模塊架構

 

 

那麼由功能出發,來看看我們如何搭建一個基礎的直播平臺呢。

 

視頻直播功能其實就是從推流到拉流的過程,基本構成也是由以下幾部分構成:

其實這些也是有一些雲服務商會提供一整套服務的,比如七牛,聲網,騰訊雲,金山雲等推流服務商。這裏就不多做闡述,具體價格和服務需要諮詢他們,本文只說技術相關。

 

採集部分,iOS是比較簡單的,因爲機型相對固定以及採集方向相對固定,Android則要做些機型適配工作,PC最麻煩各種奇葩攝像頭驅動,出了問題特別不好處理,建議放棄PC只支持手機主播,目前大部分的美女直播平臺都是這樣的,遊戲直播平臺則略有不同。

 

處理部分,其實針對視頻幀的預處理,現在直播美顏已經是標配了,80%的主播沒有美顏根本沒法看。美顏算法需要用到GPU編程,需要懂圖像處理算法的人,沒有好的開源實現,要自己參考論文去研究。難點不在於美顏效果,而在於GPU佔用和美顏效果之間找平衡。GPU雖然性能好,但是也是有功耗的,GPU佔用太高會導致手機發燙,而手機發燙會導致攝像頭採集掉幀,可能原因是過熱會導致CPU降低主頻。這是全局美顏,還需要針對臉部的調整,比如最普遍的大眼瘦臉,還有瘦下巴,調整額頭高度,鼻翼寬度等,拍攝起來不亞於一場外科手術了。這個就需要配合人臉追蹤算法來進行調整,先得識別人臉五官部位,再正對特定部位進行不同方法的圖形學渲染,基於這些技術,貼紙道具什麼也都不是問題。所以基礎美顏難度不大,用上了人臉追蹤的美顏就價格高點,因爲畢竟人臉追蹤現在成本還是比較高的。自己如果做基礎美顏難度低,成本也不高,但是一旦要做美型,成本高,週期長,也可以考慮採購第三方的SDK,比如我們拓幻TiFancy~

 

編碼,可以採用硬編碼或者軟編碼720p以上,軟編會導致CPU過熱。能耗過高,之後自然會卡頓,編碼要在分辨率,幀率參數設計上找到最佳平衡點,讓能耗和效果之間互相協調。視頻-編碼格式:H.265、H.264、MPEG-4等,封裝容器有TS、MKV、AVI、MP4等。現在比較常用的視頻編碼是H.264。音頻-編碼格式:G.711μ、AAC、Opus等,封裝有MP3、OGG、AAC等,比較常用的是AAC編碼格式。視頻經過編碼壓縮大大提高了視頻的存儲和傳輸效率,當然,經過壓縮後的視頻在播放時必須進行解碼。

 

傳輸,將編碼完成後的音視頻數據進行傳輸,早期的音視頻通過同軸電纜之類的線纜進行傳輸,IP網絡發展後,使用IP網絡優傳輸。這個就肯定要採購雲平臺的CDN服務了,這個錢不花是不現實的。當然CDN只提供了帶寬和服務器間傳輸,發送和接收端的網絡連接抖動緩衝還是要自己做的。如果平臺需要提高高質量的直播,這些是需要考慮的,如果前期沒這個能力,也不是必備的功能啦,可以後期再做。涉及技術或協議:

傳輸協議:RTP與RTCP、RTSP、RTMP、HTTP、HLS(HTTP LiveStreaming)等

控制信令:SIP和SDP、SNMP等

 

轉碼、解碼,也肯定要兼容軟/硬解碼,目前手機普遍支持硬解了,這些功能其實如果採購第三方雲平臺的推流SDK服務,都是一站式搞定的,至於採購哪家的,肯定是見仁見智的事情,畢竟價格和性能都是需要綜合考慮的,比如騰訊雲、聲網、七牛雲、金山雲等。

 

整體過程可以這麼理解:

 

平臺搭建,當快則快
打破你對技術的種種限制
顛覆你小心翼翼藏着掖着的預算
我們要最快的平臺,要有心意的設計
要低廉的成本,要有花樣的功能
怎麼才能做到,SDK來幫您

4. 特色功能

OK,說完基本構成,我們再說一下特色功能:

比如評論聊天、連麥互動、收費房間、密碼房間、禮物打賞等特色功能,也是爲直播平臺提供更多可能和更多想象空間。

評論聊天可以採用IM方式進行實現,IM提供商也比較多,可以採用環信、網易雲等,也可以自己進行實現,因爲這個功能不是屬於即時音視頻通信,沒有很複雜。

 

連麥互動就是屬於即時音視頻通信了,這個其實自己實現就有點本末倒置,過於浪費時間,並且就算用TCP協議實現了基礎功能,穩定性和流暢度也沒有保障。

 

收費、密碼房間就屬於平臺搭建時進行實現的功能,這個對於普通前端工程師而言不是很大的挑戰。

 

禮物打賞就涉及到支付渠道的對接,和渲染功能實現,比如收到費用後,要在屏幕渲染一些特定的特效,比如遊艇走起來,火箭biubiubiu~

 

最後,我們來算一下人力和預算,團隊至少有10個技術人員,10個產品運營團隊,3個月左右能夠全部搭建完畢,並上線推廣,成本在100w左右,並且帶寬支出也是一筆不小的開銷。

所以不要盲目開始搭建,其實開發順序可以考慮:第三方一站式搭建 > 集成各項功能SDK > 從零開始開發

 

第三方平臺搭建我這裏就不多推薦了,畢竟廣告太多也不會,百度一搜也有很多,當然,我們拓幻科技也可以做啦~

 

end

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章