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