1
本文作者: 程弢 | 2016-12-14 20:05 | 專題:雷峰網(wǎng)公開課 |
說(shuō)到音視頻云服務(wù),大多數(shù)人可能聯(lián)想到的是網(wǎng)絡(luò)直播應(yīng)用場(chǎng)景,實(shí)際上,硬件對(duì)音視頻云服務(wù)的需求也在逐漸提升。而這樣的市場(chǎng)需求也推動(dòng)了整個(gè)行業(yè)的發(fā)展,目前,阿里云、騰訊云和網(wǎng)易云等巨頭都已入局,除此之外還有即構(gòu)科技這樣的新興企業(yè)加入了這一競(jìng)爭(zhēng)行列。毫無(wú)疑問(wèn),音視頻云服務(wù)將會(huì)是云服務(wù)市場(chǎng)的下一個(gè)熱點(diǎn)。
大家都知道,音視頻云服務(wù)降低了硬件接入音視頻的門檻,但是,在使用這一服務(wù)的過(guò)程中難免踩坑,這是音視頻云服務(wù)提供商以及硬件團(tuán)隊(duì)都格外重視的,但問(wèn)題是具體有哪些坑以及如何避免呢?本期硬創(chuàng)公開課將為您一一解答。
冼牛,即構(gòu)科技市場(chǎng)運(yùn)營(yíng)總監(jiān),資深技術(shù)人,市場(chǎng)營(yíng)銷新兵,客串投資顧問(wèn),骨灰級(jí)游泳者。北京郵電大學(xué)計(jì)算機(jī)碩士,香港大學(xué)工商管理碩士,一直秉承人丑應(yīng)該多讀書的理念,讀書不斷。2008年起旅居香港至今,2015年回流深圳南山創(chuàng)業(yè),服務(wù)過(guò)愛(ài)立信香港,摩根大通香港,和分期樂(lè)集團(tuán)等老東家。
2002年北郵碩士期間開始專研視頻會(huì)議,現(xiàn)深耕語(yǔ)音視頻云服務(wù),直播技術(shù)應(yīng)用和直播行業(yè)研究。
以下內(nèi)容整理自本期公開課:
實(shí)際上,音視頻直播云服務(wù)的硬件應(yīng)用場(chǎng)景并不少:車聯(lián)網(wǎng),智能家居,遠(yuǎn)程醫(yī)療和戶外活動(dòng)等。這是正在發(fā)展的場(chǎng)景,還有很多潛在的場(chǎng)景,會(huì)在未來(lái)幾年逐漸展現(xiàn)。智能終端對(duì)音視頻云直播服務(wù)的需求在不斷增加。舉個(gè)栗子,目前在國(guó)外玩得比較熱的戶外直播、無(wú)人機(jī)直播,都是智能硬件的一些典型應(yīng)用場(chǎng)景。
通俗點(diǎn)說(shuō),音視頻直播云解決的最終極問(wèn)題就是:讓你聽見,看見,就像在面前一樣。然而,這個(gè)簡(jiǎn)簡(jiǎn)單單的問(wèn)題,在復(fù)雜的網(wǎng)絡(luò)環(huán)境,硬件平臺(tái),操作系統(tǒng),海量并發(fā)運(yùn)維等等因素綜合加在一起,就變成了一個(gè)十分復(fù)雜的問(wèn)題。
以即構(gòu)科技為例,在做音視頻直播云服務(wù)的過(guò)程中針對(duì)智能終端解決了以下問(wèn)題:
1)延遲比較大,做不到連麥互動(dòng)多人對(duì)講的效果。
2)無(wú)法全面兼容眾多安卓機(jī)型,長(zhǎng)尾用戶群體無(wú)法全面覆蓋。
3)硬件場(chǎng)景聲音環(huán)境復(fù)雜,噪音抑制和回聲消除的效果不好。
4)視頻畫面卡頓不流暢,觀看效果不好。
5)如果使用基于udp的私有協(xié)議,無(wú)法被CDN網(wǎng)絡(luò)支持;如果使用基于RTMP的標(biāo)準(zhǔn)協(xié)議,無(wú)法獲得理想的低延遲。
6)無(wú)法支撐海量用戶并發(fā),或者在海量并發(fā)情況下,效果不穩(wěn)定。
7)多個(gè)人同時(shí)說(shuō)話,甚至出現(xiàn)搶話(所謂雙講)的情況下,語(yǔ)音效果不好。
8)對(duì)系統(tǒng)內(nèi)部運(yùn)作可見度不高,不可管控,出現(xiàn)緊急問(wèn)題的時(shí)候很難快速定位。
上文提到,音視頻直播云服務(wù)要做的事情就是讓用戶在任何一個(gè)地方任何一個(gè)時(shí)候可以聽見看見。由此可見,核心的問(wèn)題就是對(duì)音視頻數(shù)據(jù)的處理和傳輸。
音視頻通信的整個(gè)流程包括:采集,編碼,推流,轉(zhuǎn)碼,存儲(chǔ),拉流,解碼,渲染(播放)。每一個(gè)環(huán)節(jié)都會(huì)有很多的坑,都需要投入很多人力和時(shí)間去填平這些坑,都需要時(shí)間去試錯(cuò)。因此,要做好音視頻,除了靠技術(shù)的積累還要靠多年的經(jīng)驗(yàn)。
采集和渲染:音視頻信息是從通話的發(fā)起端,進(jìn)行語(yǔ)音和視頻的采集;在通話的接收端進(jìn)行語(yǔ)音和視頻的渲染。而采集和渲染兩個(gè)環(huán)節(jié)會(huì)涉及到具體硬件的音視頻設(shè)備的性能。需要注意的是,采集和渲染都會(huì)用到具體硬件平臺(tái)的接口,這和具體硬件設(shè)備的接口、設(shè)計(jì)和性能等密不可分。因此,在系統(tǒng)設(shè)計(jì)階段,就要考慮硬件設(shè)備的兼容性和跨平臺(tái)。
編碼和解碼:編解碼環(huán)節(jié)會(huì)涉及到具體硬件芯片的處理能力。我們可以將其分為兩類:一類是采用硬編硬解,另一種是采用軟編軟解,二者各有各的優(yōu)缺點(diǎn)。
硬編硬解要用到GPU的處理能力,優(yōu)點(diǎn)是效率高,速度快,分擔(dān)CPU的壓力,減少CPU發(fā)熱;缺點(diǎn)就是不同的硬件平臺(tái)的芯片性能和接口參數(shù)不一樣,要進(jìn)行適配。軟編軟解不使用GPU,而使用的是CPU的計(jì)算能力,優(yōu)點(diǎn)是對(duì)各個(gè)硬件平臺(tái)的兼容性好,缺點(diǎn)就是計(jì)算的壓力都放在CPU上了,速度慢,效率低,而且CPU會(huì)發(fā)熱。需要注意的是,有些設(shè)備CPU和攝像頭離得比較近,CPU發(fā)熱可能會(huì)導(dǎo)致攝像頭采集的時(shí)候丟幀。
除了采集、渲染、編碼解碼這幾個(gè)終端環(huán)節(jié)以外,其它環(huán)節(jié)的和硬件平臺(tái)不相關(guān),屬于后端的范疇,和目前在娛樂(lè)直播行業(yè)、在線教育行業(yè)、游戲語(yǔ)音行業(yè)、大規(guī)模游戲語(yǔ)音直播行業(yè)的方案都沒(méi)有差異。下面對(duì)后端的原理簡(jiǎn)單闡述。
推流是發(fā)起音視頻通訊的智能終端設(shè)備把音視頻流推送到音視頻服務(wù)器集(注:音視頻服務(wù)器集群是一個(gè)統(tǒng)稱,里面比較復(fù)雜,包括音視頻流服務(wù)器,信令調(diào)度服務(wù)器和混流服務(wù)器等,可以簡(jiǎn)單的理解為云端)。推流是能否做到低延遲的關(guān)鍵。智能終端所在的環(huán)境十分的復(fù)雜,要適應(yīng)這些復(fù)雜的環(huán)境,要做很多工作。例如,一般情況下上下行的網(wǎng)絡(luò)不對(duì)稱,上行網(wǎng)絡(luò)遠(yuǎn)遠(yuǎn)小于下行網(wǎng)絡(luò),而且用戶的設(shè)備質(zhì)量參錯(cuò)不齊,所在區(qū)域的接入點(diǎn)服務(wù)質(zhì)量良莠不齊。推流可以分為兩步:1)選路,選擇一條最優(yōu)的路徑;然后2)推流,在該路徑上做到最優(yōu)。在服務(wù)器集群上的處理包括混流(如果需要)和存儲(chǔ)等,然后把音視頻流轉(zhuǎn)推到CDN網(wǎng)絡(luò)去。
拉流的用戶分為兩類,一類是普通的觀眾,一類是參與到多人互動(dòng)對(duì)講中的用戶。相對(duì)來(lái)說(shuō),普通的觀眾對(duì)低延遲要求不高,只要求流暢和高質(zhì)量,所以可以使用CDN網(wǎng)絡(luò)來(lái)均衡質(zhì)量和成本。觀眾端從就近的CDN網(wǎng)絡(luò)進(jìn)行拉流,在智能終端進(jìn)行解碼和播放。使用的協(xié)議是RTMP, HLS或者HTTP-FLV協(xié)議,多種協(xié)議可以適配不同的環(huán)境。有些智能硬件場(chǎng)景是沒(méi)有普通觀眾的,那么就只有參與音視頻互動(dòng)對(duì)講的用戶了。對(duì)于進(jìn)行互動(dòng)對(duì)講的核心的參與者,音視頻流是不經(jīng)過(guò)CDN網(wǎng)絡(luò)的。各個(gè)參與者是直接從音視頻流媒體服務(wù)器上拉流來(lái)的播放。音視頻流媒體服務(wù)器的質(zhì)量相對(duì)比較好,網(wǎng)絡(luò)資源也比較好,能夠提供低延遲和高質(zhì)量的音視頻服務(wù)。
這是一個(gè)典型的音視頻直播云服務(wù)的系統(tǒng)架構(gòu),同樣可以應(yīng)用到智能硬件的場(chǎng)景中。比如說(shuō)無(wú)人機(jī)航拍直播。舉個(gè)例子,即構(gòu)科技有個(gè)客戶是做房地產(chǎn)銷售的,他們組織幾個(gè)房地產(chǎn)專家進(jìn)行連麥互動(dòng)談話,討論樓盤的各種情況,并對(duì)實(shí)況進(jìn)行直播,場(chǎng)外有上萬(wàn)的觀眾在線觀看直播。推流端包括幾個(gè)身處各地的房地產(chǎn)專家還有幾個(gè)在樓盤現(xiàn)場(chǎng)航拍的無(wú)人機(jī)上的攝像頭,拉流端就是觀看直播的觀眾和各位房地產(chǎn)專家。從系統(tǒng)架構(gòu)的角度來(lái)說(shuō),房地產(chǎn)專家的音視頻通訊是在音視頻流媒體服務(wù)器集群上完成的,沒(méi)有轉(zhuǎn)推流到CDN;而觀看直播的觀眾,就會(huì)從CDN網(wǎng)絡(luò)上拉流。
關(guān)于開發(fā)上的難點(diǎn),已經(jīng)包含在上面我們所解決的問(wèn)題列表里。這里重復(fù)了一下:
1)延遲比較大,做不到連麥互動(dòng)多人對(duì)講的效果。
2)無(wú)法全面兼容眾多安卓機(jī)型,長(zhǎng)尾用戶群體無(wú)法全面覆蓋。
3)硬件場(chǎng)景聲音環(huán)境復(fù)雜,噪音抑制和回聲消除的效果不好。
除了開發(fā)上的難點(diǎn),還有運(yùn)維上的難點(diǎn):
1) 對(duì)系統(tǒng)內(nèi)部運(yùn)作可見度不高,不可管控,出現(xiàn)緊急問(wèn)題的時(shí)候很難快速定位。
2)當(dāng)緊急問(wèn)題出在網(wǎng)絡(luò)運(yùn)營(yíng)商,基礎(chǔ)云商,或者CDN網(wǎng)絡(luò)那邊的時(shí)候,無(wú)法及時(shí)得到事故通知,也無(wú)法得到及時(shí)而深度的配合。
3)在一些邊遠(yuǎn)的地理區(qū)域,網(wǎng)絡(luò)覆蓋不足,用戶體驗(yàn)比較差或者不穩(wěn)定。
4)來(lái)自不同的網(wǎng)絡(luò)的用戶得到的體驗(yàn)不一樣,造成某些網(wǎng)絡(luò)的用戶體驗(yàn)比較差。
運(yùn)維上的難點(diǎn)更多的偏向于經(jīng)驗(yàn)的積累,只有踩過(guò)足夠多的坑,只有經(jīng)歷過(guò)長(zhǎng)時(shí)間的試錯(cuò),才能夠把系統(tǒng)打磨得比較順溜。
低延遲是一個(gè)比較難的技術(shù)點(diǎn),這也是即構(gòu)科技解決得比較好的一個(gè)問(wèn)題。目前,使用即構(gòu)科技的音視頻直播SDK,參與連麥互動(dòng)直播各方的延遲達(dá)到400毫秒,觀眾端的延遲達(dá)到1秒左右。這個(gè)低延遲指標(biāo)在市場(chǎng)上是十分有競(jìng)爭(zhēng)力的。舉個(gè)例子,花椒直播(奇虎360投資的企業(yè),日活超過(guò)500萬(wàn))采用了即構(gòu)科技的直播技術(shù)方案,原因是即構(gòu)科技的視頻直播SDK延遲極低,能做到移動(dòng)端六路連麥互動(dòng),能讓明星主播進(jìn)行“同框”互動(dòng)直播。
要降低延遲也是要從采集,編碼,推流,拉流,解碼和渲染整個(gè)鏈接來(lái)解決的,可以從下面幾個(gè)點(diǎn)進(jìn)行探索:
采集、視頻處理和編碼盡量減少內(nèi)存多處拷貝,減少CPU和GPU處理多次切換;
解碼、視頻后處理和渲染也是類似的方式;
另外就是推拉流的鏈路上的優(yōu)化,包括就近接入,和減少多層級(jí)server的轉(zhuǎn)發(fā)等。這些都要根據(jù)實(shí)際用戶策略來(lái)做。
關(guān)于高音質(zhì)和高畫質(zhì)怎么保證,可以從以下幾點(diǎn)來(lái)探索:
1) 音頻的數(shù)據(jù)量比較小,對(duì)帶寬的要求比較低,一般不會(huì)限制音頻,要優(yōu)先保證音頻數(shù)據(jù)可以發(fā)送。畢竟,在極端差網(wǎng)的情況下,即使視頻不好,只要音頻清晰流暢,互動(dòng)溝通還是可以繼續(xù)的。
2) 為了獲得低延遲同時(shí)保證視頻的質(zhì)量,要平衡流暢和清晰度,現(xiàn)在通常采用VBR或者CBR來(lái)處理。在保證畫面質(zhì)量不至于太差的情況下,可以選擇性性地丟幀。這樣可以避免推流端因?yàn)門CP擁塞導(dǎo)致于推流質(zhì)量越來(lái)越差,否則除了引起卡頓也會(huì)引起畫面質(zhì)量下降嚴(yán)重。在網(wǎng)絡(luò)確實(shí)太差的情況下,通常為了保證視頻流暢,可以適當(dāng)?shù)亟档屯屏鞔a率,這樣畫面質(zhì)量會(huì)有不可避免的下降。通常的做法是設(shè)置一個(gè)極限值,避免視頻質(zhì)量太低無(wú)法觀看。
使用智能硬件設(shè)備的芯片進(jìn)行音視頻的編碼解碼的時(shí)候會(huì)面臨兩個(gè)選擇:硬編硬解,還是軟編軟解。要降低對(duì)CPU的消耗,就要充分的利用GPU的能力。使用GPU就要進(jìn)行硬編硬解,優(yōu)點(diǎn)是速度快,效率高,CPU的占用低,缺點(diǎn)對(duì)兼容性有要求,需要對(duì)具體硬件平臺(tái)進(jìn)行深度兼容,才能做好硬編硬解。
要解決帶寬資源消耗的問(wèn)題,可以從兩個(gè)角度入手:碼率自適應(yīng),和云端混流。
碼率自適應(yīng),就是讓音視頻流的碼率能夠自動(dòng)適應(yīng)復(fù)雜的網(wǎng)絡(luò)環(huán)境,比如說(shuō)網(wǎng)絡(luò)抖動(dòng)。我們都知道,在中國(guó),用戶端的上下行網(wǎng)絡(luò)帶寬是不對(duì)稱的。比如說(shuō),下行如果是100Mbps,那么對(duì)應(yīng)的上行就是1Mbps, 這樣上行就成了瓶頸,下行反而問(wèn)題不大。因此,要確保推流成功而且質(zhì)量好,那么就要利用好上行的網(wǎng)絡(luò)帶寬。推流端要能夠做到根據(jù)各種維度的因素,包括個(gè)體歷史數(shù)據(jù),群體歷史數(shù)據(jù),網(wǎng)絡(luò)探測(cè)數(shù)據(jù)等等,去分析和預(yù)測(cè)網(wǎng)絡(luò)的情況,從而決定推流應(yīng)該采用多大的碼率。關(guān)鍵點(diǎn)就是要找出在目前上行帶寬的情況下小于上行帶寬的最大碼率。
云端混流,就是把多路的音視頻流在服務(wù)器集群里面混合成一路流,然后轉(zhuǎn)推到CDN去,讓觀眾拉單流來(lái)觀看。這樣可以節(jié)省一部分帶寬成本。拉流端拉流的時(shí)候有兩個(gè)選擇,一個(gè)是把所有推流端的音視頻流單獨(dú)拉下來(lái)播放,另一個(gè)就是把在云端混合好的單一一路流拉下來(lái)播放。如果采用不混流的方案,優(yōu)點(diǎn)是拉流端可以靈活地操控多路流,比如說(shuō)讓畫中畫中的畫面靈活對(duì)調(diào), 缺點(diǎn)就是多占用了網(wǎng)絡(luò)帶寬。如果采用混流的方案,優(yōu)點(diǎn)就是拉流端只需要拉一路流,可以大大的節(jié)省從流媒體服務(wù)器到CDN網(wǎng)絡(luò)和CDN網(wǎng)絡(luò)到拉流端所占的網(wǎng)絡(luò)帶寬,缺點(diǎn)就是多路音視頻經(jīng)過(guò)混流以后,畫面的布局就固定了,在拉流端無(wú)法再進(jìn)行靈活操控了。
目前智能終端主流的操作系統(tǒng)包括iOS和安卓。iOS是蘋果的智能終端操作系統(tǒng),蘋果的機(jī)型數(shù)目有限,而且設(shè)計(jì)和質(zhì)量都比較好,要適配蘋果的設(shè)備和iOS問(wèn)題不大。比較難的是如何適配安卓操作系統(tǒng)。安卓是谷歌的開源智能終端操作系統(tǒng),正因?yàn)槭情_源的,所以各個(gè)廠商可以做各種大尺度的裁剪和修改。特別是在中國(guó)國(guó)內(nèi)市場(chǎng),安卓機(jī)型十分繁多,而且架構(gòu)設(shè)計(jì),硬件質(zhì)量良莠不齊;安卓操作系統(tǒng)也做了很多的裁剪和修改。我這里舉的安卓智能手機(jī)的例子,其實(shí)也適用于采用了安卓操作系統(tǒng)的其它智能終端,比如說(shuō)無(wú)人機(jī)或者智能電視。因此,我們說(shuō)要全面兼容各種智能終端,其實(shí)說(shuō)的就是如何全面兼容安卓操作系統(tǒng)和各種各樣的智能終端硬件平臺(tái)。
眾所周知,安卓是開源的操作系統(tǒng),底層提供c接口,上層提供java接口。國(guó)內(nèi)的廠商在對(duì)安卓系統(tǒng)進(jìn)行裁剪和修改的時(shí)候,為了提高效率和降低成本,大部分都是直接調(diào)用java接口進(jìn)行修改的。
在即構(gòu)科技創(chuàng)業(yè)初期,我們也考慮過(guò)調(diào)用java接口進(jìn)行優(yōu)化,來(lái)開發(fā)音視頻引擎和其它各種適配工作,后來(lái)發(fā)現(xiàn)行不通。這條路雖然看起來(lái)節(jié)省成本而且提高效率,但是損失的是兼容性和穩(wěn)定性。一套代碼無(wú)法在各種各樣的安卓平臺(tái)上穩(wěn)定運(yùn)行,反而是提高了成本和降低了效率。于是我們采用比較笨,也是最基礎(chǔ)的方法,從最底層做起,盡量地調(diào)用c接口,去做深層優(yōu)化,去實(shí)現(xiàn)音視頻終端引擎。這個(gè)過(guò)程雖然十分痛苦十分的累,但是最終一套代碼可以在各種各樣的平臺(tái)上使用,終端音視頻引擎的穩(wěn)定性和兼容性也是真心的好,因此我們認(rèn)為十分值得。所以,在兼容全終端、做到跨平臺(tái)這一點(diǎn)上面,建議大家用比較笨的基礎(chǔ)的方法,從最底層進(jìn)行優(yōu)化,這樣才能保證兼容性和穩(wěn)定性。
由于即構(gòu)科技的音視頻SDK是進(jìn)行端對(duì)端集成的,而后端是完全解耦的,所以只要智能終端實(shí)現(xiàn)了全面的兼容性,后端就完全沒(méi)有兼容性問(wèn)題了?,F(xiàn)在,即構(gòu)科技的音視頻直播方案,能夠跨越iOS、安卓、WP和H5四個(gè)平臺(tái),能夠兼容PC、各種手機(jī)和PAD三種終端類型,用的就是直接從底層深度優(yōu)化這個(gè)笨辦法。
另外一點(diǎn)也值得提一下,在拉流端,為了兼容和適配觀眾端各種各樣的平臺(tái),我們提供了多種協(xié)議進(jìn)行拉流:RTMP, HLS, HTTP-FLV。用RTMP或者HTTP-FLV拉流可以用即構(gòu)的SDK(APP)或者Adobe Flash Player上觀看,用HLS拉流可以在H5上觀看。這樣可以確保全面覆蓋各種各樣的終端用戶。
評(píng)判一個(gè)音視頻云服務(wù)質(zhì)量好不好,要看技術(shù)指標(biāo),也要看非技術(shù)指標(biāo)。畢竟這是技術(shù)服務(wù),是技術(shù)也是服務(wù)。
技術(shù)上的指標(biāo)包括但是不限于:1)低延遲;2)流暢性;3)回聲消除;4)噪音抑制;5)跨平臺(tái);6)全終端兼容;7)海量用戶并發(fā);8)無(wú)感知擴(kuò)容能力。
低延遲,這個(gè)很重要,但是到了一定臨界值以后,就不是最重要的指標(biāo)了。一般來(lái)說(shuō)低于800毫秒的延遲,就能夠做到多人實(shí)時(shí)連麥互動(dòng),做到比較好的對(duì)講,比較好的高頻互動(dòng);高于800毫秒的延遲,就只能做監(jiān)控,只能做單向直播了,這樣的效果和點(diǎn)播的差別不是很大,是做不到連麥互動(dòng)或者多人實(shí)時(shí)對(duì)講的。
流暢性,這個(gè)影響用戶體驗(yàn)的關(guān)鍵指標(biāo)。但低延遲和流暢性實(shí)際上是矛盾的,要獲得最低的延遲,最好就是讓緩沖隊(duì)列盡量地短;但是要做到流暢,緩沖隊(duì)列就要有一定的長(zhǎng)度,才能夠抹平網(wǎng)絡(luò)抖動(dòng)帶來(lái)的影響。所以,我們要在低延遲和流暢性這對(duì)矛盾的指標(biāo)上找到一個(gè)平衡點(diǎn)。
回聲消除和噪音抑制能力,這兩項(xiàng)最能考驗(yàn)音視頻技術(shù)能力的水平,這也是一流的音視頻直播云服務(wù)區(qū)分其它競(jìng)品的利器。在選擇方案的時(shí)候,要看能否做到?jīng)]有回聲,沒(méi)有嘯叫(不帶耳機(jī)的哦)。還要看能否有效抑制環(huán)境噪音,聲音清晰而且通透。有創(chuàng)業(yè)團(tuán)隊(duì)找到我說(shuō),他們團(tuán)隊(duì)的技術(shù)很厲害,自己花了大半年就把音視頻通訊系統(tǒng)做出來(lái)的,就是這兩項(xiàng)怎么做都效果不理想。其實(shí)音頻比視頻要難,音頻里面這兩個(gè)點(diǎn)是最難的,不是那么容易做得好的。
跨平臺(tái)和終端兼容性,上文有介紹,就不再贅述了。
海量用戶并發(fā),這個(gè)十分考驗(yàn)海量并發(fā)運(yùn)維能力。C端的業(yè)務(wù),靠的是海量的用戶取勝。音視頻技術(shù)很多團(tuán)隊(duì)自己就能做出來(lái),demo跑的時(shí)候挺好,一對(duì)一效果不錯(cuò),但是用戶量一上來(lái)就開始不穩(wěn)定,就要不斷地進(jìn)行重構(gòu)和迭代,就要不斷地經(jīng)歷服務(wù)中斷。
無(wú)感知擴(kuò)容能力,這對(duì)創(chuàng)業(yè)團(tuán)隊(duì)來(lái)說(shuō)很重要。創(chuàng)業(yè)團(tuán)隊(duì)處于業(yè)務(wù)的快速擴(kuò)展期,往往幾個(gè)月用戶就要成倍增長(zhǎng)。為了擴(kuò)容可能要進(jìn)行版本迭代升級(jí),甚至重構(gòu),這樣很可能會(huì)終端服務(wù),極其影響用戶體驗(yàn)。能否做到無(wú)感知擴(kuò)容十分考驗(yàn)一個(gè)音視頻云服務(wù)商的運(yùn)營(yíng)經(jīng)驗(yàn)和網(wǎng)絡(luò)資源。這里就不僅僅是技術(shù)了,更多的是要考驗(yàn)是能和網(wǎng)絡(luò)運(yùn)營(yíng)商,技術(shù)云商,CDN網(wǎng)絡(luò)合作深度。這些運(yùn)營(yíng)經(jīng)驗(yàn)都要靠不斷試錯(cuò),靠多年運(yùn)營(yíng)積累總結(jié)出來(lái)的。
看完上述技術(shù)指標(biāo)后,讓我們看看非技術(shù)指標(biāo):
技術(shù)服務(wù)的深度,要看知道技術(shù)支持的是核心技術(shù)團(tuán)隊(duì)還是普通客服團(tuán)隊(duì)。如果核心技術(shù)團(tuán)隊(duì)能夠主導(dǎo)SDK集成接入和后期的運(yùn)維支持,他們能夠幫你解決深度的技術(shù)問(wèn)題,幫你提供經(jīng)驗(yàn)和建議。如果只是客服團(tuán)隊(duì)經(jīng)過(guò)簡(jiǎn)單培訓(xùn)上崗,對(duì)著FAQ文檔回答你的問(wèn)題,那樣的服務(wù)是遠(yuǎn)遠(yuǎn)不夠的。
運(yùn)維支持的能力和反應(yīng)速度,這方面要看一手硬的和一手軟的。所謂硬的,就是看有沒(méi)有健全而強(qiáng)大的后臺(tái)監(jiān)控系統(tǒng),能否全面的看到每一路流,每個(gè)節(jié)點(diǎn)的各項(xiàng)技術(shù)指標(biāo),實(shí)時(shí)監(jiān)控狀態(tài),一出問(wèn)題就可以快速定位。所謂軟的,就是要看這個(gè)音視頻云服務(wù)團(tuán)隊(duì)的市場(chǎng)口碑和自我定位,看它是不是能夠?qū)Υ笮】蛻舳家灰曂?,能夠積極快速反應(yīng),積極處理問(wèn)題,能夠踏實(shí)地提供服務(wù)。
和網(wǎng)絡(luò)運(yùn)營(yíng)商以及基礎(chǔ)云商合作的深度,這要看和基礎(chǔ)云商,CDN網(wǎng)絡(luò)的關(guān)系,能否讓對(duì)方配合做一些深度的適配,能否及時(shí)地得到事故通知,能否讓對(duì)方幫忙解決問(wèn)題等。
這是都是企業(yè)在接入音視頻云服務(wù)的時(shí)候該十分注意的問(wèn)題。畢竟,選擇一個(gè)云服務(wù)可能因?yàn)樗夹g(shù)指標(biāo)好,拋棄一個(gè)云服務(wù)往往可能因?yàn)樗羌夹g(shù)指標(biāo)不好。
實(shí)際上,這是很多創(chuàng)業(yè)企業(yè)的痛點(diǎn)。這些創(chuàng)業(yè)型的團(tuán)隊(duì)直接面對(duì)C端的用戶。剛剛啟動(dòng)的時(shí)候,用戶很少,可能只有幾百個(gè); 但是后面幾個(gè)月可能會(huì)成倍的增長(zhǎng),達(dá)到數(shù)十萬(wàn)甚至上百萬(wàn)個(gè)用戶。面向C端的用戶系統(tǒng)在擴(kuò)容來(lái)跟上用戶量增長(zhǎng)的過(guò)程中,可能會(huì)出現(xiàn)擴(kuò)容周期過(guò)長(zhǎng),系統(tǒng)不穩(wěn)定,甚至服務(wù)中斷等問(wèn)題。
即構(gòu)科技從兩個(gè)方面來(lái)解決這個(gè)問(wèn)題:
1)服務(wù)端架構(gòu)能夠進(jìn)行靈活水平擴(kuò)容。在信令層面,在架構(gòu)設(shè)計(jì)的時(shí)候,我們就按照用戶的預(yù)期增長(zhǎng),做好了相應(yīng)的設(shè)計(jì),允許水平擴(kuò)展。在保證多媒體服務(wù)器集群業(yè)務(wù)側(cè)無(wú)狀態(tài)的前提下,結(jié)合我們的智能調(diào)度系統(tǒng),保證調(diào)度給用戶的資源是足夠的。這個(gè)架構(gòu)支持我們能夠根據(jù)客戶的容量需求,水平的把網(wǎng)絡(luò)資源十分靈活地鋪開,能夠做到讓C端的用戶感覺(jué)不到任何中斷 。
2)有豐富網(wǎng)絡(luò)節(jié)點(diǎn)資源來(lái)做到無(wú)感知的擴(kuò)容。網(wǎng)絡(luò)節(jié)點(diǎn)資源的支持也十分的重要,即構(gòu)科技和一線的網(wǎng)絡(luò)運(yùn)營(yíng)商進(jìn)行深度對(duì)接,儲(chǔ)備足夠的網(wǎng)絡(luò)節(jié)點(diǎn)資源來(lái)滿足創(chuàng)業(yè)企業(yè)客戶群不斷擴(kuò)容的需求。
智能終端的創(chuàng)業(yè)公司也是面對(duì)C端用戶,用戶量發(fā)展特別快,靠速度取勝。 C端用戶并發(fā)的用戶數(shù)到穩(wěn)定階段會(huì)十分龐大。舉個(gè)例子,智能終端應(yīng)用于汽車,也就是所謂的車聯(lián)網(wǎng),具體的應(yīng)用是音頻直播,也就是現(xiàn)在廣播電臺(tái)的替代產(chǎn)品。這一類的產(chǎn)品,最后能存活下來(lái)并且發(fā)展壯大的靠的是速度和用戶規(guī)模。
因此,為了支持創(chuàng)業(yè)企業(yè)快速發(fā)展,音視頻直播云服務(wù)要能夠做到以下三點(diǎn):
1) 在創(chuàng)業(yè)早期,要能夠以較低成本,較快的速度,讓早期的產(chǎn)品集成音視頻直播SDK。因?yàn)樵缙趫F(tuán)隊(duì)缺乏資金,但是又要求快。因此音視頻直播SDK必須是簡(jiǎn)單易用的,而且是端對(duì)端集成的。
2) 在創(chuàng)業(yè)中期,要能夠快速而且無(wú)感知的擴(kuò)容,不能影響到生產(chǎn)環(huán)境,不能對(duì)用戶體驗(yàn)造成損害。因此,音視頻直播云服務(wù)必須要能夠做到無(wú)感知地水平擴(kuò)容,在云端通過(guò)配置增加網(wǎng)絡(luò),基礎(chǔ)云和CDN等資源。
3)在創(chuàng)業(yè)后期,要能夠支持海量用戶并發(fā),確保服務(wù)持續(xù)而且穩(wěn)定。因此音視頻云服務(wù)的架構(gòu)要能夠支持千萬(wàn)級(jí)別的海量用戶并發(fā),技術(shù)團(tuán)隊(duì)要有多年海量運(yùn)營(yíng)的經(jīng)驗(yàn),和運(yùn)營(yíng)商的基建要能夠深度的結(jié)合才行。
請(qǐng)?jiān)试S我斗膽判斷一下未來(lái),未來(lái)音視頻直播云服務(wù)可能有兩個(gè)趨勢(shì):
1)公共事業(yè)服務(wù)化:未來(lái)會(huì)更加趨向于接受由專業(yè)的人做專業(yè)的事情,音視頻直播云服務(wù)會(huì)成為像自來(lái)水一樣廣泛而且中立的公共事業(yè)服務(wù),就像今天的基礎(chǔ)云服務(wù)一樣,誰(shuí)都可以很便利很放心地使用,沒(méi)有人擔(dān)心安全性,也沒(méi)有必要重復(fù)發(fā)明輪子。
2)成為互聯(lián)網(wǎng)主流互動(dòng)方式: 音視頻的流量占網(wǎng)絡(luò)流量的比例越來(lái)越大,VR/AR音視頻的信息量還會(huì)有數(shù)倍的提升,可以預(yù)測(cè)音視頻通訊成為網(wǎng)絡(luò)流量的主要貢獻(xiàn)者。從用戶的角度來(lái)說(shuō),要能聽見看見,音視頻互動(dòng)是最直觀最自然的互動(dòng)方式。從商業(yè)的角度來(lái)說(shuō),網(wǎng)絡(luò)運(yùn)營(yíng)商,基礎(chǔ)云商還有CDN網(wǎng)絡(luò),都會(huì)特別喜歡這個(gè)趨勢(shì),畢竟音視頻的流量比文本的流量大的多,流量多起來(lái)了,就意味著更大規(guī)模的基建,更大規(guī)模的收入流水。因此,網(wǎng)絡(luò)運(yùn)營(yíng)商、基礎(chǔ)云商、CDN網(wǎng)絡(luò)和音視頻直播云服務(wù)商都會(huì)把音視頻技術(shù)作為標(biāo)配能力。畢竟,控制主要流量的來(lái)源,就控制了未來(lái)發(fā)展的命脈。
當(dāng)我們?cè)谡雇磥?lái),未來(lái)已經(jīng)變成了現(xiàn)在。要能聽見看見,這個(gè)自然而簡(jiǎn)單的需求,會(huì)讓音視頻直播云服務(wù)在未來(lái)跟隨著智能終端深入到互聯(lián)網(wǎng)生活的每一個(gè)環(huán)節(jié)中去,深刻地改變?nèi)藗兓?dòng)溝通的方式。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。