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

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

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

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

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-11 17:16 ? 次閱讀

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

邏輯架構(gòu)圖

插件列表

HiStreamer插件列表如下:

插件名稱路徑外部依賴License功能適用場(chǎng)景
FFMPEG Adapterplugins/ffmpeg_adapterFFMPEGLGPL etc.解封裝:mp3,m4a,mp4,wav 解碼:mp3,aac支持動(dòng)態(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播放音樂(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

    文章

    181

    瀏覽量

    27393
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2352

    瀏覽量

    42859
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙ArkTS媒體組件:Polygon

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

    鴻蒙ArkTS媒體組件:Line

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

    鴻蒙ArkTS媒體組件:Polyline

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

    鴻蒙ArkTS媒體組件:Ellipse

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

    鴻蒙開發(fā)接口媒體:【@ohos.multimedia.media (媒體服務(wù))】

    媒體子系統(tǒng)為開發(fā)者提供一套簡(jiǎn)單且易于理解的接口,使得開發(fā)者能夠方便接入系統(tǒng)并使用系統(tǒng)的媒體資源。
    的頭像 發(fā)表于 06-06 11:03 ?867次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>接口<b class='flag-5'>媒體</b>:【@ohos.multimedia.media (<b class='flag-5'>媒體</b>服務(wù))】

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

    鴻蒙開發(fā)中,尺寸適配是一個(gè)重要的概念,它可以幫助我們?cè)诓煌聊怀叽绲脑O(shè)備上正確顯示和布局我們的應(yīng)用程序。本文將介紹如何在鴻蒙開發(fā)中實(shí)現(xiàn)尺寸適配的方法。
    的頭像 發(fā)表于 04-10 16:05 ?1757次閱讀
    <b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發(fā)</b><b class='flag-5'>學(xué)習(xí)</b>:【尺寸適配實(shí)現(xiàn)】

    深圳市24年,實(shí)現(xiàn)鴻蒙原生應(yīng)用數(shù)占全國(guó)總量10%以上

    有更多的鴻蒙人才。鴻蒙開發(fā)工程師也將會(huì)迎來(lái)爆發(fā)式的增長(zhǎng),學(xué)習(xí)鴻蒙勢(shì)在必行! ?要從事鴻蒙
    發(fā)表于 03-04 21:42

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開發(fā):【短信服務(wù)】

    、OpenHarmony 多媒體技術(shù)、Napi組件、OpenHarmony內(nèi)核、Harmony南向開發(fā)、鴻蒙項(xiàng)目實(shí)戰(zhàn)等等)鴻蒙(Harmon
    發(fā)表于 03-03 21:29

    鴻蒙媒體開發(fā)【簡(jiǎn)述】

    錄制)、圖片等。 如下圖所示,媒體系統(tǒng)面向應(yīng)用開發(fā)提供音視頻應(yīng)用、圖庫(kù)應(yīng)用的編程框架接口;面向設(shè)備開發(fā)提供對(duì)接不同硬件芯片適配加速功能;中間以服務(wù)形態(tài)提供媒體核心功能和管理機(jī)制。 音
    發(fā)表于 02-28 17:53

    學(xué)習(xí)鴻蒙背后的價(jià)值?星河版開放如何學(xué)習(xí)?

    需要有更多的鴻蒙人才;鴻蒙開發(fā)工程師也將會(huì)迎來(lái)爆發(fā)式的增長(zhǎng)! 所以學(xué)習(xí)鴻蒙勢(shì)在必行,而大部分人都能適合學(xué)
    發(fā)表于 02-22 20:55

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

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

    鴻蒙開發(fā)OpenHarmony組件復(fù)用案例

    ) } }, item => item) } } } 本文主要是對(duì)鴻蒙開發(fā)基礎(chǔ)當(dāng)中的OpenHarmony技術(shù)組件復(fù)用示例, 更多鴻蒙開發(fā)
    發(fā)表于 01-15 17:37

    鴻蒙開發(fā)基礎(chǔ)-Web組件之cookie操作

    }) ... } ... 本文章主要是對(duì)鴻蒙開發(fā)當(dāng)中ArkTS語(yǔ)言的基礎(chǔ)應(yīng)用實(shí)戰(zhàn),Web組件里的cookie操作。更多的鴻蒙應(yīng)用開發(fā)
    發(fā)表于 01-14 21:31

    免費(fèi)學(xué)習(xí)鴻蒙(HarmonyOS)開發(fā),一些地址分享

    國(guó)內(nèi)一流高校。通過(guò)鴻蒙班的設(shè)立,高??梢詾閷W(xué)生提供專業(yè)的鴻蒙OS學(xué)習(xí)環(huán)境和豐富的實(shí)踐機(jī)會(huì),培養(yǎng)出更多的鴻蒙開發(fā)人才,為
    發(fā)表于 01-12 20:48

    鴻蒙基礎(chǔ)開發(fā)實(shí)戰(zhàn)-(ArkTS)像素轉(zhuǎn)換

    的使用。通過(guò)像素轉(zhuǎn)換案例,向開發(fā)者講解了如何使用像素單位設(shè)置組件的尺寸、字體的大小以及不同像素單位之間的轉(zhuǎn)換方法。更多鴻蒙4.0的學(xué)習(xí),可以前往主頁(yè)
    發(fā)表于 01-11 16:53