在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

為OpenHarmony打造的一款新音視頻引擎——HiStreamer

科技觀點(diǎn) ? 來源:科技觀點(diǎn) ? 作者:科技觀點(diǎn) ? 2022-04-29 18:08 ? 次閱讀

原標(biāo)題:OpenHarmony新音視頻引擎——HiStreamer

OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)是由開放原子開源基金會(OpenAtom Foundation)孵化及運(yùn)營的開源項(xiàng)目,目標(biāo)是面向全場景、全連接、全智能時(shí)代,基于開源的方式,搭建一個智能終端設(shè)備操作系統(tǒng)的框架和平臺,促進(jìn)萬物互聯(lián)產(chǎn)業(yè)的繁榮發(fā)展。面對萬物互聯(lián)時(shí)代種類眾多、且差異巨大的終端設(shè)備,我們?yōu)镺penHarmony打造了一款新的音視頻引擎——HiStreamer。

一、 HiStreamer產(chǎn)生背景

數(shù)字多媒體技術(shù)在過去的數(shù)十年里得到了飛速的發(fā)展,音樂、電話、電視、電影、視頻會議等等,伴隨著我們度過每一天。為了給用戶提供豐富的多媒體處理能力,業(yè)界已經(jīng)有比較成熟的音視頻引擎,比如開源的音視頻引擎GStreamer。為什么我們還要打造一款新的音視頻引擎呢?

隨著萬物互聯(lián)時(shí)代的到來,越來越多的智能化設(shè)備出現(xiàn)在我們的生活中。比如:智能冰箱可以通過屏幕和聲音,告訴人們儲藏的菜品快要過期了;智能閘機(jī)可以通過人臉識別,自動完成檢票工作;智能門鎖可以通過語音和視頻,提升開鎖的效率和安全性......

與PC、手機(jī)等標(biāo)準(zhǔn)(Standard)設(shè)備不同,很多智能化設(shè)備的CPU處理能力比較弱、內(nèi)存也比較小,傳統(tǒng)的音視頻引擎無法支持此類設(shè)備。HiStreamer應(yīng)運(yùn)而生,既支持輕量級的Mini/Small設(shè)備,也支持Standard設(shè)備(目前支持部分功能)。HiStreamer在不斷發(fā)展和完善中,未來將會支持Standard設(shè)備的更多功能。

二、 “管道+插件”,實(shí)現(xiàn)彈性部署

為了支持Mini/Small/Standard設(shè)備,HiStreamer采用管道(Pipeline)和插件(plugin)的軟件架構(gòu),從而可以根據(jù)設(shè)備的硬件和需求差異進(jìn)行彈性部署。HiStreamer把音視頻處理的每個過程抽象成節(jié)點(diǎn),上一個節(jié)點(diǎn)的輸出,作為下一個節(jié)點(diǎn)的輸入,把多個節(jié)點(diǎn)連接起來,整體形成一個管道(Pipeline),完成音視頻的數(shù)據(jù)讀取、解封裝、解碼、輸出的完整流程。同時(shí),插件可以為Pipeline的節(jié)點(diǎn)提供豐富的擴(kuò)展功能,讓HiSteamer的音視頻處理能力更強(qiáng)大。

1. Pipeline框架介紹

為了讓大家理解HiStreamer的Pipeline框架,下面以MP3音頻播放為例講解:

輸入是一個MP3文件,輸出是播放出的音樂,這中間經(jīng)過了很多步驟。

先來看一下MP3文件結(jié)構(gòu):

poYBAGJruTOASdpAAAAM27wnJ9k158.png

圖1 MP3文件結(jié)構(gòu)

MP3文件由ID3 Metadata容器頭和若干MP3 Frame(MP3數(shù)據(jù)幀)構(gòu)成。每個MP3 Frame又由MP3 Header(MP3頭信息)和MP3 Data構(gòu)成。這一系列的MP3 Frame稱為ES Data( Element Stream Data)。

● ID3 Metadata:容器頭,主要包括標(biāo)題、藝術(shù)家、專輯、音軌數(shù)量等。

● MP3 Header:包含MP3 Sync word(標(biāo)識MP3數(shù)據(jù)幀起始位置)和MPEG版本信息等。

● MP3 Data:包含壓縮的音頻信息。

播放MP3文件,首先需要把MP3文件數(shù)據(jù)讀進(jìn)來,然后去掉ID3 Metadata容器頭(即解封裝),再把一系列MP3 Frame解壓縮成PCM(Pulse-Code Modulation)數(shù)據(jù),最后驅(qū)動喇叭發(fā)聲。這個過程按順序可以抽象成如下四個節(jié)點(diǎn):

pYYBAGJruTOAOG1VAAAiSXpEg1k424.png

圖2 MP3音頻播放的Pipeline

1. 輸入節(jié)點(diǎn)(MediaSourceFilter): 讀取MP3原始數(shù)據(jù),傳給下一個節(jié)點(diǎn)。

2. 解封裝節(jié)點(diǎn)(DemuxerFilter): 解析ID3 Metadata容器頭信息,作為后續(xù)節(jié)點(diǎn)的參數(shù)輸入,并且把一幀幀MP3 Frame(即ES Data)傳給后續(xù)的解碼節(jié)點(diǎn)。

3. 解碼節(jié)點(diǎn)(AudioDecoderFilter): 把ES Data解碼成PCM數(shù)據(jù),傳給輸出節(jié)點(diǎn)。

4. 輸出節(jié)點(diǎn)(AudioSinkFilter): 輸出PCM數(shù)據(jù),驅(qū)動喇叭發(fā)聲。

由以上示例可知,HiStreamer通過Pipeline框架把音視頻處理的每個過程抽象成一個個節(jié)點(diǎn)。這些節(jié)點(diǎn)是解耦的,可以靈活拼裝,從而可以根據(jù)業(yè)務(wù)需要拼裝出不同的Pipeline。同時(shí),為了使多個節(jié)點(diǎn)能更好地協(xié)同工作,HiStreamer還支持節(jié)點(diǎn)間的參數(shù)自動協(xié)商。

2. HiStreamer插件介紹

了解了HiStreamer的Pipeline框架后,我們再來看看HiStreamer插件。

HiStreamer的Pipeline框架的很多節(jié)點(diǎn)(比如輸入節(jié)點(diǎn)、解封裝節(jié)點(diǎn)、解碼節(jié)點(diǎn)、輸出節(jié)點(diǎn)等)都支持插件擴(kuò)展。通過插件,節(jié)點(diǎn)的功能變得更加豐富、更加強(qiáng)大。

插件的應(yīng)用場景非常廣泛,比如:

● 媒體格式非常多,且以后還會有新的格式產(chǎn)生,可以通過插件支持新的媒體格式。

● 不同OS平臺或設(shè)備,處理方式存在差異,可以通過插件支持不同的處理方式。

● 不同類型的設(shè)備,需求不同,能提供的CPU/ROM/RAM資源多少也不同,也可以通過插件來支持。

3. 彈性部署

HiStreamer基于管道(Pipeline)和插件(plugin)的軟件架構(gòu),可以根據(jù)設(shè)備的硬件和需求差異實(shí)現(xiàn)彈性部署。

poYBAGJruTSAAYpdAABdizdcPBg701.png

圖3 HiStreamer彈性部署

如圖3所示,Mini設(shè)備(比如音箱),它的CPU處理能力很弱,ROM/RAM資源很少,需要的功能也比較少,只需要音頻播放功能。HiStreamer可以配置成只支持音頻播放,并且選擇輕量級的插件,配置同步解碼模式,減少資源消耗。而Small設(shè)備,CPU處理能力強(qiáng)一些,ROM/RAM空間大一些,需要音頻播放和視頻播放功能。HiStreamer可以配置成支持音視頻播放,并且選擇功能更強(qiáng)的插件。

三、HiStreamer邏輯架構(gòu)

經(jīng)過上面的介紹,我們了解了HiStreamer的“管道+插件”的軟件架構(gòu)。下面我們再來看看HiStreamer的詳細(xì)的邏輯架構(gòu)。

pYYBAGJruTSAPAEOAABi6ACHWnQ384.png

圖4 HiStreamer邏輯架構(gòu)圖

HiStreamer主要由HiStreamer引擎和HiStreamer插件構(gòu)成。

其中,HiStreamer引擎又分為以下四層:

業(yè)務(wù)封裝層:基于Pipeline封裝實(shí)現(xiàn)播放器、錄音機(jī)功能,簡化上層應(yīng)用使用。

Pipeline框架層:提供Pipeline和若干個節(jié)點(diǎn)(輸入、解封裝、解碼和輸出)的實(shí)現(xiàn),支持把多個節(jié)點(diǎn)連接在一起形成Pipeline。

插件管理層:用于插件生命周期管理,支持動態(tài)加載或靜態(tài)鏈接兩種方式使用插件。

工具庫層:提供框架依賴的工具,隔離操作系統(tǒng)差異,提供調(diào)測功能。

HiStreamer插件,則分為平臺軟件插件和廠商硬插件兩類:

平臺軟件插件:由OpenHarmony平臺提供,可跨產(chǎn)品復(fù)用的軟件算法插件。

廠商硬插件:由廠商提供的基于硬件加速的插件,如硬件加速的編解碼插件。

應(yīng)用開發(fā)者可以直接使用現(xiàn)成的插件來實(shí)現(xiàn)多媒體功能,節(jié)省大量的開發(fā)時(shí)間。插件越豐富,HiStreamer的音視頻處理能力會更強(qiáng)大。OpenHarmony歡迎廣大開發(fā)者參與HiStreamer插件的開發(fā),一起來豐富HiStreamer插件!

四、HiStreamer插件開發(fā)及實(shí)例

下面就為大家介紹HiStreamer插件的開發(fā)過程及實(shí)例講解,感興趣的小伙伴們趕緊學(xué)起來,一起參與HiStreamer插件開發(fā)吧~

1. 插件的開發(fā)

HiStreamer插件的開發(fā)主要分為插件定義功能實(shí)現(xiàn)兩個部分。

(1)插件定義

HiStreamer插件是通過PLUGIN_DEFINITION宏來定義的。以輸入插件FileSource為例,定義代碼如下:

poYBAGJruTWAEF0CAACWDcaTwUA091.png

使用PLUGIN_DEFINITION宏定義插件(即上面最后一行代碼)時(shí),傳入了四個參數(shù):

a) 插件名稱:即示例中的“FileSource”。

b) License信息:即示例中的“LicenseType::APACHE_V2”。

c) 插件注冊函數(shù):即示例中的“FileSourceRegister”,該函數(shù)描述了插件基本信息,包括插件對象創(chuàng)建函數(shù),并且還調(diào)用AddPlugin把插件注冊到系統(tǒng)中。

d) 插件反注冊函數(shù):可以傳為空實(shí)現(xiàn)。

(2)功能實(shí)現(xiàn)

實(shí)現(xiàn)插件功能時(shí),需根據(jù)要實(shí)現(xiàn)的插件類型,繼承對應(yīng)插件接口類,并實(shí)現(xiàn)相關(guān)接口。比如實(shí)現(xiàn)輸入插件FileSource,需要繼承SourcePlugin,并實(shí)現(xiàn)SetSource、Read等接口,代碼如下:

pYYBAGJruTaALNxxAAB-yZsWhtc126.png

FileSource插件的完整代碼可參考碼云平臺OpenHarmony項(xiàng)目:

https://gitee.com/openharmony/multimedia_histreamer/tree/master/engine/plugin/plugins/source/file_source

2. 插件的部署

使用PLUGIN_DEFINITION定義的HiStreamer插件,可以是單一功能的插件,也可以是有多個功能的插件包。每個這樣的插件或插件包,可以獨(dú)立編譯成.a或者.so,分別對應(yīng)以下兩種部署方式:

● 靜態(tài)部署:一般用在mini設(shè)備上,插件編譯成靜態(tài)庫.a,鏈接到系統(tǒng)中。

● 動態(tài)部署:一般用在small/standard設(shè)備上,插件編譯成動態(tài)庫.so,放到系統(tǒng)指定目錄下,動態(tài)加載運(yùn)行。

3. 插件的運(yùn)行

插件開發(fā)完成且部署到系統(tǒng)之后,HiStreamer啟動時(shí)就會自動完成插件的注冊。下一步,就是運(yùn)行插件了。

運(yùn)行新實(shí)現(xiàn)的插件,需要先滿足該插件的運(yùn)行條件。比如:FileSource只會在播放本地文件時(shí)運(yùn)行;MP3解碼插件只會在播放MP3文件時(shí)運(yùn)行......

開發(fā)者可以通過日志信息,查看是否運(yùn)行了自己的插件。如果有別的插件注冊到系統(tǒng)中,導(dǎo)致自己的插件無法運(yùn)行時(shí),可以卸載引起干擾的插件。卸載動態(tài)部署的插件,刪除對應(yīng)的.so即可;卸載靜態(tài)部署的插件,需要修改編譯腳本取消對應(yīng)插件的編譯。

五、結(jié)束語

OpenHarmony歡迎廣大開發(fā)者一起加入HiStreamer插件開發(fā),擴(kuò)展自己想要的媒體功能,共同豐富HiStreamer媒體生態(tài)!

同時(shí),預(yù)告大家: HiStreamer的下一個版本將為Standard設(shè)備增強(qiáng)更多功能,敬請期待!

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 音視頻
    +關(guān)注

    關(guān)注

    4

    文章

    514

    瀏覽量

    30337
  • OpenHarmony
    +關(guān)注

    關(guān)注

    26

    文章

    3812

    瀏覽量

    18034
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    達(dá)辰威執(zhí)法音視頻管理平臺全新升級

    在傳統(tǒng)執(zhí)法場景中,海量音視頻數(shù)據(jù)的存儲、分析和監(jiān)管直是難題——無效視頻堆積如山、關(guān)鍵信息難以快速提取、執(zhí)法規(guī)范性缺乏實(shí)時(shí)監(jiān)督……在科技賦能執(zhí)法的時(shí)代背景下,達(dá)辰威科技集團(tuán)推出全新升級的執(zhí)法
    的頭像 發(fā)表于 05-20 15:06 ?171次閱讀

    中國音視頻產(chǎn)業(yè)邁向高質(zhì)量發(fā)展

    隨著超高清先鋒計(jì)劃的逐步推進(jìn),截至2024年底,中國音視頻產(chǎn)業(yè)規(guī)模超5萬億,包括個人消費(fèi)電子、家庭影音娛樂、行業(yè)多媒體應(yīng)用及車載視聽產(chǎn)業(yè)和相關(guān)衍生應(yīng)用等行業(yè)企業(yè)超過百萬家,音視頻產(chǎn)業(yè)已經(jīng)成為國家數(shù)字經(jīng)濟(jì)發(fā)展的重要支柱。
    的頭像 發(fā)表于 04-24 11:10 ?375次閱讀

    音視頻體化解決方案

    隨著數(shù)字化轉(zhuǎn)型加速,音視頻技術(shù)在各行業(yè)深度應(yīng)用,傳統(tǒng)音視頻分散式管理系統(tǒng)面臨多源異構(gòu)設(shè)備接入困難、數(shù)據(jù)孤島林立、運(yùn)維復(fù)雜、協(xié)作效率低下等挑戰(zhàn),各行業(yè)對信息技術(shù)的需求逐漸從單化向集成化、系統(tǒng)化轉(zhuǎn)變
    的頭像 發(fā)表于 04-24 09:14 ?269次閱讀

    實(shí)用調(diào)試技能:全志T113-i 音視頻測試

    前言:音視頻功能是現(xiàn)代嵌入式系統(tǒng)中的核心應(yīng)用之,尤其在全志T113-i開發(fā)板中,其豐富的音視頻接口開發(fā)者提供了強(qiáng)大的開發(fā)能力。本篇文章將帶你快速掌握T113-i平臺下
    的頭像 發(fā)表于 03-06 08:31 ?1206次閱讀
    實(shí)用調(diào)試技能:全志T113-i <b class='flag-5'>音視頻</b>測試

    音視頻 4K 高清傳輸,HDMI 光端機(jī)成 LED 屏監(jiān)控、多場景傳輸利器

    全面解析 HDMI 光端機(jī) 4K 音視頻多發(fā)多收 LED 屏監(jiān)控 USB 鍵鼠光纖網(wǎng)線傳輸收發(fā)器 在數(shù)字化時(shí)代,信息傳輸?shù)母咝耘c穩(wěn)定性至關(guān)重要。HDMI 光端機(jī) 4K 音視頻多發(fā)多收 LED 屏
    的頭像 發(fā)表于 02-19 20:54 ?338次閱讀
    <b class='flag-5'>音視頻</b> 4K 高清傳輸,HDMI 光端機(jī)成 LED 屏監(jiān)控、多場景傳輸利器

    RCA接口音視頻傳輸?shù)脑?/a>

    RCA接口音視頻傳輸?shù)脑碇饕谀M信號的傳輸方式。以下是對其傳輸原理的介紹: 、RCA接口的基本結(jié)構(gòu) RCA接口,又稱AV接口或蓮花插座,其結(jié)構(gòu)包括個圓形的插頭和個相應(yīng)的插座
    的頭像 發(fā)表于 02-17 15:36 ?959次閱讀

    RK628H:高端音視頻處理與傳輸芯片詳解

    RK628H是一款集高清音視頻處理與傳輸功能于體的高端芯片,專為滿足現(xiàn)代多媒體設(shè)備對高分辨率、高幀率視頻以及高質(zhì)量音頻的需求而設(shè)計(jì)。其強(qiáng)大的音視頻
    的頭像 發(fā)表于 02-10 17:56 ?990次閱讀

    電子助力閃極科技發(fā)布音視頻AI眼鏡

    日前,閃極科技發(fā)布 “閃極 A1 拍拍鏡”。這是一款音視頻AI眼鏡,搭載國產(chǎn)紫光展銳去蜂窩平臺,內(nèi)置1600萬索尼高清攝像頭。旅行、日常,輕觸鏡腿即可拍照攝像,解放雙手,所見即拍,無感出行。
    的頭像 發(fā)表于 01-06 10:49 ?629次閱讀
    艾<b class='flag-5'>為</b>電子助力閃極科技發(fā)布<b class='flag-5'>音視頻</b>AI眼鏡

    國科微榮獲音視頻領(lǐng)域關(guān)鍵技術(shù)突破等獎

    近日,第五屆“馬欄山杯”國際音視頻算法大賽-2024音視頻領(lǐng)域關(guān)鍵技術(shù)突破獎揭曉,國科微8K超高清視頻系列芯片憑借優(yōu)異的產(chǎn)品性能及示范性應(yīng)用獲評等獎。
    的頭像 發(fā)表于 12-26 15:11 ?522次閱讀

    AMS-HE200:HDMI音視頻網(wǎng)絡(luò)延長器,開啟傳輸新時(shí)代

    傳輸領(lǐng)域的領(lǐng)軍企業(yè),憑借其強(qiáng)大的技術(shù)實(shí)力和創(chuàng)新能力,推出了全新的AMS-HE200 HDMI音視頻網(wǎng)絡(luò)延長器,旨在為用戶帶來更加高效、穩(wěn)定、便捷的傳輸體驗(yàn)。 、產(chǎn)品亮點(diǎn)? AMS-HE200作為一款高性能的HDMI
    的頭像 發(fā)表于 11-27 10:04 ?492次閱讀
    AMS-HE200:HDMI<b class='flag-5'>音視頻</b>網(wǎng)絡(luò)延長器,開啟傳輸新時(shí)代

    Amoonsky創(chuàng)新音視頻連接技術(shù):全新推出AMS-HE200 HDMI網(wǎng)線延長器

    系統(tǒng),也被稱為200M KVM延長器器,承諾超越傳統(tǒng)限制,HDMI音視頻信號提供無縫、可靠且擴(kuò)展的傳輸距離。 從在廣闊距離上傳輸高質(zhì)量內(nèi)容到支持多種信號傳輸模式,AMS-HE200凝聚了尖端技術(shù)的精髓。其無縫橋接設(shè)備的能力憑借純硬件設(shè)計(jì),標(biāo)志著
    的頭像 發(fā)表于 10-24 16:09 ?442次閱讀
    Amoonsky創(chuàng)新<b class='flag-5'>音視頻</b>連接技術(shù):全新推出AMS-HE200 HDMI網(wǎng)線延長器

    dm368錄制音視頻后用vlc播放不同步是怎么回事?

    目前我們用其他的開發(fā)板 能夠錄制音視頻,但是用vlc播放的時(shí)候發(fā)現(xiàn)每次都是視頻播放完成了音頻還要播放會,隨著錄制時(shí)間加上,延后的這個時(shí)間也會變長 請問有知道怎么回事的嗎?
    發(fā)表于 10-15 06:56

    盤點(diǎn)那些常見音視頻接口

    我們熟知的些常見音視頻接口,發(fā)展至今在日常使用中已經(jīng)漸漸少了。但是在工業(yè)領(lǐng)域的音視頻連接,依然能看到其身影。這些看似消失的接口,它們現(xiàn)在發(fā)展成什么樣子了?本期我們將做個大盤點(diǎn)。
    的頭像 發(fā)表于 09-09 14:34 ?1019次閱讀

    常見音視頻接口的靜電浪涌防護(hù)和濾波方案

    音視頻接口在現(xiàn)代多媒體設(shè)備中扮演著至關(guān)重要的角色,它們確保了音視頻信號在不同設(shè)備間的順暢傳輸,各種類型的音視頻接口滿足了多樣化的應(yīng)用場景需求。 在音視頻接口的設(shè)計(jì)領(lǐng)域,靜電浪涌防護(hù)與濾
    的頭像 發(fā)表于 06-25 11:28 ?1066次閱讀

    音視頻IP化浪潮全面來襲,分布式系統(tǒng)開創(chuàng)音視頻行業(yè)新時(shí)代!

    在傳統(tǒng)音視頻頻系統(tǒng)中,廠商們各自采用不同的通訊方式和控制協(xié)議,這使得不同的產(chǎn)品之間就像座座的信息孤島,要連接起來就需要復(fù)雜的轉(zhuǎn)換設(shè)備和系統(tǒng)再開發(fā)。隨著音視頻項(xiàng)目的規(guī)模不斷擴(kuò)大,各類音頻設(shè)備產(chǎn)品
    的頭像 發(fā)表于 05-30 16:55 ?878次閱讀
    主站蜘蛛池模板: 成人影院在线观看视频 | 在线观看886影院成人影院 | 美女被艹视频网站 | 97久久综合九色综合 | 国内精品久久久久影院薰衣草 | 久久久久久噜噜噜久久久精品 | 波多野结衣久久国产精品 | 欧美一区二区三区免费 | aaaa级日本片免费视频 | 成人a毛片手机免费播放 | 国产在线观看网址你懂得 | 亚洲国产精品综合久久网络 | 亚洲一区二区三区电影 | 国产午夜精品一区二区理论影院 | 色婷婷久久综合中文久久蜜桃 | 羞羞漫画喷水漫画yy漫画 | 182.t v香蕉人人网站 | 五月婷六月婷婷 | 视频在线精品 | 正在播放国产女免费 | 亚洲综合精品香蕉久久网97 | 天天看天天碰 | 极品吹潮视频大喷潮tv | 国内视频一区 | 久久影院朴妮唛 | 么公的好大好硬好深好爽在线视频 | 中文字幕色综合久久 | 激情伦成人综合小说 | 久久久久99精品成人片三人毛片 | 四虎最新网站 | 精品国产免费观看一区高清 | 亚洲色网址| 色婷婷影院在线视频免费播放 | 亚洲欧美色鬼久久综合 | 成色视频 | 狼色网| 免费三级毛片 | 亚洲欧洲国产精品你懂的 | 一区二区视频 | 国产chinesetube | 免费国产成人α片 |