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