相較于電腦直播來說,視頻直播app更便利。以前人們?nèi)粝朐陔娔X端主播,需得調(diào)視頻調(diào)麥克風(fēng),手續(xù)比較繁瑣,而且有時(shí)候可能還調(diào)不好。但是視頻直播app只需打開手機(jī)便可直播,簡(jiǎn)單方便,因此一上線便備受用戶喜愛。但是直播APP開發(fā)過程有些技術(shù)的Bug以及難題是需要開發(fā)公司去注意和解決的。
直播APP開發(fā)搭建過程中需要解決采集,前處理,編碼,傳輸,解碼,渲染這幾個(gè)環(huán)節(jié)的技術(shù)問題。
1、采集,iOS系統(tǒng)直播類APP開發(fā)是比較簡(jiǎn)單的,Android則要做些機(jī)型適配工作,PC最麻煩各種奇葩攝像頭驅(qū)動(dòng),在線直播APP開發(fā)過程出了問題特別不好處理,建議放棄PC只支持手機(jī)主播,目前幾個(gè)新進(jìn)的視頻直播平臺(tái)也是采用這種模式。
2、前處理,現(xiàn)在定制開發(fā)手機(jī)直播APP美顏功能已經(jīng)是標(biāo)配了,美顏算法需要用到GPU編程,需要懂圖像處理算法。
難點(diǎn)不在于美顏效果,而在于GPU占用和美顏效果之間找平衡。GPU雖然性能好,但是也是有功耗的,GPU占用太高會(huì)導(dǎo)致手機(jī)發(fā)燙,而直播過程中手機(jī)發(fā)燙會(huì)導(dǎo)致攝像頭采集掉幀,iPhone6尤其明顯,因?yàn)閕Phone6的CPU和前置攝像頭很近。
3、編碼,手機(jī)直播APP開發(fā)定制肯定要采用硬編碼,編碼也會(huì)導(dǎo)致CPU過熱燙到攝像頭,手機(jī)視頻APP編碼要在分辨率,幀率,碼率,GOP等參數(shù)設(shè)計(jì)上找到最佳平衡點(diǎn)。
4、傳輸,CDN服務(wù)商為視頻直播APP定制了專門的帶寬和服務(wù)器,方便于彼此之間傳輸,發(fā)送和接收端的網(wǎng)絡(luò)連接抖動(dòng)緩沖。手機(jī)直播過程中不想要卡頓,必然要加大緩沖,會(huì)導(dǎo)致延遲高,延遲高影響互動(dòng)性,要做權(quán)衡。
5、解碼,手機(jī)視頻APP開發(fā)需要硬解碼,目前手機(jī)普遍支持硬解了,只是android上還是有兼容性的問題存在。
6、渲染,這個(gè)難點(diǎn)不在于繪制,而在于開發(fā)手機(jī)視頻APP在直播實(shí)現(xiàn)音畫同步。此外音頻比如降噪,音頻編碼器的選擇,各種藍(lán)牙耳機(jī),各種播放模式的適配等,如果主播想和觀眾在直播平臺(tái)app連線聊天,回聲消除問題也是亟待解決的。
一般直播APP開發(fā)是使用混合模式開發(fā)的,而優(yōu)匠科技提供了多種解決方案,多種開發(fā)形式,可以按需定制開發(fā)。針對(duì)不同的系統(tǒng)版本,設(shè)備型號(hào)和設(shè)備分辨率,提供了全面的兼容性測(cè)試。