400-638-8808
|
微信公眾號(hào)








穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無(wú)阻

協(xié)同辦公 資源管理

超大郵件 超級(jí)功能

智能反垃圾郵件技術(shù)
易管理 免維護(hù)

微信掃一掃 關(guān)注"天下數(shù)據(jù)"商品一律九折
![]()
搜索"朗玥科技"關(guān)注,了解最新優(yōu)惠

前言
現(xiàn)在大大小小的公司,甚至個(gè)人開(kāi)發(fā)者,都想開(kāi)發(fā)自己的直播網(wǎng)站或App,本文會(huì)幫你理清,開(kāi)發(fā)視頻直播平臺(tái),你需要注意哪些技術(shù)要點(diǎn)。
開(kāi)源WebRTC能做實(shí)時(shí)視頻直播嗎?
你以為調(diào)用幾個(gè)Chrome的API就能直播了?
WebRTC用的不是插件,是Chrome自帶的功能,是原生js的API,也沒(méi)有什么瀏覽器自帶的插件。獲取圖像信源之后不應(yīng)該用websocket發(fā)送圖像數(shù)據(jù),而是直接用WebRTC的通信相關(guān)API發(fā)送圖像和聲音(這套API是同時(shí)支持圖像和聲音的)數(shù)據(jù)。

最后:如果按照這個(gè)方法折騰完了,你認(rèn)為會(huì)得到什么結(jié)果呢?1人廣播,39人收看,在一臺(tái)i3 + 4G + Centos6.4 mini的機(jī)器上跑MCU,連續(xù)運(yùn)行48小時(shí)沒(méi)有出現(xiàn)問(wèn)題,CPU的使用率大概在60%左右。跟現(xiàn)在動(dòng)輒上十萬(wàn)的直播相比,是不是弱爆了。
所以,別迷信 WebRTC,WebRTC只適合小范圍(8人以內(nèi))音視頻會(huì)議,不適合做直播。
開(kāi)發(fā)實(shí)時(shí)視頻直播需要哪些技術(shù)?
自負(fù)前端開(kāi)發(fā)人員會(huì)以為:“熟悉HTML5、1個(gè)人大約7個(gè)工作日內(nèi)就可以開(kāi)發(fā)出來(lái)了”。面對(duì)這樣的想法,只有一句話:少年,謙虛點(diǎn)。

如果你天賦異稟,一個(gè)人解決了以上技術(shù)問(wèn)題。那么,你還需要解決傳輸問(wèn)題。傳輸好壞,也就是視頻是否延遲、卡頓,取決于網(wǎng)絡(luò)條件好壞。而公共互利網(wǎng)復(fù)雜的網(wǎng)絡(luò)環(huán)境就不用說(shuō)了吧。在家玩游戲不卡,看視頻就卡。聊QQ斗地主無(wú)壓力,看視頻就卡。這怎么辦?
解決辦法有3種:
①用CDN加速;
②花錢(qián)自己架服務(wù)器;
③或者用別人的云服務(wù)。
視頻信號(hào)從現(xiàn)場(chǎng)出發(fā),到達(dá)分散在全國(guó)各地的觀眾,需要經(jīng)過(guò)數(shù)據(jù)中心和各級(jí)節(jié)點(diǎn)的緩存加速,一路上馬不停蹄,可以和楊貴妃的荔枝媲美。而信號(hào)在一路上各個(gè)環(huán)節(jié)所需要的時(shí)間總和,就是你看到的延遲。
用CDN加速,可以盡量減少延遲。目前業(yè)內(nèi)水準(zhǔn)來(lái)看,視頻延遲都在3-6秒之間。也就是在視頻直播時(shí),你看到的是幾秒以前的畫(huà)面。
自己架服務(wù)器,如果你部署的數(shù)據(jù)中心不夠多,那么遇上跨網(wǎng)、跨省的傳輸,還是得用CDN加速。那么為了盡可能降低延遲,你就需要在全國(guó)各省市都部署數(shù)據(jù)中心,來(lái)解決跨網(wǎng)、跨省的傳輸。這種解決方案,相較CDN,非常昂貴。
用云服務(wù)的話,就是別人把服務(wù)器給你架好了,你只要傻瓜式的用就行了。為防止廣告嫌疑,有關(guān)實(shí)時(shí)直播云,現(xiàn)在有很多服務(wù)商提供這一塊,具體情況請(qǐng)自行了解哦。
當(dāng)然,不管用哪種方式,請(qǐng)綜合權(quán)衡利弊,找到適合自已的方案就是最好的方案。
下面,開(kāi)始講,視頻直播的究竟需要哪些環(huán)節(jié),應(yīng)該如何處理?
開(kāi)發(fā)實(shí)時(shí)視頻直播的流程是什么?

- 前期處理:現(xiàn)在直播美顏已經(jīng)是標(biāo)配了,80%的主播沒(méi)有美顏根本沒(méi)法看。美顏算法需要懂圖像處理算法的人,沒(méi)有好的開(kāi)源實(shí)現(xiàn),要自己參考論文去研究。算法設(shè)計(jì)好了還要優(yōu)化,無(wú)論你打算用CPU還是GPU優(yōu)化,算法優(yōu)化本身也需要專業(yè)知識(shí)支持。GPU雖然性能好,但是也是有功耗的。GPU占用太高會(huì)導(dǎo)致手機(jī)發(fā)燙,而手機(jī)發(fā)燙會(huì)導(dǎo)致攝像頭采集掉幀,iPhone6尤其明顯。因?yàn)閕Phone6的CPU和前置攝像頭很近,在算法開(kāi)發(fā)、算法優(yōu)化、效果平衡上需要大量的開(kāi)發(fā)調(diào)試工作。而這一切都是需要經(jīng)驗(yàn)支撐。
- 編碼:如果你要上720p,肯定要采用硬編碼。軟編碼720p完全沒(méi)希望,硬件編碼不靈活。兼容性也有問(wèn)題。如何適應(yīng)紛繁復(fù)雜的網(wǎng)絡(luò)和紛繁復(fù)雜的上下行設(shè)備?安卓和芯片的坑,開(kāi)發(fā)過(guò)的人都知道。那有人問(wèn),要求不高,上軟編碼低分辨率360p行不行?就算上低分辨率,軟編碼還是會(huì)讓CPU發(fā)燙,CPU過(guò)熱燙到攝像頭,長(zhǎng)期發(fā)燙不僅直接反應(yīng)是費(fèi)電。既然是手機(jī)直播,插著電源和充電器實(shí)在說(shuō)不過(guò)去吧。還有,CPU發(fā)燙會(huì)降頻,怎么辦?這還是只說(shuō)性能方面。和前處理只影響圖像質(zhì)量和功耗不同,視頻編解碼技術(shù)還關(guān)聯(lián)成本計(jì)算和網(wǎng)絡(luò)對(duì)抗。考慮性能、功耗、成本、網(wǎng)絡(luò)這四個(gè)之后你編碼的碼率、幀率、分辨率。軟硬件開(kāi)發(fā)該如何選擇?
- 傳輸:自己做不現(xiàn)實(shí),交給第三方服務(wù)商吧。
- 解碼:如果你用硬解碼,一定要做容錯(cuò)處理,一定要做適配。突然一個(gè)crash導(dǎo)致手機(jī)重啟不好吧。安卓的硬解碼,不說(shuō)了。如果你加了網(wǎng)絡(luò)目前手機(jī)的硬解碼還不一定支撐用軟解碼,功耗發(fā)熱的問(wèn)題又來(lái)了。
- 渲染:為什么手機(jī)明明解碼出好多幀數(shù)據(jù)。就是渲染不出來(lái)。為什么畫(huà)面就是不同步。
好了,以為完了吧?
還有音頻呢。mic資源被搶占怎么辦?為什么錄音線程老是出問(wèn)題?音頻的前處理更復(fù)雜。什么時(shí)候開(kāi)啟三A引擎噪聲抑制?回聲消除?增益控制?為什么AAC比Opus質(zhì)量好?什么是aac,he-aac,heaacv2?如何選擇?要不要加混響?播放和錄音模式該如何選擇?如果你想互動(dòng)回聲消除就要適配N多機(jī)型。
以上是媒體模塊,還有信令控制,登錄、鑒權(quán)、權(quán)限管理、狀態(tài)管理等等,各種應(yīng)用服務(wù),消息推送,聊天,禮物系統(tǒng),支付系統(tǒng),運(yùn)營(yíng)支持系統(tǒng),統(tǒng)計(jì)系統(tǒng)等。
后臺(tái)還有數(shù)據(jù)庫(kù),緩存,分布式文件存儲(chǔ),消息隊(duì)列,運(yùn)維系統(tǒng)等。
小結(jié)
以上技術(shù)要點(diǎn)的小結(jié),確實(shí)能說(shuō)明開(kāi)發(fā)一個(gè)能用于生產(chǎn)環(huán)境的實(shí)時(shí)視頻直播平臺(tái)確非易事,跟IM里傳統(tǒng)的實(shí)時(shí)音視頻一樣,這樣的技術(shù)都是音視頻編解碼+網(wǎng)絡(luò)傳輸技術(shù)的綜合應(yīng)用體,沒(méi)有一定的技術(shù)積累,確實(shí)有很多坎需要邁過(guò)去。。。

天下數(shù)據(jù)視頻直播服務(wù)器解決方案請(qǐng)戳:m.51huadong.com/2016/vod.asp
產(chǎn)品與服務(wù)
香港服務(wù)器 香港高防服務(wù)器 美國(guó)服務(wù)器 韓國(guó)服務(wù)器 新加坡服務(wù)器 日本服務(wù)器 臺(tái)灣服務(wù)器云服務(wù)器
香港云主機(jī) 美國(guó)云主機(jī) 韓國(guó)云主機(jī) 新加坡云主機(jī) 臺(tái)灣云主機(jī) 日本云主機(jī) 德國(guó)云主機(jī) 全球云主機(jī)高防專線
海外高防IP 海外無(wú)限防御 SSL證書(shū) 高防CDN套餐 全球節(jié)點(diǎn)定制 全球?qū)>GPLC關(guān)于我們
關(guān)于天下數(shù)據(jù) 數(shù)據(jù)招商加盟 天下數(shù)據(jù)合作伙伴 天下數(shù)據(jù)團(tuán)隊(duì)建設(shè) 加入天下數(shù)據(jù) 媒體報(bào)道 榮譽(yù)資質(zhì) 付款方式關(guān)注我們
微信公眾賬號(hào)
新浪微博
天下數(shù)據(jù)手機(jī)站 關(guān)于天下數(shù)據(jù) 聯(lián)系我們 誠(chéng)聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊(cè) 網(wǎng)站地圖
天下數(shù)據(jù)18年專注海外香港服務(wù)器、美國(guó)服務(wù)器、海外云主機(jī)、海外vps主機(jī)租用托管以及服務(wù)器解決方案-做天下最好的IDC服務(wù)商
《中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證》 ISP證:粵ICP備07026347號(hào)
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運(yùn)營(yíng))聯(lián)合版權(quán)
深圳總部:中國(guó).深圳市南山區(qū)深圳國(guó)際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號(hào)建安商業(yè)大廈7樓
7×24小時(shí)服務(wù)熱線:4006388808香港服務(wù)電話:+852 67031102
本網(wǎng)站的域名注冊(cè)業(yè)務(wù)代理北京新網(wǎng)數(shù)碼信息技術(shù)有限公司的產(chǎn)品