很多大廠商不是已經(jīng)開始布局,就是已經(jīng)推出了相應(yīng)產(chǎn)品。例如,在去年由“能打電話的智能手表”變?yōu)?ldquo;能視頻的電話手表”的小天才(如視頻演示);在今年2019 CES 上,多家廠商都推出了支持實(shí)時(shí)視頻的智能門禁。
總體來講,希望集成實(shí)時(shí)音視頻功能的低功耗智能設(shè)備有以下幾類:
- 智能手表:“能打電話”已成很多兒童智能手表的標(biāo)配,而“能視頻通話”的智能手表已經(jīng)紛紛出現(xiàn)在海內(nèi)外市場上。
- 智能眼鏡:基于實(shí)時(shí)音視頻與后處理技術(shù)(如 AR、計(jì)算機(jī)視覺算法)可以實(shí)現(xiàn)多種場景
- 智能攝像頭:安防監(jiān)控、視頻交互一直是智能攝像頭的重要功能
- 機(jī)器人:家庭機(jī)器人及少數(shù)公共場所的機(jī)器人,需要實(shí)時(shí)音視頻功能
- 智能門禁:通過實(shí)時(shí)音視頻實(shí)現(xiàn)遠(yuǎn)程安防、通話
低功耗設(shè)備上視頻通話的難點(diǎn)
如果我們?cè)?WebRTC 在手機(jī)上實(shí)現(xiàn)了實(shí)時(shí)音視頻通話,那么我們是否可以將它照搬到低功耗設(shè)備上呢?
答案是“不能”。低功耗智能設(shè)備在硬件、軟件方面都與手機(jī)不同,所以對(duì)實(shí)時(shí)音視頻通信的要求也有所不同,這導(dǎo)致了手機(jī)的方案無法直接拿來就用。以智能手表為例,如果要實(shí)現(xiàn)實(shí)時(shí)音視頻,需要滿足以下要求:
1. 功耗要低
很多低功耗智能設(shè)備的電池容量,以及可支持的功率有限。另一方面,很多智能設(shè)備采用的 CPU 性能有限,在進(jìn)行音視頻通話的同時(shí),還要支持系統(tǒng)、常駐功能的運(yùn)轉(zhuǎn)。一般的解決方案,無法做到稍長時(shí)間的視頻通話,最大的障礙就在于能耗。隨著通話時(shí)長的積累,高負(fù)荷運(yùn)轉(zhuǎn)的設(shè)備會(huì)發(fā)熱。所以低功耗十分必要。
2. 實(shí)時(shí)音視頻不可占用過多內(nèi)存
智能設(shè)備的內(nèi)存有的高,有的低,要看是什么類型的設(shè)備。但智能手表這類產(chǎn)品的內(nèi)存一般都不高。在這樣的背景下,如果要在設(shè)備上進(jìn)行實(shí)時(shí)音視頻通話時(shí),不能占用太多內(nèi)存資源,否則會(huì)影響設(shè)備的正常使用。
3. 跨平臺(tái)、跨設(shè)備的通話支持
智能設(shè)備并不像手機(jī)這樣普及,所以當(dāng)你在通過智能手表、智能眼鏡與他人通話時(shí),對(duì)方所使用的可能是手機(jī)或 Web 瀏覽器。所以還需要支持智能設(shè)備與其它平臺(tái)的通話。
4. 提供高音質(zhì)高畫質(zhì)體驗(yàn)
音視頻通話的質(zhì)量始終是關(guān)鍵,畫面的卡頓、模糊,聲音出現(xiàn)回聲、噪聲都是用戶無法接受的。但是,一套音視頻方案在別人的智能手表上跑通了的時(shí)候,并不意味著完全能用于你的設(shè)備。
還是以 WebRTC 為例,它本身具備回聲消除模塊,但一個(gè)回聲消除算法的設(shè)計(jì)實(shí)現(xiàn)與設(shè)備、系統(tǒng)狀態(tài)緊密相關(guān)。我們?cè)?jīng)在一篇文章中講過。聲音經(jīng)過揚(yáng)聲器傳導(dǎo)到麥克風(fēng),經(jīng)過了多少路徑就被處理多少次。不同的設(shè)備材質(zhì),甚至設(shè)備發(fā)熱,都會(huì)導(dǎo)致聲傳導(dǎo)特性不一樣,都會(huì)導(dǎo)致回聲消除算法不一樣。這是設(shè)備的差異帶來的影響。
另一方面,回聲消除里有兩大模塊,自適應(yīng)濾波和非線性處理。自適應(yīng)濾波前置第一個(gè)模塊就是延時(shí)搜索。延時(shí)估計(jì)要在一定范圍內(nèi)估計(jì),就是要有一個(gè)預(yù)先設(shè)計(jì)的delay值,如果在一個(gè)很大的范圍內(nèi)搜索,會(huì)極大消耗CPU資源。而Android系統(tǒng)的線程調(diào)度設(shè)計(jì)存在特殊性,一旦資源搶占,會(huì)在Android底層buffer產(chǎn)生延時(shí),可能會(huì)導(dǎo)致之前預(yù)設(shè)的delay值不準(zhǔn)。而低功耗智能設(shè)備的系統(tǒng)存在很多細(xì)微差異,就更需要有針對(duì)性地優(yōu)化算法了。
所以,在低功耗智能設(shè)備上實(shí)現(xiàn)視頻通話,并不是用一套通用的 demo,通過短短幾步的配置、接口調(diào)用就能實(shí)現(xiàn)的。想要好的通話體驗(yàn),都需要圍繞你的設(shè)備進(jìn)行調(diào)優(yōu)。這也是難點(diǎn)之一。
聲網(wǎng)低功耗智能設(shè)備場景方案
盡管如此,我們還是可以解決以上大部分問題。針對(duì)低功耗設(shè)備的硬件、軟件系統(tǒng)的特點(diǎn),我們對(duì) Agora SDK 進(jìn)行了多方面的優(yōu)化,包括編碼算法、降噪算法,幀率和分辨率的優(yōu)化算法,推出了低功耗版本 Agora SDK ,支持低功耗智能設(shè)備與其它設(shè)備與平臺(tái)進(jìn)行視頻通話。
聲網(wǎng)低功耗智能設(shè)備場景方案的特點(diǎn):
1. 跨平臺(tái)實(shí)時(shí)語音通話
聲網(wǎng)創(chuàng)建了基于UDP協(xié)議的軟件定義實(shí)時(shí)網(wǎng)絡(luò)SD-RTN?,并在全球部署的近200個(gè)數(shù)據(jù)中心。通過 Agora SD-RTN?虛擬通信網(wǎng)絡(luò),集成聲網(wǎng)方案的低功耗設(shè)備,可以與 Web 瀏覽器、手機(jī)端進(jìn)行實(shí)時(shí)的音視頻通話。
2. 低功耗、低內(nèi)存占用
占用的內(nèi)存小,正常通話發(fā)熱量小,可以保證用戶之間的較長時(shí)間的正常通話,經(jīng)測試在小天才智能手表上可進(jìn)行15分鐘的長時(shí)間視頻通話。
3. 支持主流軟硬件平臺(tái)
該方案適用于基于 ARM 架構(gòu)、Android 系統(tǒng)平臺(tái)的低功耗智能設(shè)備,只需要在集成后調(diào)優(yōu)setVideoProfile、setAudioProfile參數(shù)即可正常通話。
目前,聲網(wǎng)智能設(shè)備低功耗 SDK 已經(jīng)應(yīng)用于多類智能硬件產(chǎn)品上,包括智能手表、智能眼鏡、智能音箱、智能攝像頭、機(jī)器人、智能門禁等 IoT 設(shè)備,被集成于小天才、亮亮視野、小米等多個(gè)品牌的產(chǎn)品中。