0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)學習:【媒體引擎組件】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-11 17:16 ? 次閱讀

簡介

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)。
  • 插件層: 包括插件框架,各種插件。

邏輯架構(gòu)圖

插件列表

HiStreamer插件列表如下:

插件名稱路徑外部依賴License功能適用場景
FFMPEG Adapterplugins/ffmpeg_adapterFFMPEGLGPL etc.解封裝:mp3,m4a,mp4,wav 解碼:mp3,aac支持動態(tài)鏈接的 small/standard設(shè)備
File Sourceplugins/source/file_sourceFileSystemApache讀取文件數(shù)據(jù)所有設(shè)備
Minimp3 Adapterplugins/minimp3_adapterminimp3CC0解封裝: mp3 解碼: mp3所有設(shè)備
Minimp4 Demuxerplugins/demuxer/minimp4_demuxerminimp4CC0解封裝: m4a所有設(shè)備
Aac Demuxerplugins/demuxer/aac_demuxerNAApache解封裝: aac所有設(shè)備
HDI Sinkplugins/hdi_adapterAudio HDIApache播放音樂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
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙ArkTS媒體組件:Polygon

    多邊形繪制組件。
    的頭像 發(fā)表于 07-17 15:05 ?215次閱讀
    <b class='flag-5'>鴻蒙</b>ArkTS<b class='flag-5'>媒體</b><b class='flag-5'>組件</b>:Polygon

    鴻蒙ArkTS媒體組件:Line

    直線繪制組件
    的頭像 發(fā)表于 07-17 10:25 ?249次閱讀
    <b class='flag-5'>鴻蒙</b>ArkTS<b class='flag-5'>媒體</b><b class='flag-5'>組件</b>:Line

    鴻蒙ArkTS媒體組件:Polyline

    折線繪制組件。
    的頭像 發(fā)表于 07-17 09:43 ?168次閱讀
    <b class='flag-5'>鴻蒙</b>ArkTS<b class='flag-5'>媒體</b><b class='flag-5'>組件</b>:Polyline

    鴻蒙ArkTS媒體組件:Ellipse

    橢圓繪制組件。
    的頭像 發(fā)表于 07-16 15:20 ?216次閱讀

    鴻蒙OS開發(fā)學習:【尺寸適配實現(xiàn)】

    鴻蒙開發(fā)中,尺寸適配是一個重要的概念,它可以幫助我們在不同屏幕尺寸的設(shè)備上正確顯示和布局我們的應用程序。本文將介紹如何在鴻蒙開發(fā)中實現(xiàn)尺寸適配的方法。
    的頭像 發(fā)表于 04-10 16:05 ?1462次閱讀
    <b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發(fā)</b><b class='flag-5'>學習</b>:【尺寸適配實現(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

    鴻蒙ArkUI開發(fā)-Tabs組件的使用

    鴻蒙ArkUI開發(fā)-Tabs組件的使用
    的頭像 發(fā)表于 01-19 16:01 ?1408次閱讀
    <b class='flag-5'>鴻蒙</b>ArkUI<b class='flag-5'>開發(fā)</b>-Tabs<b class='flag-5'>組件</b>的使用

    鴻蒙開發(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