簡介
HiStreamer是一個輕量級的媒體引擎組件,提供播放、錄制等場景的媒體數據流水線處理。
- 播放場景分為如下幾個節點:數據源讀取、解封裝、解碼、輸出;
- 錄制場景分為如下幾個節點:數據源讀取、編碼、封裝、輸出。
這些節點的具體功能,主要在插件中實現。可以插件的形式擴展支持新的數據源、封裝格式、編解碼格式、輸出方式。
邏輯架構
HiStreamer作為媒體引擎,向上對接player_framework(standard設備上)或者media_lite(mini/small設備上),再對外提供應用API。它內部分為三層:
- 應用場景封裝層: 比如HiPlayer, HiRecorder。
- Pipeline框架層: 包括Pipeline框架,各個Filter節點實現。
- 插件層: 包括插件框架,各種插件。
插件列表
HiStreamer插件列表如下:
插件名稱 | 路徑 | 外部依賴 | License | 功能 | 適用場景 |
---|---|---|---|---|---|
FFMPEG Adapter | plugins/ffmpeg_adapter | FFMPEG | LGPL etc. | 解封裝:mp3,m4a,mp4,wav 解碼:mp3,aac | 支持動態鏈接的 small/standard設備 |
File Source | plugins/source/file_source | FileSystem | Apache | 讀取文件數據 | 所有設備 |
Minimp3 Adapter | plugins/minimp3_adapter | minimp3 | CC0 | 解封裝: mp3 解碼: mp3 | 所有設備 |
Minimp4 Demuxer | plugins/demuxer/minimp4_demuxer | minimp4 | CC0 | 解封裝: m4a | 所有設備 |
Aac Demuxer | plugins/demuxer/aac_demuxer | NA | Apache | 解封裝: aac | 所有設備 |
HDI Sink | plugins/hdi_adapter | Audio HDI | Apache | 播放音樂 | mini/small設備 |
目錄
倉目錄結構如下:
/foundation/multimedia/histreamer # HiStreamer媒體引擎組件業務代碼
├─LICENSE # 證書文件
├─engine # 引擎代碼
│ ├─foundation # 基礎工具類, 包括OS適配
│ ├─include # 為其它模塊調用histreamer暴露必要的頭文件,包括調用pipeline/filter,或者調用插件
│ │ ├─foundation # histreamer基礎工具庫,包括日志打印、Buffer工具、操作系統適配、語言擴展等
│ │ ├─pipeline # pipeline框架的頭文件,主要是pipeline/filter接口
│ │ └─plugin # 插件相關的頭文件
│ │ ├─common # 插件接口依賴的基礎類型頭文件
│ │ └─interface # 插件接口
│ ├─pipeline # pipeline框架
│ │ ├─core # pipeline核心實現
│ │ ├─factory # filter工廠
│ │ └─filters # 若干filter節點實現
│ │ ├─codec # 編解碼節點實現
│ │ ├─common # filters依賴的基礎類型定義
│ │ ├─demux # 解封裝節點實現
│ │ ├─muxer # 封裝節點實現
│ │ ├─sink # 輸出節點實現
│ │ └─source # 數據源節點實現
│ ├─plugin # 插件
│ │ ├─common # 插件接口依賴的基礎類型定義
│ │ ├─core # 插件框架,各個插件的代理類
│ │ └─plugins # 若干插件實現
│ │ ├─codec_adapter # 硬件編解碼適配
│ │ ├─minimp3_adapter # minimp3適配
│ │ ├─ffmpeg_adapter # FFMPEG適配(適配成封裝解封裝、編解碼插件)
│ │ ├─hdi_adapter # HDI適配(適配成輸出插件)
│ │ ├─lite_aac_decoder # 輕量級AAC解碼器插件
│ │ ├─demuxer # 解封裝插件
│ │ ├─sink # 輸出插件
│ │ └─source # 數據源插件
│ └─scene # 播放錄制等場景的封裝實現
│ │ ├─common # 共用的基礎類型定義
│ │ ├─lite # 對接到輕量設備的接口實現
│ │ ├─player # 播放場景實現
│ │ ├─recorder # 錄制場景實現
│ │ └─standard # 對接到標準設備的接口實現
└─interface # 引擎對外接口
審核編輯 黃宇
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
解碼
+關注
關注
0文章
186瀏覽量
27883 -
鴻蒙
+關注
關注
60文章
2620瀏覽量
44043
發布評論請先 登錄
相關推薦
熱點推薦
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財
飛書開源“RTV”富文本組件 重塑鴻蒙應用富文本渲染體驗
更高效的富文本解決方案。 富文本作為內容展示和信息交互的重要形式,在內容創作、辦公協作、教育學習、企業應用等多種復雜業務場景中扮演著重要角色。隨著鴻蒙生態應用類型的不斷豐富,富文本渲染成為各類應用開發過程中不可或缺的基礎能力。

2025開源鴻蒙開發者大會圓滿落幕
近日,開源鴻蒙開發者大會2025(OHDC.2025,簡稱“大會”)在深圳隆重開幕。大會正式發布了開源鴻蒙5.1 Release版本,舉行了開源鴻蒙應用技術
鴻蒙北向開發OpenHarmony5.0 DevEco Studio開發工具安裝與配置
本文介紹OpenHarmony5.0 DevEco Studio開發工具安裝與配置,鴻蒙北向開發入門必備!由觸覺智能Purple Pi OH鴻蒙開發

開源啦!!!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來一起共創
Hello;大家好,我是陳楊。好久沒更新了,首先是自己本職工作比較忙,基本沒時間寫作。其次就是學習技術,自學鴻蒙ArkTS語言已經接近半年了,也算半路出師了,這次將分享我封裝的組件庫,所以有啥講錯
發表于 03-15 15:21
【「極速探索HarmonyOS NEXT 」閱讀體驗】 初印象:一本純血鴻蒙應用開發入門的好書
非常有幸的于近日收到了電子發燒友寄來的《 極速探索HarmonyOS NEXT **** 純血鴻蒙應用開發實踐》這本由清華大學出版社出版的一本純血鴻蒙應用開發
發表于 03-04 12:41
OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發板演示
開源鴻蒙OpenHarmony系統下,修改DPI密度值的方法,觸覺智能Purple Pi OH鴻蒙開發板演示,搭載了瑞芯微RK3566四核處理器,Laval鴻蒙社區推薦

評論