簡(jiǎn)介
HiStreamer是一個(gè)輕量級(jí)的媒體引擎組件,提供播放、錄制等場(chǎng)景的媒體數(shù)據(jù)流水線處理。
- 播放場(chǎng)景分為如下幾個(gè)節(jié)點(diǎn):數(shù)據(jù)源讀取、解封裝、解碼、輸出;
- 錄制場(chǎng)景分為如下幾個(gè)節(jié)點(diǎn):數(shù)據(jù)源讀取、編碼、封裝、輸出。
這些節(jié)點(diǎn)的具體功能,主要在插件中實(shí)現(xiàn)。可以插件的形式擴(kuò)展支持新的數(shù)據(jù)源、封裝格式、編解碼格式、輸出方式。
邏輯架構(gòu)
HiStreamer作為媒體引擎,向上對(duì)接player_framework(standard設(shè)備上)或者media_lite(mini/small設(shè)備上),再對(duì)外提供應(yīng)用API。它內(nèi)部分為三層:
- 應(yīng)用場(chǎng)景封裝層: 比如HiPlayer, HiRecorder。
- Pipeline框架層: 包括Pipeline框架,各個(gè)Filter節(jié)點(diǎn)實(shí)現(xiàn)。
- 插件層: 包括插件框架,各種插件。

插件列表
HiStreamer插件列表如下:
| 插件名稱 | 路徑 | 外部依賴 | License | 功能 | 適用場(chǎng)景 |
|---|---|---|---|---|---|
| FFMPEG Adapter | plugins/ffmpeg_adapter | FFMPEG | LGPL etc. | 解封裝:mp3,m4a,mp4,wav 解碼:mp3,aac | 支持動(dòng)態(tài)鏈接的 small/standard設(shè)備 |
| File Source | plugins/source/file_source | FileSystem | Apache | 讀取文件數(shù)據(jù) | 所有設(shè)備 |
| Minimp3 Adapter | plugins/minimp3_adapter | minimp3 | CC0 | 解封裝: mp3 解碼: mp3 | 所有設(shè)備 |
| Minimp4 Demuxer | plugins/demuxer/minimp4_demuxer | minimp4 | CC0 | 解封裝: m4a | 所有設(shè)備 |
| Aac Demuxer | plugins/demuxer/aac_demuxer | NA | Apache | 解封裝: aac | 所有設(shè)備 |
| HDI Sink | plugins/hdi_adapter | Audio HDI | Apache | 播放音樂(lè) | mini/small設(shè)備 |
目錄
倉(cāng)目錄結(jié)構(gòu)如下:
/foundation/multimedia/histreamer # HiStreamer媒體引擎組件業(yè)務(wù)代碼
├─LICENSE # 證書文件
├─engine # 引擎代碼
│ ├─foundation # 基礎(chǔ)工具類, 包括OS適配
│ ├─include # 為其它模塊調(diào)用histreamer暴露必要的頭文件,包括調(diào)用pipeline/filter,或者調(diào)用插件
│ │ ├─foundation # histreamer基礎(chǔ)工具庫(kù),包括日志打印、Buffer工具、操作系統(tǒng)適配、語(yǔ)言擴(kuò)展等
│ │ ├─pipeline # pipeline框架的頭文件,主要是pipeline/filter接口
│ │ └─plugin # 插件相關(guān)的頭文件
│ │ ├─common # 插件接口依賴的基礎(chǔ)類型頭文件
│ │ └─interface # 插件接口
│ ├─pipeline # pipeline框架
│ │ ├─core # pipeline核心實(shí)現(xiàn)
│ │ ├─factory # filter工廠
│ │ └─filters # 若干filter節(jié)點(diǎn)實(shí)現(xiàn)
│ │ ├─codec # 編解碼節(jié)點(diǎn)實(shí)現(xiàn)
│ │ ├─common # filters依賴的基礎(chǔ)類型定義
│ │ ├─demux # 解封裝節(jié)點(diǎn)實(shí)現(xiàn)
│ │ ├─muxer # 封裝節(jié)點(diǎn)實(shí)現(xiàn)
│ │ ├─sink # 輸出節(jié)點(diǎn)實(shí)現(xiàn)
│ │ └─source # 數(shù)據(jù)源節(jié)點(diǎn)實(shí)現(xiàn)
│ ├─plugin # 插件
│ │ ├─common # 插件接口依賴的基礎(chǔ)類型定義
│ │ ├─core # 插件框架,各個(gè)插件的代理類
│ │ └─plugins # 若干插件實(shí)現(xiàn)
│ │ ├─codec_adapter # 硬件編解碼適配
│ │ ├─minimp3_adapter # minimp3適配
│ │ ├─ffmpeg_adapter # FFMPEG適配(適配成封裝解封裝、編解碼插件)
│ │ ├─hdi_adapter # HDI適配(適配成輸出插件)
│ │ ├─lite_aac_decoder # 輕量級(jí)AAC解碼器插件
│ │ ├─demuxer # 解封裝插件
│ │ ├─sink # 輸出插件
│ │ └─source # 數(shù)據(jù)源插件
│ └─scene # 播放錄制等場(chǎng)景的封裝實(shí)現(xiàn)
│ │ ├─common # 共用的基礎(chǔ)類型定義
│ │ ├─lite # 對(duì)接到輕量設(shè)備的接口實(shí)現(xiàn)
│ │ ├─player # 播放場(chǎng)景實(shí)現(xiàn)
│ │ ├─recorder # 錄制場(chǎng)景實(shí)現(xiàn)
│ │ └─standard # 對(duì)接到標(biāo)準(zhǔn)設(shè)備的接口實(shí)現(xiàn)
└─interface # 引擎對(duì)外接口
審核編輯 黃宇
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
解碼
+關(guān)注
關(guān)注
0文章
189瀏覽量
28714 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2963瀏覽量
45883
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
花椒直播首次開(kāi)源推流器組件 為鴻蒙開(kāi)發(fā)者提供高性能推流解決方案
器。該工具基于花椒直播自主通用多媒體框架HJMedia打造而來(lái),采用創(chuàng)新的通用多媒體框架設(shè)計(jì),以高度模塊化、可擴(kuò)展的插件化架構(gòu),極大提升了音視頻功能開(kāi)發(fā)效率與整體的資源利用率,為開(kāi)發(fā)者
基于開(kāi)源鴻蒙的AVPlayer視頻播控開(kāi)發(fā)樣例
在開(kāi)源鴻蒙生態(tài)建設(shè)中,多媒體能力是構(gòu)建豐富用戶體驗(yàn)的核心要素。本開(kāi)發(fā)樣例基于AVPlayer實(shí)現(xiàn),AvPlayer支持流媒體和本地資源解析、媒體
基于開(kāi)源鴻蒙的視頻播放開(kāi)發(fā)樣例
在開(kāi)源鴻蒙生態(tài)建設(shè)中,多媒體能力是構(gòu)建豐富用戶體驗(yàn)的核心要素。本開(kāi)發(fā)樣例針對(duì)視頻播放場(chǎng)景,聚焦開(kāi)源鴻蒙原生媒體框架,通過(guò)Video
鴻蒙非侵入式彈窗新解法,企查查正式開(kāi)源“QuickDialog”彈窗組件庫(kù)
近日,企查查將其自研的鴻蒙彈窗組件庫(kù)“QuickDialog”開(kāi)源,并上線至?OpenHarmony 三方庫(kù)中心倉(cāng)。這是鴻蒙生態(tài)首個(gè)支持“彈窗堆棧暫存能力”的非侵入式彈窗解決方案,憑借其靈活、高效
蜻蜓FM開(kāi)源“SmartXPlayer”音頻播放組件,打造鴻蒙多端音頻播放新引擎
近日,由蜻蜓FM研發(fā)的音頻播放組件“SmartXPlayer”正式開(kāi)源并上線 OpenHarmony 三方庫(kù)中心倉(cāng)。作為一款專為鴻蒙多端場(chǎng)景打造的音頻播放引擎,SmartXPlayer基于鴻蒙
【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù)
【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)
【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐
【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
飛書開(kāi)源“RTV”富文本組件 重塑鴻蒙應(yīng)用富文本渲染體驗(yàn)
更高效的富文本解決方案。 富文本作為內(nèi)容展示和信息交互的重要形式,在內(nèi)容創(chuàng)作、辦公協(xié)作、教育學(xué)習(xí)、企業(yè)應(yīng)用等多種復(fù)雜業(yè)務(wù)場(chǎng)景中扮演著重要角色。隨著鴻蒙生態(tài)應(yīng)用類型的不斷豐富,富文本渲染成為各類應(yīng)用開(kāi)發(fā)過(guò)程中不可或缺的基礎(chǔ)能力。
開(kāi)鴻開(kāi)發(fā)板深度體驗(yàn):從開(kāi)源鴻蒙開(kāi)發(fā)到AI場(chǎng)景實(shí)踐
開(kāi)鴻開(kāi)發(fā)板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC體驗(yàn)開(kāi)源鴻蒙能力學(xué)習(xí)開(kāi)源鴻蒙開(kāi)發(fā)●●●搭載K
鴻蒙5開(kāi)發(fā)寶藏案例分享---Swiper組件性能優(yōu)化實(shí)戰(zhàn)
鴻蒙寶藏:Swiper組件性能優(yōu)化實(shí)戰(zhàn),告別卡頓丟幀!
大家好!最近在鴻蒙開(kāi)發(fā)時(shí),偶然發(fā)現(xiàn)了官方文檔里埋藏的 性能優(yōu)化寶藏案例 ,尤其是<span class=\"
發(fā)表于 06-12 17:53
HarmonyOS實(shí)戰(zhàn):組件化項(xiàng)目搭建
前言 鴻蒙應(yīng)用開(kāi)發(fā)已經(jīng)成為互聯(lián)網(wǎng)新的風(fēng)口,開(kāi)發(fā)鴻蒙軟件已經(jīng)成為今年工作的核心目標(biāo)。在軟件開(kāi)發(fā)過(guò)程中,對(duì)于復(fù)雜度較大,功能較多的軟件都會(huì)采用
潤(rùn)和軟件旗下潤(rùn)開(kāi)鴻亮相開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025
近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025)于深圳再啟新篇,會(huì)上正式發(fā)布了開(kāi)源鴻蒙5.1 Release版本,并進(jìn)行開(kāi)源鴻蒙應(yīng)用技術(shù)組件
2025開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)圓滿落幕
近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025,簡(jiǎn)稱“大會(huì)”)在深圳隆重開(kāi)幕。大會(huì)正式發(fā)布了開(kāi)源鴻蒙5.1 Release版本,舉行了開(kāi)源鴻蒙應(yīng)用技術(shù)
鴻蒙北向開(kāi)發(fā)OpenHarmony5.0 DevEco Studio開(kāi)發(fā)工具安裝與配置
本文介紹OpenHarmony5.0 DevEco Studio開(kāi)發(fā)工具安裝與配置,鴻蒙北向開(kāi)發(fā)入門必備!由觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)
開(kāi)源啦!!!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來(lái)一起共創(chuàng)
Hello;大家好,我是陳楊。好久沒(méi)更新了,首先是自己本職工作比較忙,基本沒(méi)時(shí)間寫作。其次就是學(xué)習(xí)技術(shù),自學(xué)鴻蒙ArkTS語(yǔ)言已經(jīng)接近半年了,也算半路出師了,這次將分享我封裝的組件庫(kù),所以有啥講錯(cuò)
發(fā)表于 03-15 15:21
鴻蒙開(kāi)發(fā)學(xué)習(xí):【媒體引擎組件】
評(píng)論