簡介
HiStreamer是一個輕量級的媒體引擎組件,提供播放、錄制等場景的媒體數(shù)據(jù)流水線處理。
- 播放場景分為如下幾個節(jié)點:數(shù)據(jù)源讀取、解封裝、解碼、輸出;
- 錄制場景分為如下幾個節(jié)點:數(shù)據(jù)源讀取、編碼、封裝、輸出。
這些節(jié)點的具體功能,主要在插件中實現(xiàn)??梢圆寮男问綌U展支持新的數(shù)據(jù)源、封裝格式、編解碼格式、輸出方式。
邏輯架構(gòu)
HiStreamer作為媒體引擎,向上對接player_framework(standard設(shè)備上)或者media_lite(mini/small設(shè)備上),再對外提供應用API。它內(nèi)部分為三層:
- 應用場景封裝層: 比如HiPlayer, HiRecorder。
- Pipeline框架層: 包括Pipeline框架,各個Filter節(jié)點實現(xiàn)。
- 插件層: 包括插件框架,各種插件。
插件列表
HiStreamer插件列表如下:
插件名稱 | 路徑 | 外部依賴 | License | 功能 | 適用場景 |
---|---|---|---|---|---|
FFMPEG Adapter | plugins/ffmpeg_adapter | FFMPEG | LGPL etc. | 解封裝:mp3,m4a,mp4,wav 解碼:mp3,aac | 支持動態(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 | 播放音樂 | mini/small設(shè)備 |
目錄
倉目錄結(jié)構(gòu)如下:
/foundation/multimedia/histreamer # HiStreamer媒體引擎組件業(yè)務代碼
├─LICENSE # 證書文件
├─engine # 引擎代碼
│ ├─foundation # 基礎(chǔ)工具類, 包括OS適配
│ ├─include # 為其它模塊調(diào)用histreamer暴露必要的頭文件,包括調(diào)用pipeline/filter,或者調(diào)用插件
│ │ ├─foundation # histreamer基礎(chǔ)工具庫,包括日志打印、Buffer工具、操作系統(tǒng)適配、語言擴展等
│ │ ├─pipeline # pipeline框架的頭文件,主要是pipeline/filter接口
│ │ └─plugin # 插件相關(guān)的頭文件
│ │ ├─common # 插件接口依賴的基礎(chǔ)類型頭文件
│ │ └─interface # 插件接口
│ ├─pipeline # pipeline框架
│ │ ├─core # pipeline核心實現(xiàn)
│ │ ├─factory # filter工廠
│ │ └─filters # 若干filter節(jié)點實現(xiàn)
│ │ ├─codec # 編解碼節(jié)點實現(xiàn)
│ │ ├─common # filters依賴的基礎(chǔ)類型定義
│ │ ├─demux # 解封裝節(jié)點實現(xiàn)
│ │ ├─muxer # 封裝節(jié)點實現(xiàn)
│ │ ├─sink # 輸出節(jié)點實現(xiàn)
│ │ └─source # 數(shù)據(jù)源節(jié)點實現(xiàn)
│ ├─plugin # 插件
│ │ ├─common # 插件接口依賴的基礎(chǔ)類型定義
│ │ ├─core # 插件框架,各個插件的代理類
│ │ └─plugins # 若干插件實現(xiàn)
│ │ ├─codec_adapter # 硬件編解碼適配
│ │ ├─minimp3_adapter # minimp3適配
│ │ ├─ffmpeg_adapter # FFMPEG適配(適配成封裝解封裝、編解碼插件)
│ │ ├─hdi_adapter # HDI適配(適配成輸出插件)
│ │ ├─lite_aac_decoder # 輕量級AAC解碼器插件
│ │ ├─demuxer # 解封裝插件
│ │ ├─sink # 輸出插件
│ │ └─source # 數(shù)據(jù)源插件
│ └─scene # 播放錄制等場景的封裝實現(xiàn)
│ │ ├─common # 共用的基礎(chǔ)類型定義
│ │ ├─lite # 對接到輕量設(shè)備的接口實現(xiàn)
│ │ ├─player # 播放場景實現(xiàn)
│ │ ├─recorder # 錄制場景實現(xiàn)
│ │ └─standard # 對接到標準設(shè)備的接口實現(xiàn)
└─interface # 引擎對外接口
審核編輯 黃宇
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
解碼
+關(guān)注
關(guān)注
0文章
175瀏覽量
27286 -
鴻蒙
+關(guān)注
關(guān)注
56文章
2267瀏覽量
42481
發(fā)布評論請先 登錄
相關(guān)推薦
鴻蒙OS開發(fā)學習:【尺寸適配實現(xiàn)】
在鴻蒙開發(fā)中,尺寸適配是一個重要的概念,它可以幫助我們在不同屏幕尺寸的設(shè)備上正確顯示和布局我們的應用程序。本文將介紹如何在鴻蒙開發(fā)中實現(xiàn)尺寸適配的方法。
深圳市24年,實現(xiàn)鴻蒙原生應用數(shù)占全國總量10%以上
有更多的鴻蒙人才。鴻蒙開發(fā)工程師也將會迎來爆發(fā)式的增長,學習鴻蒙勢在必行!
?要從事鴻蒙
發(fā)表于 03-04 21:42
鴻蒙實戰(zhàn)項目開發(fā):【短信服務】
、OpenHarmony 多媒體技術(shù)、Napi組件、OpenHarmony內(nèi)核、Harmony南向開發(fā)、鴻蒙項目實戰(zhàn)等等)鴻蒙(Harmon
發(fā)表于 03-03 21:29
鴻蒙媒體開發(fā)【簡述】
錄制)、圖片等。
如下圖所示,媒體系統(tǒng)面向應用開發(fā)提供音視頻應用、圖庫應用的編程框架接口;面向設(shè)備開發(fā)提供對接不同硬件芯片適配加速功能;中間以服務形態(tài)提供媒體核心功能和管理機制。
音
發(fā)表于 02-28 17:53
學習鴻蒙背后的價值?星河版開放如何學習?
需要有更多的鴻蒙人才;鴻蒙開發(fā)工程師也將會迎來爆發(fā)式的增長!
所以學習鴻蒙勢在必行,而大部分人都能適合學
發(fā)表于 02-22 20:55
鴻蒙開發(fā)OpenHarmony組件復用案例
)
}
}, item => item)
}
}
}
本文主要是對鴻蒙開發(fā)基礎(chǔ)當中的OpenHarmony技術(shù)組件復用示例, 更多鴻蒙開發(fā)
發(fā)表于 01-15 17:37
鴻蒙開發(fā)基礎(chǔ)-Web組件之cookie操作
})
...
}
...
本文章主要是對鴻蒙開發(fā)當中ArkTS語言的基礎(chǔ)應用實戰(zhàn),Web組件里的cookie操作。更多的鴻蒙應用開發(fā)技
發(fā)表于 01-14 21:31
免費學習鴻蒙(HarmonyOS)開發(fā),一些地址分享
國內(nèi)一流高校。通過鴻蒙班的設(shè)立,高??梢詾閷W生提供專業(yè)的鴻蒙OS學習環(huán)境和豐富的實踐機會,培養(yǎng)出更多的鴻蒙開發(fā)人才,為
發(fā)表于 01-12 20:48
鴻蒙基礎(chǔ)開發(fā)實戰(zhàn)-(ArkTS)像素轉(zhuǎn)換
的使用。通過像素轉(zhuǎn)換案例,向開發(fā)者講解了如何使用像素單位設(shè)置組件的尺寸、字體的大小以及不同像素單位之間的轉(zhuǎn)換方法。更多鴻蒙4.0的學習,可以前往主頁
發(fā)表于 01-11 16:53
鴻蒙 OS 應用開發(fā)初體驗
大家對華為生態(tài)的應用開發(fā)感興趣或者想深入學習借鑒華為做 OS 和物聯(lián)網(wǎng)的思路,鴻蒙系統(tǒng)就是一個標桿。
轉(zhuǎn)自【巫山老妖】
發(fā)表于 11-02 19:38
評論