直播間搭建的成功離不開(kāi)基本的流媒體傳輸,隨著網(wǎng)絡(luò)技術(shù)的不斷提高,對(duì)音視頻傳輸?shù)馁|(zhì)量與速度要求也不斷提高,想做好一套直播系統(tǒng),推流與拉流的詳細(xì)過(guò)程原理你都知道嗎?
一、推流端
直播間搭建推流端即主播使用的終端設(shè)備。
1、iOS手機(jī)端。
2、Android手機(jī)端。
3、PC電腦端。
二、推流的過(guò)程
1.通過(guò)攝像頭或錄屏功能進(jìn)行視頻采集用于直播間搭建。
2.通過(guò)話筒進(jìn)行音頻采集,音頻原始數(shù)據(jù)格式:PCM。
3.將視頻文件編碼,視頻格式從YUV(RGB)變?yōu)镠.264(H.265)。
將音頻文件編碼,視頻格式從YUV(RGB)變?yōu)镠.264(H.265)。
4.將音頻文件編碼,音頻格式從PCM變?yōu)锳AC。
5.將視頰與音頻文件編碼為有“流媒體”特性的多媒體容器格式(Multimedia Container Format),此時(shí)音頰和視頻(H.264和AAC)結(jié)合成了FLV或TS或RTMP Packet,這要視傳輸協(xié)議的規(guī)定而定)。
6.選擇一種向服務(wù)器推流的協(xié)議(“流”即“有流媒體特性的多媒體容器格式的文件”),應(yīng)用層協(xié)議:HLS;RTSP;RTMP,傳輸層協(xié)議:RTCP、RTP,網(wǎng)絡(luò)層協(xié)議:RSVP。
7.傳入推流地址(URL)來(lái)定位我們的推流目標(biāo)(即將流媒體發(fā)送給「誰(shuí)」)然后開(kāi)始推流,直播間搭建中比如你在斗魚(yú)當(dāng)主播,OBS中的推流地址就寫(xiě)斗魚(yú)的,你要是在六間房當(dāng)程序員,程序中默認(rèn)的推流地址就寫(xiě)六間房的。
三、服務(wù)器
1、服務(wù)器在下不是很熟悉,簡(jiǎn)要說(shuō)一下其最基木功能:生成拉流URL(用戶(hù)可以使用該URL拉流,從而觀看直播)。
2、并且服務(wù)器還需要有其他功能:如轉(zhuǎn)碼、錄制、截圖、鑒黃。
四、拉流
1、直播間搭建通過(guò)某種渠道獲取拉流URL(或者叫播放URL),并選取一種從服務(wù)器拉流的協(xié)議,然后開(kāi)始拉流應(yīng)用層協(xié)議:HLS;RTSP;RTMP,傳輸層協(xié)議:RTCP、RTP,網(wǎng)絡(luò)層協(xié)議:RSVP。
2、將處于「多媒體容器格式」的流解復(fù)用成為「視頻編碼格式」的視頰數(shù)據(jù)(如H.264)和「音頻編碼格式」的音頻數(shù)據(jù)(如AAC)。
3、使用硬解碼(GPU解碼+CPU輔助)或軟解碼(CPU解碼)解碼后視頻數(shù)據(jù)格式為YUV或RGB,音頻數(shù)據(jù)格式為PCM解碼后視頻數(shù)據(jù)格式為YUV或RGB,音頻數(shù)據(jù)格式為PCM。
4.執(zhí)行音畫(huà)同步操作。
5.將同步后的音頻(PCM)送到音頻輸出設(shè)備播放。
將同步后的視頻(YUV或RGB)送到視頻輸出設(shè)備播放。
上述就是關(guān)于直播間搭建會(huì)用到的關(guān)于推流和拉流的過(guò)程原理,看似復(fù)雜的操作步驟,實(shí)則都是為了數(shù)據(jù)傳輸?shù)姆€(wěn)定與完整,帶給用戶(hù)更加完美的體驗(yàn)。
中國(guó)e直播供應(yīng)鏈金融13306003307 (V同)
一件代發(fā)共享云倉(cāng):主播減去了自己先采購(gòu)囤貨的問(wèn)題,可以無(wú)壓力的開(kāi)播賣(mài)貨。主播只要選定生廠商的抖音小店產(chǎn)品鏈接或快手小店產(chǎn)品鏈接,在自己直播間上了鏈接就可以賣(mài),賣(mài)完由廠家小店訂單結(jié)算,廠家網(wǎng)店直接收款;直播帶貨主播直接分傭金;MCN機(jī)構(gòu)直接分管理費(fèi)。
中國(guó)E直播帶貨供應(yīng)鏈機(jī)構(gòu)協(xié)調(diào)廠家按規(guī)則48小時(shí)內(nèi)一件代發(fā)!