丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
業(yè)界 正文
發(fā)私信給冼牛
發(fā)送

8

聊一聊直播利器,連麥互動(dòng)背后的混流方案

本文作者: 冼牛 2016-10-21 15:42
導(dǎo)語:連麥?zhǔn)侵辈サ谋貧⒗?,已?jīng)成為一線直播平臺(tái)的標(biāo)配了。

雷鋒網(wǎng)按:本文作者冼牛,即構(gòu)科技市場(chǎng)運(yùn)營總監(jiān),香港大學(xué)MBA,十年研發(fā)經(jīng)驗(yàn),音視頻云服務(wù)技術(shù)專家,專注連麥互動(dòng)直播技術(shù)應(yīng)用研究。 

聊一聊直播利器,連麥互動(dòng)背后的混流方案

借莎翁的名言作為開場(chǎng)白:混流,還是不混流,這是個(gè)問題。

在連麥互動(dòng)直播方案中,混流還是不混流,還真是一個(gè)需要仔細(xì)考量的問題。

這篇文章將會(huì)分享即構(gòu)科技連麥互動(dòng)直播方案在工程化和高并發(fā)運(yùn)維的過程中總結(jié)出來的關(guān)于混流的經(jīng)驗(yàn)。

什么叫做混流 ?

在開始討論這個(gè)問題之前,讓我們先搞明白什么叫做混流。

混流,就是把多路音視頻流混合成單流。準(zhǔn)確地說,混流應(yīng)該叫作混音(音頻流)混畫面(視頻流)。

為了表述簡(jiǎn)單,我們這里就簡(jiǎn)稱為混流。 

混流的過程包括解碼,混流,編碼,和推流這四個(gè)步驟。混流這個(gè)環(huán)節(jié)包括做抖動(dòng)緩沖,目的是把多路流進(jìn)行畫面對(duì)齊和音畫同步,同時(shí)通過緩沖對(duì)抗網(wǎng)絡(luò)抖動(dòng),以便混合成一路流以后能夠達(dá)到良好的效果。

混流本身是一個(gè)相對(duì)比較耗費(fèi)計(jì)算資源的運(yùn)算,也是一個(gè)比較耗費(fèi)時(shí)間的環(huán)節(jié)。說它耗費(fèi)計(jì)算資源是因?yàn)檫@個(gè)過程涉及到多路流的實(shí)時(shí)轉(zhuǎn)碼,這是比較耗費(fèi)CPU的事情。說它耗費(fèi)時(shí)間,是因?yàn)檫@個(gè)環(huán)節(jié)涉及到抖動(dòng)緩沖,會(huì)造成一定的延遲。實(shí)時(shí)轉(zhuǎn)碼本身耗費(fèi)的時(shí)間一般會(huì)低于一幀的時(shí)間,相對(duì)不算顯著;但是根據(jù)網(wǎng)絡(luò)情況的不同,抖動(dòng)緩沖會(huì)消耗大概80毫秒到1秒的時(shí)間。在連麥互動(dòng)直播中,抖動(dòng)緩沖造成的延遲對(duì)觀眾的體驗(yàn)十分關(guān)鍵。

在混流的過程中,難點(diǎn)是如何對(duì)抗網(wǎng)絡(luò)抖動(dòng)等不確定因素。對(duì)于各種不確定因素的處理,是最考驗(yàn)技術(shù)能力的。在網(wǎng)絡(luò)好的時(shí)候,要盡量讓延遲降低,要盡量快地完成處理。在網(wǎng)絡(luò)不好的時(shí)候,又要避免卡頓和不同步等問題。這里需要有比較好的彈性設(shè)計(jì),去滿足對(duì)抗網(wǎng)絡(luò)抖動(dòng)的要求。要保證無論是網(wǎng)絡(luò)好,還是網(wǎng)絡(luò)抖動(dòng)的情況下,音視頻流的效果都一直處于一種平穩(wěn)的狀態(tài),而不是跟隨網(wǎng)絡(luò)抖動(dòng)而劇烈地抖動(dòng),包括延遲也要處于一種比較平滑和穩(wěn)定的狀態(tài)。這是一個(gè)技術(shù)難點(diǎn),也是即構(gòu)科技連麥互動(dòng)直播方案的核心技術(shù)之一。

好了,現(xiàn)在基本搞清楚了混流的概念和難點(diǎn)了。那么混流這個(gè)事情,要不要做?如果要做,在哪里做?這兩個(gè)問題都需要一番權(quán)衡。為了作出正確的選擇,我們要先知道每種選擇的優(yōu)勢(shì)和劣勢(shì)。

本篇短文將只討論混流還是不混流,在下一篇中將會(huì)討論在哪里混流,敬請(qǐng)期待。 

不混流的優(yōu)勢(shì)和劣勢(shì)

如果不混流,那么進(jìn)行連麥互動(dòng)直播的時(shí)候,多個(gè)主播推出來的音視頻流就會(huì)分別獨(dú)立地被拉到觀眾端播放,這種方式我們叫作拉多流。

  • 不混流的優(yōu)勢(shì)

1)延遲低

不用混流,節(jié)省了混流消耗的時(shí)間,顯著地降低了延遲。

2)成本低

如果是在服務(wù)端進(jìn)行混流,將會(huì)耗費(fèi)計(jì)算資源??紤]到服務(wù)端計(jì)算資源比較昂貴,如果不用混流,將會(huì)節(jié)省寶貴的計(jì)算資源,顯著地降低成本。雖然拉多流比起拉單流會(huì)消耗更多的帶寬成本,但是拉多流節(jié)省計(jì)算資源成本,整體而言,成本是降低了。

3)靈活性

在觀眾端,業(yè)務(wù)側(cè)可以比較靈活的操控多路流,來滿足多樣化的業(yè)務(wù)需求。比如畫中畫大小畫面相互切換,和對(duì)半分屏畫面左右調(diào)換等效果,來提高觀眾端的用戶體驗(yàn)。

  • 不混流的劣勢(shì)

上面提到,拉多流會(huì)消耗更多的帶寬。多路流被從服務(wù)端推到CDN, 然后觀眾端從CDN拉多流,都會(huì)耗費(fèi)比較多的帶寬成本。對(duì)于帶寬成本占了運(yùn)營成本顯著百分比的游戲直播平臺(tái)來說,的確是需要慎重考量的。

混流的優(yōu)勢(shì)和劣勢(shì)

如果混流,那么進(jìn)行連麥互動(dòng)直播的時(shí)候,多個(gè)主播推出來的音視頻流就會(huì)被混合成一路單流被拉到觀眾端播放,這種方式我們叫作拉單流。

  • 混流的優(yōu)勢(shì)

我們要從多個(gè)角度看混流的優(yōu)勢(shì),包括成本,易錄制,易傳播和兼容性。

1)成本

可以分為計(jì)算資源成本和帶寬成本。由于預(yù)先做混流,因此計(jì)算資源成本會(huì)上去,但是由于只拉單流,因此帶寬成本會(huì)下來。

上面已經(jīng)對(duì)這個(gè)議題進(jìn)行了簡(jiǎn)單的討論。

如果混流是在服務(wù)端做的話,那么整體成本還是會(huì)上去的。因?yàn)榉?wù)端的計(jì)算資源成本相對(duì)比較昂貴,提高的計(jì)算資源成本比混流后節(jié)省的帶寬成本要多。

如果混流是在推流端做的話,相當(dāng)于平臺(tái)把計(jì)算成本和帶寬成本轉(zhuǎn)嫁給推流端(主播端),因此整體成本會(huì)降下來,但是服務(wù)質(zhì)量也會(huì)降下來,這樣就付出“用戶體驗(yàn)成本”。

綜合而言,混流并非一定會(huì)節(jié)省成本。

2)可錄制

如果業(yè)務(wù)上有錄制音視頻流的需求,以備監(jiān)管抽查或者觀眾回放的話,那么需要進(jìn)行混流。如果不進(jìn)行混流的話,錄制的時(shí)候只能錄制到其中一個(gè)路音視頻流,也就是只能看到其中一個(gè)主播的畫面。要錄制全畫面的話,必須要進(jìn)行混流。

3)易傳播

如果業(yè)務(wù)上有通過音視頻流地址鏈接(HLS)進(jìn)行轉(zhuǎn)發(fā)傳播的需求,那么也需要進(jìn)行混流,因?yàn)榈刂锋溄又粫?huì)指向一路音視頻流。如果不混流,使用轉(zhuǎn)發(fā)的地址鏈接就只會(huì)播放出一個(gè)主播的音視頻流。

4)兼容性

還有另外一個(gè)情況,直播平臺(tái)早期已經(jīng)開發(fā)了一個(gè)版本的播放器,這個(gè)播放器只能播放單流。為了和這個(gè)老版本的播放器兼容,也必須要進(jìn)行混流,才能夠產(chǎn)生單流讓這個(gè)播放器播放。 

混流的優(yōu)勢(shì)是能夠做全畫面錄制,很便利地轉(zhuǎn)發(fā)傳播,而且兼容直播平臺(tái)的老系統(tǒng)。運(yùn)營成本是否能夠降低,主要看混流是在服務(wù)端做還是在推流端做。

  • 混流的劣勢(shì)

1)高延遲

由于在做混流的過程中,需要做抖動(dòng)緩沖和實(shí)時(shí)轉(zhuǎn)碼等計(jì)算處理,將會(huì)耗費(fèi)時(shí)間,從而造成額外的延遲。

 混流的延遲比不混流的延遲要高。

 如果在推流端進(jìn)行混流,那么延遲的時(shí)間包括實(shí)時(shí)轉(zhuǎn)碼處理的時(shí)間,抖動(dòng)緩沖的時(shí)間,還有等待其它主播音視頻流的時(shí)間。推流端必須要等待其它主播的音視頻流到達(dá)以后才能進(jìn)行混流。

 如果在服務(wù)端進(jìn)行混流,那么延遲的時(shí)間包括實(shí)時(shí)轉(zhuǎn)碼處理的時(shí)間和抖動(dòng)緩沖的時(shí)間。

 在推流端混流的延遲比在服務(wù)端混流的延遲要高。

2)不靈活

由于觀眾端拉單流觀看,多路音視頻流已經(jīng)被混合成單流,所以觀眾端無法再靈活地對(duì)多流進(jìn)行操控,比如切換畫中畫的主次畫面。

3)高成本

由于混流需要額外的計(jì)算資源,這里會(huì)導(dǎo)致額外的運(yùn)營成本。

如果混流在服務(wù)端進(jìn)行,混流的成本就由平臺(tái)承擔(dān)。雖然混流后拉單流節(jié)省帶寬,但是服務(wù)端的計(jì)算資源比較昂貴,節(jié)省的帶寬成本并沒有額外消耗的計(jì)算資源成本多。 整體而言,混流的成本還是比不混流的成本高。

如果混流在推流端進(jìn)行,混流的成本就被從服務(wù)端轉(zhuǎn)嫁給推流端。推流端需要具備以下條件:

     a)推流端(主播端)的手機(jī)配置要求比較高,手機(jī)的性能要求比較好,要能夠支持混流所需要的計(jì)算能力。

    b)推流端的上行帶寬有比較高的要求。推流端推兩路流,拉其它主播的多路流。推的兩路流包括:自己原始的音視頻流,和混流以后的音視頻流。拉的多路流是其它主播的音視頻流,要從媒體服務(wù)器上拉取下來。

因?yàn)橥屏鞫诵枰懈玫氖謾C(jī)配置,更好的上行網(wǎng)絡(luò)帶寬,所以需要付出更高的成本。

混流的劣勢(shì)是高延遲和不靈活。成本方面要看是在服務(wù)端混流還是在推流端混流。如果在服務(wù)端混流會(huì)導(dǎo)致高成本,如果在推流端混流會(huì)導(dǎo)致高延遲,付出“用戶體驗(yàn)成本”。

綜上所述,混流和不混流的方案,各有各的優(yōu)點(diǎn)。要針對(duì)直播平臺(tái)具體的業(yè)務(wù)需求和使用場(chǎng)景來決定使用哪個(gè)方案。相對(duì)來說,不混流的方案有不少突出的優(yōu)點(diǎn),比如延遲低,成本低,而且靈活性高等。

即構(gòu)科技同時(shí)提供混流和不混流的方案,靈活而且全面的滿足各種類型的直播平臺(tái)的業(yè)務(wù)需求。在即構(gòu)科技的實(shí)踐中,發(fā)現(xiàn)不混流的方案更加受到主流客戶的歡迎,效果是得到了市場(chǎng)證明的。使用不混流方案的客戶包括花椒和栗子直播。

經(jīng)過一番討論,我們回過頭來發(fā)現(xiàn):混流,還是不混流,這還是個(gè)問題。

即構(gòu)科技在服務(wù)一線直播客戶的過程中總結(jié)了混流和不混流方案的各種優(yōu)勢(shì)和劣勢(shì)。根據(jù)這些經(jīng)驗(yàn)來衡量采用混流,還是不混流的方案,做出來的決定應(yīng)該更加靠譜和接地氣。

做完混流,還是不混流的決定以后,如果要混流,那么在哪里做混流?是在推流端還是服務(wù)端?這一點(diǎn)將會(huì)在下一篇中毫無保留地詳細(xì)討論,分享即構(gòu)科技的技術(shù)經(jīng)驗(yàn)。

可繼續(xù)關(guān)注即構(gòu)科技帶來的技術(shù)干貨分享系列的下篇:連麥互動(dòng)直播中的混音混畫面方案:推流端 VS 服務(wù)端。

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

分享:
相關(guān)文章

專欄作者

即構(gòu)科技資深架構(gòu)師(微信xianniu1216),北京郵電大學(xué)計(jì)算機(jī)碩士,香港大學(xué)MBA,實(shí)時(shí)音視頻技術(shù)專家,專注連麥直播、視頻社交和游戲語音領(lǐng)域。
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說