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

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

0

干貨:細(xì)數(shù)視頻交友SDK的開放策略

本文作者: 冼牛 2017-07-21 15:29
導(dǎo)語:評價一個廠商的視頻交友SDK好不好,性能效果當(dāng)然很重要,開放策略同樣很重要。前者擺放在桌面,容易測試驗證;后者隱藏于背后,沒有一定的經(jīng)驗,很容易掉到坑里去。

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

有好多次視頻社交行業(yè)的開發(fā)者提到,某廠商的視頻交友SDK測試的時候性能效果還可以,可是接入過程中和接入后就遇到各種各樣的坑:

1 .無法自行定制采集和渲染。
2.無法獲得原始語音視頻數(shù)據(jù),進(jìn)行保存、前處理和編碼等定制化操作。

因此,視頻交友SDK的開發(fā)策略也要重點考量。

數(shù)據(jù)流動

視頻交友SDK選擇在數(shù)據(jù)流動的各個環(huán)節(jié)開放接口。語音視頻實時通訊本質(zhì)上是語音視頻數(shù)據(jù)的實時流動,數(shù)據(jù)流通的各個重要環(huán)節(jié)如下:

干貨:細(xì)數(shù)視頻交友SDK的開放策略

上圖展示了語音視頻數(shù)據(jù)從推流端流動到拉流端的各個環(huán)節(jié):采集(包含語音3A前處理)、前處理、編碼、推流、拉流、解碼和渲染。

視頻交友SDK以上就是開發(fā)者負(fù)責(zé)的業(yè)務(wù)層,這七大環(huán)節(jié)都是在視頻交友SDK以下實現(xiàn)的。這七大環(huán)節(jié)都是被視頻交友SDK封裝好的。完全封裝的好處是一方面可以讓開發(fā)者專注業(yè)務(wù)層的邏輯,另一方面讓業(yè)務(wù)層和SDK完全解耦。不足是開發(fā)者一定程度上失去了對底層語音視頻數(shù)據(jù)的控制力。

 有些視頻社交SDK廠商向開發(fā)者開放部分接口,也有廠商完全不開放任何接口。每一家視頻社交SDK廠商的開放策略都不一樣。使用視頻社交SDK的開放接口能獲得多少對底層語音視頻數(shù)據(jù)的控制力呢?

 今天讓我們討論一下視頻交友SDK的開放策略。

 采集

采集端是語音視頻數(shù)據(jù)的來源,包括但不限于硬件設(shè)備(麥克風(fēng)和攝像頭)、屏幕共享、語音視頻文件播放和游戲直播畫面等。

如果采集端是硬件設(shè)備,那么視頻社交SDK可以驅(qū)動麥克風(fēng)和攝像頭來獲得語音視頻數(shù)據(jù)。如果采集端不是硬件設(shè)備,那么開發(fā)者要采用外部采集的方式讓SDK獲得語音視頻數(shù)據(jù)。

 一般來說,有三種場景是需要進(jìn)行外部采集的:

1)普通的硬件設(shè)備無法滿足業(yè)務(wù)需求,開發(fā)者已采用特殊的硬件設(shè)備來實現(xiàn)了大量業(yè)務(wù)。

2)開發(fā)者需要使用攝像頭完成額外的功能,和視頻社交SDK 的默認(rèn)邏輯產(chǎn)生沖突,導(dǎo)致攝像頭無法正常使用。比如說,在視頻通話過程中,業(yè)務(wù)層要求中斷通話,用攝像頭來錄制短視頻。

3)語音視頻數(shù)據(jù)并非來自攝像頭和麥克風(fēng),而是來自虛擬設(shè)備、語音視頻文件或者現(xiàn)有的語音視頻流。比如說,語音視頻文件播放、屏幕分享和游戲直播等。

在需要進(jìn)行外部采集的場景中,視頻社交SDK要開放采集環(huán)節(jié)的接口來支持。否則,開發(fā)者就只能從攝像頭和麥克風(fēng)等硬件設(shè)備直接獲取語音視頻數(shù)據(jù),業(yè)務(wù)開發(fā)就會面臨極大的局限性。

視頻社交SDK開放了采集環(huán)節(jié)的接口,允許開發(fā)者進(jìn)行外部采集,開發(fā)者的自由度和掌控力一下子海闊天空。

然而凡事都有兩面:語音3A前處理是在采集環(huán)節(jié)完成的,因此,如果進(jìn)行外部采集,開發(fā)者就要自行實現(xiàn)語音3A前處理。語音3A前處理包含回聲消除(AEC),噪聲抑制(ANS)和自動增益控制(AGC),也就是所謂的語音3A,是視頻社交行業(yè)公認(rèn)的技術(shù)難題。

 前處理

前處理是指對語音視頻原始數(shù)據(jù)在編碼之前進(jìn)行的處理,包括語音3A和其它特殊的效果。語音3A是在采集環(huán)節(jié)完成的,除此以外還有其它的語音和視頻的前處理,將在本環(huán)節(jié)完成。

語音前處理是編碼前的語音特效處理,包括混響和變聲等。混響能讓聲音聽起來像來自曠野,變聲能讓人聲由男生變女生,或者產(chǎn)生電子聲特效,以此增強語音通話的趣味。

視頻前處理是編碼前的視頻特效處理,包括美顏、萌顏、掛件和濾鏡效果等,能讓畫面顯得妙趣橫生,以此增強視頻社交的樂趣。

如果視頻社交SDK開放了前處理的接口,那么開發(fā)者可以自行實現(xiàn)語音和視頻的前處理模塊,或者對接第三方的語音和視頻的前處理SDK。否則,對開發(fā)者來說,視頻社交SDK以下的語音視頻處理都是黑盒子,業(yè)務(wù)層無法對其做任何控制。

筆者在即構(gòu)科技獲得的數(shù)據(jù)表明,美顏和萌顏有著廣泛的市場需求,這兩個模塊是視頻社交SDK的標(biāo)配。另外,市場上有一些優(yōu)質(zhì)的第三方美顏SDK,視頻社交SDK應(yīng)該開放前處理的接口,讓開發(fā)者自由選擇是采用視頻SDK自帶的美顏功能,還是自行實現(xiàn),或者對接第三方廠商的美顏SDK。只有這樣,開發(fā)者才真正擁有自由度和掌控力,進(jìn)行積極的業(yè)務(wù)創(chuàng)新。 

編碼

編碼這個環(huán)節(jié)留給開發(fā)者的余地不多:開發(fā)者基本不會自行開發(fā)或者改造編解碼器。然而,一些有經(jīng)驗的開發(fā)團(tuán)隊仍然有自行編碼的需求,原因有如下兩個:

1)開發(fā)者對調(diào)制編碼器的參數(shù)來適配種類繁多的安卓機型十分有經(jīng)驗和信心,決定自行編碼。開發(fā)者可以自行靈活地配置編碼器的參數(shù),從而達(dá)到更好地適配各種安卓機型的效果。

2)開發(fā)者之前已經(jīng)實現(xiàn)了大量調(diào)用編碼器的邏輯,而且相信自行編碼的效果更好。為了保護(hù)已有投資,開發(fā)者往往傾向于自行編碼。

需要特別注意的是,開發(fā)者自行編碼這種做法有得也有失:好處是開發(fā)者獲得了更大的掌控力和自由度;壞處是視頻社交SDK將無法為開發(fā)者提供碼率自適應(yīng)的功能。

如果要理解背后的原因,讓我們先了解碼率自適應(yīng)的原理:視頻社交SDK實時監(jiān)控網(wǎng)絡(luò)狀況,使用算法預(yù)測網(wǎng)絡(luò)狀況的變化,然后根據(jù)預(yù)測結(jié)果動態(tài)調(diào)整編碼器的參數(shù),編出和網(wǎng)絡(luò)狀況相適應(yīng)的碼流。編出來的碼流的碼率、分辨率、幀速等參數(shù)能讓實時通訊在當(dāng)時的網(wǎng)絡(luò)情況下保障良好的QoS。

如果視頻交友SDK負(fù)責(zé)編碼,那么它就能實現(xiàn)碼率自適應(yīng)功能。如果開發(fā)者負(fù)責(zé)編碼,那么視頻交友SDK就無法控制編碼器來編出適應(yīng)網(wǎng)絡(luò)狀況變化的碼流,因此無法做到碼率自適應(yīng)。

網(wǎng)絡(luò)傳輸

網(wǎng)絡(luò)傳輸環(huán)節(jié)是實時通訊的核心中的核心,通過FEC、ARQ、流控碼控和抖動緩沖等關(guān)鍵算法來實現(xiàn)實時傳輸架構(gòu),從而達(dá)到超低延遲的效果。

根據(jù)筆者的了解,還沒有廠商全面開放網(wǎng)絡(luò)傳輸環(huán)節(jié)。即構(gòu)科技的做法是:支持開發(fā)者自行推流到即構(gòu)的服務(wù)器,然而拉流端拉流的時候必須要使用即構(gòu)的視頻社交SDK。這樣既可以保持了SDK的開放性,兼容開發(fā)者原有的系統(tǒng),又可以保障拉流端獲得低延遲的體驗。

這種做法背后的邏輯比較好理解:視頻交友SDK的核心價值是實時性,延遲超低。因為廠商在實現(xiàn)超低延遲上有專長,所以開發(fā)者才采用廠商的視頻交友SDK。如果廠商把這個核心環(huán)節(jié)開放給開發(fā)者自行實現(xiàn),那么廠商就失去了它的核心價值。

解碼

解碼環(huán)節(jié)和編碼環(huán)節(jié)相對應(yīng),把接收到的語音視頻流解碼然后渲染。解碼環(huán)節(jié)沒有什么可以供開發(fā)者發(fā)揮的余地。開發(fā)者一般沒有自行解碼的需求,廠商一般也沒有開放解碼環(huán)節(jié)的接口。

渲染

渲染就是把語音數(shù)據(jù)播放出來和把視頻畫面顯示出來。開發(fā)者對聲音數(shù)據(jù)的播放沒有額外的定制需求,然而對視頻畫面的顯示卻有很多定制的玩法。比如說,把多個視頻流渲染在同一個view里面,讓畫中畫和大畫面相互切換,橫屏左右畫面進(jìn)行對調(diào)等。

如果開發(fā)者想要實現(xiàn)一些更加酷炫的玩法,就需要自行進(jìn)行渲染定制化了。如果視頻交友SDK開放了渲染環(huán)節(jié)的接口,那么開發(fā)者可以進(jìn)行渲染定制化。否則,只能接受視頻SDK自帶的渲染功能。開發(fā)者要進(jìn)行定制化的渲染還有一個前提:語音視頻流沒有被混合,拉流端獲得的是多個分離的語音視頻流。如果語音視頻流已經(jīng)被混合成一路流,那么開發(fā)者能夠處理的就只有一個畫面,能夠創(chuàng)新的玩法就少了許多。

分享一下筆者在即構(gòu)科技獲得的客戶統(tǒng)計數(shù)據(jù)。在實時語音視頻的七個環(huán)節(jié)中,即構(gòu)開放了采集、前處理、編碼和渲染四個環(huán)節(jié)。根據(jù)客戶的統(tǒng)計數(shù)據(jù)顯示,主要有如下四組選擇,而絕大部分客戶選擇了第一個組合。

干貨:細(xì)數(shù)視頻交友SDK的開放策略

 如果視頻交友SDK把七大環(huán)節(jié)完全封裝起來,開發(fā)者雖然不用操心,但是也失去了掌控力。因此,開發(fā)者在選型階段要進(jìn)行慎重的分析。開發(fā)者可以從廠商的開放策略進(jìn)行判斷,該SDK是否給予開發(fā)者足夠的掌控力進(jìn)行業(yè)務(wù)創(chuàng)新?是否允許開發(fā)者自由替換成其它廠商的SDK或者自行研發(fā)?

開發(fā)者把語音視頻實時通訊的能力托付給廠商,自然是經(jīng)過一番衡量和取舍的決定。如果時間、成本和技術(shù)積累允許的話,筆者相信大部分開發(fā)者都是希望自行研發(fā)的。

因此,廠商應(yīng)該從開發(fā)者的角度出發(fā),滿足開發(fā)者的需求,同時也打消開發(fā)者的顧慮,充分地開放語音視頻實時通訊各個環(huán)節(jié)的定制化接口。這樣才能真正不負(fù)開發(fā)者所托。

雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

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

專欄作者

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