直播系統(tǒng)源碼,連麥功能的實現(xiàn)和相關(guān)問題的解決
直播系統(tǒng)源碼中,主播到用戶的畫面?zhèn)鬏攲儆趩蜗蛐蛡鬏?,從服?wù)器上拉取主播的直播畫面,分發(fā)到各個請求端,完成直播畫面的單向傳輸。原版屬于單向傳遞的動作在連麥功能加入后發(fā)生了改變,連麥時信息流傳輸由單向變成了雙向,這也產(chǎn)生了新的問題,如何在直播系統(tǒng)源碼中實現(xiàn)信息流的雙向傳遞。
?

一、連麥功能的實現(xiàn)
直播系統(tǒng)源碼實現(xiàn)連麥功能,會使用CDN來保證連麥傳遞的實時性,用戶接受的直播畫面線路不一定是它正在請求直播畫面的那條線路,而是由CDN節(jié)點根據(jù)服務(wù)器負(fù)載情況,重新選擇最優(yōu)線路進(jìn)行分發(fā)。實現(xiàn)主播和用戶之間無延遲式的連麥交流,當(dāng)連麥產(chǎn)生時,就不僅僅是需要保證主播畫面?zhèn)鬏數(shù)接脩舳藳]有延遲,還需要保證回溯的音頻數(shù)據(jù)流暢無延遲。
?

二、直播協(xié)議的應(yīng)用
RTMP協(xié)議的使用廣泛,絕大多數(shù)視頻直播也是基于RTMP協(xié)議和CDN技術(shù)前提下實現(xiàn)連麥的,在主播和用戶進(jìn)行連麥時,會基于RTMP協(xié)議分別將主播端和連麥用戶端推流到CDN,通過CDN將主播和用戶產(chǎn)生的音視頻流分隔開,主播傳遞音視頻給用戶,用戶傳遞音頻給主播,兩者音視頻流混合后傳遞給其他用戶接收。
?

三、使用CDN節(jié)點和RTMP協(xié)議連麥時的問題
1.直播系統(tǒng)源碼通過CDN節(jié)點和RTMP協(xié)議帶來的效果,能將直播畫面的延遲和連麥的延遲控制在5s之內(nèi),加上主播設(shè)置的延遲時間,能更好的保證用戶的觀看體驗,不過對于連麥來說,5s的時間似乎太久了。
2.連麥功能消耗的流量太多,直播系統(tǒng)源碼在滿足直播畫面?zhèn)鬏敃r就會伴隨大量的流量使用和支出,在CDN的使用方面也會使用很多流量,再加上連麥功能,運營商的開發(fā)預(yù)算怕是要超出。
好在現(xiàn)在直播系統(tǒng)源碼接入的三方SDK中,有些是包含連麥功能的,能從自己服務(wù)器的開發(fā)技術(shù)上解決延遲和流量消耗問題,所以運營商們最好還是選擇接入的方式實現(xiàn)連麥功能。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任