如何搭建一套完整的視頻直播系統(tǒng)
如何搭建一套完整的視頻直播系統(tǒng)
視頻直播,可以分為 采集,前處理,編碼,傳輸,解碼,渲染 這幾個環(huán)節(jié),下面分別說下:
采集,iOS是比較簡單的,Android則要做些機型適配工作,PC最麻煩各種奇葩攝像頭驅(qū)動,出了問題特別不好處理,建議放棄PC只支持手機主播,目前幾個新進的直播平臺都是這樣的。
前處理,現(xiàn)在直播美顏已經(jīng)是標(biāo)配了,80%的主播沒有美顏根本沒法看。美顏算法需要用到GPU編程,需要懂圖像處理算法的人,沒有好的開源實現(xiàn),要自己參考論文去研究。難點不在于美顏效果,而在于GPU占用和美顏效果之間找平衡。GPU雖然性能好,但是也是有功耗的,GPU占用太高會導(dǎo)致手機發(fā)燙,而手機發(fā)燙會導(dǎo)致攝像頭采集掉幀,iPhone6尤其明顯,因為iPhone6的CPU和前置攝像頭很近。
編碼,肯定要采用硬編碼,軟編碼720p完全沒希望,勉強能編碼也會導(dǎo)致CPU過熱燙到攝像頭。硬編碼兼容性又是一個嘩猛大坑,android上要有人去填。編碼要在分辨率,幀率,碼率,GOP等參數(shù)設(shè)計上找到最佳平衡點。
傳輸,自己做不現(xiàn)實,交給CDN服務(wù)商吧,也就是貴了點,相信有志于做直播平臺改變世界的你不差錢。假設(shè)2W PCU大約每月帶寬費用100萬左右,因為清晰流暢的720p要1.5mbps左右。CDN只提供了帶寬和服務(wù)器間傳輸,發(fā)送和接收端亂叢橋的網(wǎng)絡(luò)連接抖動緩沖還是要自己寫的。不想要卡頓,必然要加大緩沖,會導(dǎo)致延遲高,延遲高影響互動性,要做權(quán)衡。
解碼,也肯定要硬解碼,目前手機普遍支持硬解了,只是android上還是有兼容性大坑要填。
渲染,這個難點不在于繪制,而在于音畫同步,目前幾個直播做得都不好。
此外音頻還有幾個坑要填,比如鄭絕降噪,音頻編碼器的選擇,各種藍牙耳機,各種播放模式的適配等,如果你想做主播和觀眾連線聊天,還有個回聲消除問題。
以上是媒體模塊,還有信令控制,登錄、鑒權(quán)、權(quán)限管理、狀態(tài)管理等等,各種應(yīng)用服務(wù),消息推送,聊天,禮物系統(tǒng),支付系統(tǒng),運營支持系統(tǒng),統(tǒng)計系統(tǒng)等。
后臺還有數(shù)據(jù)庫,緩存,分布式文件存儲,消息隊列,運維系統(tǒng)等。
第一期至少要融資2000萬RMB,組建至少10人的技術(shù)團隊,10人的產(chǎn)品運營團隊,爭取3個月產(chǎn)品上線,半年達到5W在線(2w 根本不夠)然后融資1個億,或許還有希望一搏。
這些對于創(chuàng)業(yè)者來說是一個難度系數(shù)非常大,創(chuàng)業(yè)初期還是建議接入第三方的直播SDK,可以節(jié)省成本,趣拍直播還是很不錯的,不管是轉(zhuǎn)碼還是推流,支持1000多萬人在線不卡頓,可以去了解下。
祝你朋友好運。