還在手動拼裝播放器、錄屏、錄制、元數(shù)據(jù)解析邏輯?
別急——這份 HarmonyOS Media Kit 文章,就是你通往全場景多媒體開發(fā)的“通關(guān)指南”。
您可以通過這篇文章了解到Media Kit的6大核心功能模塊、典型場景以及基礎(chǔ)流程,【快速上手】零基礎(chǔ)也能秒變“音視頻高手”。
一、概述
Media Kit 讓開發(fā)者可以調(diào)用系統(tǒng)的音視頻能力,涵蓋播放、錄制、錄屏、元數(shù)據(jù)提取與轉(zhuǎn)碼六大核心功能模塊,支撐系統(tǒng)應(yīng)用與第三方應(yīng)用在視頻播放、內(nèi)容創(chuàng)作、教學(xué)錄屏、直播互動等典型場景下的音視頻處理需求。系統(tǒng)框架和各核心功能模塊介紹如下:
核心功能模塊
簡要概述播放長短視頻、錄制、錄屏、元數(shù)據(jù)、轉(zhuǎn)碼的功能描述及典型場景:

簡易架構(gòu)圖
簡要描述鴻蒙系統(tǒng)架構(gòu)、Media Kit提供的服務(wù)以及TOP使用Media Kit 的系統(tǒng)應(yīng)用和三方應(yīng)用

二、Media Kit 的核心亮點
輕量媒體引擎
占用系統(tǒng)資源少(線程、內(nèi)存),支持 pipeline 拼裝、插件化擴(kuò)展(source/demuxer/codec)。
HDR 視頻支持
支持 HDR Vivid 格式采集與播放,提升視覺體驗。
音頻池機(jī)制(SoundPool)
適用于短音效播放場景(如系統(tǒng)提示音、游戲音效等),支持一次加載、多次低延遲播放。
三、Media Kit 六大功能模塊簡介
(1)AVPlayer:播放音視頻
1. 功能簡介
AVPlayer 負(fù)責(zé)將音頻/視頻資源(如 MP4、MP3、MKV、MPEG-TS 等)解碼為可渲染的圖像和音頻信號,并通過輸出設(shè)備播放。
它支持:
音頻播放(如音樂播放器)
視頻播放(如視頻播放器)
2. 視頻播放流程

流程說明:
應(yīng)用從XComponent組件獲取窗口SurfaceID,獲取方式參考XComponent。
應(yīng)用把媒體資源、SurfaceID傳遞給AVPlayer接口。
Player Framework把視頻ES數(shù)據(jù)流輸出給解碼HDI,解碼獲得視頻幀(NV12/NV21/RGBA)。
Player Framework把音頻PCM數(shù)據(jù)流輸出給Audio Framework,Audio Framework輸出給音頻HDI。
Player Framework把視頻幀(NV12/NV21/RGBA)輸出給Graphic Framework,Graphic Framework輸出給顯示HDI。
(2)SoundPool:播放短音頻
1. 功能簡介
SoundPool 專為短音頻播放設(shè)計,適用于提示音、通知音等低延遲、高頻次播放場景。
2. 交互關(guān)系圖

流程說明:
音頻應(yīng)用將媒體資源傳遞給SoundPool接口。
Player Framework將音頻PCM數(shù)據(jù)流輸出給Audio Framework,再由Audio Framework輸出給音頻HDI。
(3)AVRecorder:錄制音視頻
1. 功能簡介
AVRecorder 可實現(xiàn)音頻、視頻、音視頻混合錄制,支持自定義編碼格式、封裝格式等參數(shù)。
2. 交互關(guān)系圖

流程說明:
應(yīng)用通過AVRecorder接口從錄制服務(wù)獲取SurfaceID。
應(yīng)用將SurfaceID設(shè)置給相機(jī)服務(wù),相機(jī)服務(wù)可以通過SurfaceID獲取到Surface。相機(jī)服務(wù)通過視頻HDI捕獲圖像數(shù)據(jù)送至框架層的錄制服務(wù)。
相機(jī)服務(wù)通過Surface將視頻數(shù)據(jù)傳遞給錄制服務(wù)。
錄制服務(wù)將音頻參數(shù)設(shè)置給音頻服務(wù),并從音頻服務(wù)獲取到音頻數(shù)據(jù)。
錄制服務(wù)通過編碼服務(wù)將音視頻數(shù)據(jù)編碼。
(4)AVScreenCapture:屏幕錄制
1. 功能簡介
AVScreenCapture 支持屏幕錄制功能,分為錄屏存文件和錄屏取碼流兩種模式。
2. 交互關(guān)系圖

流程說明:
應(yīng)用通過AVScreenCapture發(fā)起錄屏。
錄屏服務(wù)通過圖形服務(wù)獲取屏幕數(shù)據(jù)。
錄屏服務(wù)將音頻參數(shù)設(shè)置給音頻服務(wù),并從音頻服務(wù)獲取到音頻數(shù)據(jù)。
錄屏服務(wù)通過編碼服務(wù)將音視頻數(shù)據(jù)編碼。
(5)AVMetadataExtractor:獲取音視頻元數(shù)據(jù)/縮略圖
1. 功能簡介
AVMetadataExtractor 用于從音視頻資源中提取元數(shù)據(jù),如標(biāo)題、藝術(shù)家、專輯、時長等信息,從視頻中提取指定時間點的畫面,生成縮略圖。
2. 交互關(guān)系圖

流程說明:
應(yīng)用通過AVMetadataExtractor接口去獲取元數(shù)據(jù)(如標(biāo)題、藝術(shù)家等)/縮略圖。
調(diào)用解封裝/解碼能力獲取相應(yīng)數(shù)據(jù)。
(5)AVMetadataExtractor:獲取音視頻元數(shù)據(jù)/縮略圖
1. 功能簡介
AVTranscoder主要用于將已壓縮編碼的視頻文件按照指定參數(shù)轉(zhuǎn)換為另一種格式的視頻。
2. 交互關(guān)系圖

流程說明:
應(yīng)用通過AVTranscoder接口進(jìn)行視頻文件的格式轉(zhuǎn)換。
調(diào)用AVCodec的封裝解封裝、編解碼服務(wù),將音視頻數(shù)據(jù)按照應(yīng)用配置的新參數(shù)進(jìn)行重新編碼封裝。
四、結(jié)語
Media Kit 提供了一整套音視頻開發(fā)工具鏈,無論你是開發(fā)音樂播放器、視頻播放器、錄音應(yīng)用,還是屏幕錄制工具,都能找到合適的組件來實現(xiàn)功能。
如果你希望打造一款高質(zhì)量、高性能、高兼容性的音視頻應(yīng)用,Media Kit 就是你不可或缺的開發(fā)伙伴。
-
音視頻
+關(guān)注
關(guān)注
4文章
563瀏覽量
31098 -
HarmonyOS
+關(guān)注
關(guān)注
80文章
2144瀏覽量
35256
原文標(biāo)題:【HarmonyOS-媒體技術(shù)-Media Kit】音視頻開發(fā)全棧解析
文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
語音視頻社交背后技術(shù)深度解析
實用調(diào)試技能:全志T113-i 音視頻測試
HarmonyOS音視頻開發(fā)概述
音視頻
音視頻/信號分配器,音視頻/信號分配器是什么意思
企業(yè)如何快速構(gòu)建基于音視頻服務(wù)的業(yè)務(wù)
實時音視頻邁向普惠化 助音視頻社交發(fā)掘更多可能
華為云音視頻質(zhì)量監(jiān)控與優(yōu)化實踐
如何降低開發(fā)門檻助力音視頻創(chuàng)新玩法
如何對鴻蒙生態(tài)產(chǎn)品進(jìn)行音視頻測試
KILOVIEW打造的音視頻全IP化解決方案
音視頻集成是什么 音視頻和視頻有什么區(qū)別
CV-CUDA 助力騰訊云音視頻 PaaS 平臺實現(xiàn)視頻增強(qiáng) AI 全流程 GPU 加速

音視頻開發(fā)全棧解析
評論