这么多连麦方案,到底哪种适合你?
016年陌陌、映客等直播平臺(tái)陸續(xù)上線連麥,如今連麥已經(jīng)成為主流直播平臺(tái)標(biāo)配。聲網(wǎng)于2016年全球率先推出的多人連麥、純語音連麥等多種玩法,半年時(shí)間內(nèi),就與幾乎所有全球主流直播平臺(tái)達(dá)成深度合作,如陌陌、花椒、觸手、視吧、KK、荔枝FM、咸蛋家,Meetme,Flurry Live,Livestar,Yalla等等。
從技術(shù)架構(gòu)上來說,目前市場(chǎng)上存在的連麥方案有三種:
三種連麥方案
SD-RTN?
這是聲網(wǎng)的連麥架構(gòu),直播連麥的鼻祖?;赨DP,主播端、連麥端、觀眾端都在基于SD-RTN?進(jìn)行實(shí)時(shí)通信,大大降低延時(shí)。主播端和連麥端也可以轉(zhuǎn)碼到CDN推流。
RTMP改進(jìn)方案
基于TCP協(xié)議,基本思路是:主播接受連麥嘉賓的視頻,在本地合圖;主播和連麥嘉賓的視頻同時(shí)傳到服務(wù)端合圖,然后通過CDN推到觀眾端。
WebRTC改進(jìn)
主播和連麥嘉賓,基于WebRTC進(jìn)行“視頻會(huì)議”,將“視頻會(huì)議”在服務(wù)端合圖后推到CDN進(jìn)行分發(fā)。
三種不同的架構(gòu),在連麥表現(xiàn)上,有獨(dú)特指標(biāo)來區(qū)隔
1. 低延時(shí)
連麥中,最重要的元素,就是低延時(shí)。連麥的本質(zhì)是視頻通話,而視頻通話最重要的指標(biāo)就是延時(shí)。只有低延時(shí),主播和連麥嘉賓之間,才可以較好的互動(dòng)、交流。根據(jù)ITU-TG.114標(biāo)準(zhǔn),單向通話延時(shí)大于150ms就可受到通話連續(xù)性受到影響,最大可容忍時(shí)延為400ms。
-
SD-RTN?方案,基于UDP。SD-RTN?包含了編解碼方案和服務(wù)端的傳輸方案。聲網(wǎng)的私有專利編解碼是面向互聯(lián)網(wǎng)傳輸?shù)木幗獯a,能夠保證高清晰度、低碼率,并且會(huì)根據(jù)網(wǎng)絡(luò)狀況,自動(dòng)調(diào)節(jié)碼率。服務(wù)架構(gòu)SD-RTN?是全球部署,全球部署有近100個(gè)數(shù)據(jù)中心。客戶端均通過UDP連接SD-RTN?,通過就近接入策略,讓使用者就近接入質(zhì)量最好的數(shù)據(jù)節(jié)點(diǎn);通過智能路由,經(jīng)過傳輸延遲和質(zhì)量優(yōu)化的最優(yōu)路徑,自動(dòng)避免網(wǎng)絡(luò)擁塞,并規(guī)避骨干網(wǎng)絡(luò)故障的影響。所以,SD-RTN?在跨國傳輸、海量并發(fā)、高可用方面有獨(dú)特優(yōu)勢(shì)。
-
RTMP改進(jìn)方案,基于TCP,由于TCP的傳輸機(jī)制導(dǎo)致天然的延時(shí)不可控。全球最大的CDN服務(wù)商,Akamai前幾天就在GMIC會(huì)議上表示,要基于WebRTC技術(shù)來來升級(jí)現(xiàn)有CDN技術(shù)。顯然Akamai意識(shí)到CDN方案在突破低延時(shí)方面的瓶頸。
-
WebRTC改進(jìn)方案,基于UDP。WebRTC對(duì)Chrome瀏覽器有極好的支持,但在Native支持方面先天不足。WebRTC方案最大的不足是,只包含編解碼方案,缺乏服務(wù)端解決方案。因此,選擇此方案的同學(xué)注意了,一定要重點(diǎn)考察此方案在海量架構(gòu)、高并發(fā)、弱網(wǎng)環(huán)境下的表現(xiàn)。
2. 音畫同步
由于音頻和視頻不同采集、傳輸處理,會(huì)有很大程度上存在音畫不同步的問題出現(xiàn),這是一個(gè)比較嚴(yán)重的問題,觀眾端看到主播的動(dòng)作,才聽到聲音;或者先聽到聲音,才看到動(dòng)作,或者說話口型對(duì)不上,會(huì)感到很奇怪。
3. 卡頓率
卡頓是指兩幀視頻間隔超過一定時(shí)長,觀眾的直觀感受就是畫面卡頓。一般情況下,視頻連麥中,比較常用的是把兩幀之間的間隔大于400ms-600ms的看作一次卡頓 。如果卡頓次數(shù)過多,是非常影響正常連麥體驗(yàn)的。
4. 畫質(zhì)
直播中,主播都希望自己美美的,畫面清晰是基本要求。
在給定的碼率下,清晰度和分辨率有關(guān)系。如分辨率過低,則畫面模糊,細(xì)節(jié)丟失;如分辨率過高,則失真明顯。在分辨率夠用的前提下,分辨率和清晰度成反比。在分辨率一定的情況下,碼率與清晰度成正比關(guān)系,碼率越高,圖像越清晰;碼率越低,圖像越不清晰。
聲網(wǎng)的私有專利編解碼能夠在低碼率下保證高清晰度,并且會(huì)根據(jù)網(wǎng)絡(luò)狀況,自動(dòng)調(diào)節(jié)分辨率和碼率,使編碼器運(yùn)行在最佳分辨率下。開發(fā)者也可以通過接口,選擇清晰度優(yōu)先還是流暢度優(yōu)先。
5. 延展性
直播是一個(gè)高度競(jìng)爭(zhēng)的行業(yè),玩法在不斷的改變。從聲網(wǎng)全球首個(gè)推出多人互動(dòng)連麥,到現(xiàn)在連麥成為直播的標(biāo)配,只用了不到1年的時(shí)間。更多的玩法和功能的出現(xiàn),是市場(chǎng)在推動(dòng)技術(shù)進(jìn)步,同時(shí)也是技術(shù)進(jìn)步在推動(dòng)市場(chǎng)發(fā)展。聲網(wǎng)現(xiàn)在在連麥的玩法上又拓展了一個(gè)新功能,跨直播間連麥。不同房間的主播可以進(jìn)行連麥,穿透了之前一個(gè)房間就是一個(gè)頻道的屏障。
要實(shí)現(xiàn)豐富的延展性,必須從底層架構(gòu)設(shè)計(jì)上就有高度靈活性,類似聲網(wǎng)的創(chuàng)新架構(gòu)SD-RTN?。RTMP改進(jìn)方案是基于存在了十多年的CDN方案進(jìn)行改進(jìn),很難有大的突破。WebRTC在Native方面和服務(wù)端架構(gòu)方面的短板,也造成了改進(jìn)成本非常高。
基于以上幾個(gè)指標(biāo),接下來講如何測(cè)試連麥的效果。
如何測(cè)試連麥的效果
連麥的效果指的是:延時(shí)如何,卡頓頻率如何,畫質(zhì)是否清晰。不能接受的是:卡屏、綠屏、花屏、斷線。
設(shè)置視頻屬性
主播A設(shè)置:選擇640x360,15fps,800kbps,其他設(shè)置選擇默認(rèn)
輔播B設(shè)置:選擇320x240,15fps,300kbps,其他設(shè)置選擇默認(rèn)
設(shè)置丟包率和帶寬
在用戶的實(shí)際使用場(chǎng)景中,常常會(huì)有網(wǎng)絡(luò)卡頓的情形,背后的原因可能是網(wǎng)絡(luò)的丟包率高和帶寬不足。通常,測(cè)試連麥需要用到網(wǎng)損儀來設(shè)定不同的丟包率模擬真實(shí)網(wǎng)絡(luò)環(huán)境。但是,如果沒有專業(yè)的網(wǎng)損環(huán)境,iOS自帶網(wǎng)損模擬器也可以做簡(jiǎn)單的丟包和限帶寬測(cè)試。設(shè)置方法見《WebRTC音視頻方案自測(cè)教程》
測(cè)試流程
1臺(tái)iPhone6作為主播,1臺(tái)iPhone6作為輔播,主播的前置攝像頭盡量接近以獲取相同的攝像頭輸入。如果同時(shí)測(cè)試兩種連麥方案,那么就是2臺(tái)iPhone6作為主播,2臺(tái)iPhone6作為輔播。
4臺(tái)iPhone6的屏幕輸出通過Blackmagic Multiview拼接為一路4k信號(hào),送入4k顯示器顯示且錄制。錄制出來的成品,就像下面這個(gè)視頻,這是聲網(wǎng)和行業(yè)其它連麥方案的對(duì)比。通過觀看錄像,可以直觀的觀察到首幀出圖時(shí)間、成像質(zhì)量、卡頓、延時(shí)。
連麥質(zhì)量對(duì)比視頻?
左側(cè)是聲網(wǎng),右側(cè)是行業(yè)其它方案。第一排是主播端,第二排是連麥端。通過秒表可以直觀的看到延時(shí)。通過地球儀的轉(zhuǎn)動(dòng),可以看到卡頓情況。整體觀看,可以看出清晰度的差異。
測(cè)試結(jié)果:
這是一個(gè)報(bào)告模板,其中,卡頓指的是:視頻兩幀間隔>600ms,次數(shù)是按5分鐘總時(shí)長來統(tǒng)計(jì)。按照上述步驟,你自己也可以出一份這樣的報(bào)告。
【本文作者】
單輝 聲網(wǎng)Agora.io 高級(jí)開發(fā)工程師
總結(jié)
以上是生活随笔為你收集整理的这么多连麦方案,到底哪种适合你?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stun server、turn ser
- 下一篇: 移动直播连麦实现思路:整体篇