隨著科技進(jìn)步,我們的生活發(fā)生了翻天覆地的變化。過去幾年音視頻技術(shù)發(fā)展迅速,直播行業(yè)異軍突起,在社交、娛樂、教育、醫(yī)療等領(lǐng)域高歌猛進(jìn)。當(dāng)前用cs軟件錄制視頻,對(duì)音視頻技術(shù)的需求又將到達(dá)一個(gè)新高度。
作為一款全新的面向全場(chǎng)景的分布式操作系統(tǒng),不斷創(chuàng)新,致力于為開發(fā)者提供更好、更高效的使用體驗(yàn)。接下來讓我們一起學(xué)習(xí)了解下中的多媒體框架的相關(guān)知識(shí)吧!
多媒體框架介紹結(jié)構(gòu):
相機(jī)()
播放()
音頻(Audio)
一、相機(jī)()
1、相機(jī)框架設(shè)計(jì)目標(biāo):簡(jiǎn)單易用、效果一致、性能優(yōu)先
簡(jiǎn)單易用是指相機(jī)框架從面向用戶、場(chǎng)景和一些功能的高級(jí)API的設(shè)計(jì),去屏蔽一些底層復(fù)雜的硬件操作,從而簡(jiǎn)化應(yīng)用層的編程。
效果一致是指相機(jī)框架通過對(duì)應(yīng)用層接口的統(tǒng)一管控,以及對(duì)廠商擴(kuò)展的歸一,來確保對(duì)所有包含相機(jī)的應(yīng)用提供同樣的展示質(zhì)量和效果。
性能優(yōu)先是指相機(jī)框架通過內(nèi)部軟硬協(xié)同的設(shè)計(jì),提升拍照啟動(dòng)、預(yù)覽和拍照過程中的性能體驗(yàn)。
2、相機(jī)框架介紹:
如下圖所示,左側(cè)綠色模塊是目前已經(jīng)開源或者開放的能力。其中包含一些鏡頭管理能力,例如鏡頭查詢、生命周期管理,除此之外,也將支持一些基礎(chǔ)的預(yù)覽、拍照和錄像功能。
為了進(jìn)一步降低拍照過程中對(duì)于前臺(tái)資源的占用,后期將考慮提供開源和開放的離線拍照的架構(gòu)設(shè)計(jì)。
從分層架構(gòu)的角度,相機(jī)框架的框架層提供了開發(fā)者可以感知的API來簡(jiǎn)化編程,服務(wù)層主要通過一些高性能、高畫質(zhì)的設(shè)計(jì),提升對(duì)開發(fā)者服務(wù)的質(zhì)量和體驗(yàn)效果。
針對(duì)芯片適配層,對(duì)不同廠商的芯片適配接口提供歸一的抽象,做比較兼容的設(shè)計(jì),確保芯片廠商接入系統(tǒng)的時(shí)候花費(fèi)最低的成本,同時(shí)也保證兼容性。
3、工作流程介紹:
下圖是相機(jī)模塊運(yùn)行態(tài)的業(yè)務(wù)流程圖。
當(dāng)需要下發(fā)相機(jī)的命令時(shí),無論是啟動(dòng)預(yù)覽或者預(yù)覽之后的其他命令,再或者是其他變量下發(fā)到底層系統(tǒng)的操作的命令用cs軟件錄制視頻,當(dāng)接收到時(shí),將會(huì)被轉(zhuǎn)化為對(duì)底層的控制,然后再由相機(jī)框架通過一定方式將處理結(jié)果回傳給應(yīng)用和開發(fā)者。
如下圖所示,此流程在代碼實(shí)現(xiàn)上分為五個(gè)步驟:
第一步:創(chuàng)建工作;
第二步:配置輸入鏡頭、輸出流格式;
第三步:?jiǎn)?dòng)會(huì)話;
第四步:操作會(huì)話,變焦、聚焦等操作可在此步驟進(jìn)行控制;
第五步:釋放會(huì)話,此步驟用于釋放所占用的系統(tǒng)資源。
二、播放()
1、播放框架設(shè)計(jì)目標(biāo):低消耗、簡(jiǎn)單易用、靈活擴(kuò)展
低消耗是指播放框架在播放資源的消耗和功耗上是最優(yōu)的。
簡(jiǎn)單易用是指播放框架提供了兩種接口形式:JS和結(jié)合ArkUI提供的UI控件接口,便于開發(fā)者使用。
靈活擴(kuò)展是指播放框架針對(duì)服務(wù)類目的引擎,可增強(qiáng)、可擴(kuò)展、可替換。
2、播放框架介紹:
播放框架主要提供較為通用的,但控制能力豐富的音、視頻的播放和錄制功能。中間件的核心是基于引擎提供各種各樣的服務(wù)的能力。
目前提供了兩套引擎,分別是引擎和引擎,功能都比較齊全。
在硬件適配層,即HDF層,提供兼容設(shè)計(jì)。播放框架內(nèi)部輕量化的引擎,基于傳統(tǒng)的,通過插件化機(jī)制增強(qiáng)相關(guān)的音視頻的編解碼和解析能力,該引擎最典型的特征就是小。當(dāng)開發(fā)者使用的時(shí)候,播放MP3,最低可做到600K以下。
另外引擎本身可跨多系統(tǒng)支持。除此之外,MP3,AAC,H264,HTTP,HLS等當(dāng)前常用的音頻格式都是完全支持的,開發(fā)者可以通過一鍵化的方式靈活切換引擎。
三、音頻(Audio)
1、音頻框架設(shè)計(jì)目標(biāo):接口統(tǒng)一、效果一致、高性能、統(tǒng)一焦點(diǎn)控制和架構(gòu)歸一
接口統(tǒng)一是指同一套音頻接口體系,支持不同場(chǎng)景的音頻使用方式,例如音頻低時(shí)延播放、高清音頻和低功耗等。
效果一致是指音頻框架提供給所有應(yīng)用的一致性的效果體驗(yàn)。
高性能是指音頻的低時(shí)延播放。
統(tǒng)一焦點(diǎn)控制是指音頻框架對(duì)音頻播放、錄制的焦點(diǎn)的強(qiáng)管控。
架構(gòu)歸一是指音頻框架適用于大、中、小的各種設(shè)備。
2、音頻框架介紹:
音頻框架主要采用CS的架構(gòu),支持多個(gè)音頻同時(shí)運(yùn)行。
音頻模塊分為三個(gè),分別是Audio 、Audio 、Audio 。
其中,提供了渲染音頻文件和控制播放的接口,開發(fā)者可以通過本接口在輸出設(shè)備中播放音頻文件并管理播放任務(wù)。Audio 提供了獲取原始音頻文件的方法,開發(fā)者可以通過該接口調(diào)用實(shí)現(xiàn)對(duì)音頻數(shù)據(jù)的采集。Audio 提供了音頻流類型、音量、音頻設(shè)備管理等接口,開發(fā)者可以通過調(diào)用該接口實(shí)現(xiàn)對(duì)相關(guān)音頻對(duì)象的管理。
以上是多媒體框架的相關(guān)介紹內(nèi)容,如果您想了解更多關(guān)于相關(guān)知識(shí),請(qǐng)參考應(yīng)用開發(fā)平臺(tái)(/),那里有更多更詳細(xì)的介紹,提供循序漸進(jìn)的學(xué)習(xí)路徑,便于開發(fā)者快速掌握相關(guān)知識(shí),構(gòu)建屬于自己的應(yīng)用,我們期待您的加入。