怎么搭建直播平臺(tái)
時(shí)間:2022-05-18 10:30:01 | 來源:行業(yè)動(dòng)態(tài)
時(shí)間:2022-05-18 10:30:01 來源:行業(yè)動(dòng)態(tài)
直播推流端即主播端,主要通過手機(jī)攝像頭采集視頻數(shù)據(jù)和麥克風(fēng)采集音頻數(shù)據(jù),經(jīng)過一系列前處理、編碼、封裝,然后推流到CDN進(jìn)行分發(fā)。
1、采集
手機(jī)直播系統(tǒng)通過手機(jī)攝像頭和麥克風(fēng)直接采集音視頻數(shù)據(jù)。其中,視頻采樣數(shù)據(jù)一般采用RGB或YUV格式、音頻采樣數(shù)據(jù)一般采用PCM格式。采集到的原始音視頻的體積是非常大的,需要經(jīng)過壓縮技術(shù)處理來提高傳輸效率。
2、前處理
在這個(gè)環(huán)節(jié)主要處理美顏SDK等效果。美顏SDK功能幾乎是直播的標(biāo)配功能。
美顏SDK實(shí)際上是通過算法去識(shí)別圖像中的皮膚部分,對(duì)皮膚區(qū)域進(jìn)行色值調(diào)整。通過顏色對(duì)比找到皮膚區(qū)域,可以進(jìn)行色值調(diào)整、添加白色圖層或調(diào)整透明度等來等來達(dá)到美白效果。在美顏處理方面,最著名的GPUImage提供了豐富的效果,同時(shí)可以支持iOS和Android,支持自己寫算法實(shí)現(xiàn)自己最理性的效果。GPUImage內(nèi)置了120多種常見濾鏡效果,添加濾鏡只需要簡單調(diào)用幾行代碼就可以了。
3、編碼
為了便于手機(jī)視頻的推流、拉流以及存儲(chǔ),通常采用視頻編碼壓縮技術(shù)來減少視頻的體積,現(xiàn)在比較常用的視頻編碼是H.264。在音頻方面,比較常用的是用AAC編碼格式,其它如MP3、WMA也是可選方案。視頻經(jīng)過編碼壓縮大大提高了視頻的存儲(chǔ)和傳輸效率,當(dāng)然,經(jīng)過壓縮后的視頻在播放時(shí)必須進(jìn)行解碼。
相較于之前的H.264,2012年誕生的H.265編解碼標(biāo)準(zhǔn)有了相當(dāng)大的改善,做到了僅需要原來一半帶寬即可播放相同質(zhì)量的視頻,低于1.5Mbps的網(wǎng)絡(luò)也能傳輸1080p的高清視頻。像阿里云、金山云都在推自己的H.265編解碼技術(shù),隨著直播的快速發(fā)展和對(duì)帶寬的依賴,H.265編解碼技術(shù)已有全面取代H.264的趨勢。
另外,硬件編碼已經(jīng)成為移動(dòng)直播的首選方案,軟編碼處理在720p以上的視頻頹勢非常明顯。在iOS平臺(tái)上硬件編碼的兼容性比較好,可以直接采用,但在 Android 平臺(tái)上,MediaCodec 編碼器針對(duì)不同的芯片平臺(tái)表現(xiàn)差異還是非常大的,要完全實(shí)現(xiàn)全平臺(tái)兼容的成本還是非常高的?!?br>
推流
要想用于推流還必須把音視頻數(shù)據(jù)使用傳輸協(xié)議進(jìn)行封裝,變成流數(shù)據(jù)。常用的流傳輸協(xié)議有RTSP、RTMP、HLS等,使用RTMP傳輸?shù)难訒r(shí)通常在1–3秒,對(duì)于移動(dòng)直播這種實(shí)時(shí)性要求非常高的場景,RTMP也成為移動(dòng)直播中最常用的流傳輸協(xié)議。最后通過一定的Qos算法將音視頻流數(shù)據(jù)推送到網(wǎng)絡(luò)斷,通過CDN進(jìn)行分發(fā)。在直播場景中,網(wǎng)絡(luò)不穩(wěn)定是非常常見的,這時(shí)就需要Qos來保證網(wǎng)絡(luò)不穩(wěn)情況下的用戶觀看直播的體驗(yàn),通常是通過主播端和播放端設(shè)置緩存,讓碼率均勻。另外,針對(duì)實(shí)時(shí)變化的網(wǎng)絡(luò)狀況,動(dòng)態(tài)碼率和幀率也是最常用的策略。
當(dāng)然,在網(wǎng)絡(luò)傳輸方面全部自己來做基本不現(xiàn)實(shí),找提供推流服務(wù)的CDN服務(wù)商提供解決方案是最好的選。據(jù)了解,國內(nèi)很多廠商都可以提供緩存cdn,性能非常有保障。當(dāng)然,我們開發(fā)的直播系統(tǒng)同時(shí)接入多個(gè)視頻云服務(wù)提供商,這樣可以做拉流線路互備,對(duì)推流后視頻集群再進(jìn)行優(yōu)化也可提高直播的流暢性和穩(wěn)定性。
從業(yè)者都知道,一個(gè)完整直播產(chǎn)品應(yīng)該包含以下環(huán)節(jié):推流端(采集、前處理、編碼、推流),服務(wù)端處理(轉(zhuǎn)碼、錄制、截圖、鑒黃),播放器(拉流、解碼、渲染)、互動(dòng)系統(tǒng)(聊天室、禮物系統(tǒng)、贊)等這篇文章小編只給大家介紹了第一部分,下次再給各位分享。