99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

OpenHarmony3.1媒體能力全景

電子發(fā)燒友開(kāi)源社區(qū) ? 來(lái)源:HarmonyOS官方合作社區(qū) ? 作者:潤(rùn)和軟件張漢孟 ? 2022-04-25 09:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、背景

在當(dāng)前全民直播時(shí)代,我們每天刷著五花八門(mén)的抖音短視頻,看著各式各樣電視劇、電影以及隨時(shí)映入眼簾的各類(lèi)視頻廣告等等,每天有無(wú)數(shù)的視頻文件被生成、播放。我們的眼球被花里胡哨的視頻瘋狂的沖擊,或無(wú)腦搞笑、或夸張諷刺、或雞湯淋頭、或無(wú)效科普等等,與此同時(shí)我們是否也可以想一想這些個(gè)撩人的視頻是怎么在我們眼前設(shè)備播放出來(lái)的??播放一個(gè)視頻文件對(duì)于OpenHarmony 3.1(以下簡(jiǎn)稱(chēng)OH)來(lái)說(shuō)自然不在話(huà)下,這篇文章將告訴你一個(gè)視頻文件(本文以MP4封裝格式、H264壓縮格式的的視頻文件為例)是怎么在OH的設(shè)備上播放出來(lái)的。

二、OpenHarmony3.1媒體能力全景

OH技術(shù)架構(gòu)如下圖所示,完成視頻文件播放功能的是多媒體子系統(tǒng)。

25e33bce-c430-11ec-bce3-dac502259ad0.png

多媒體子系統(tǒng)框架如下圖所示:

25fe2984-c430-11ec-bce3-dac502259ad0.png

OH拉起了一個(gè)叫mediaserver的服務(wù)來(lái)處理媒體事務(wù),并且封裝了接口層包括JS接口、native接口提供給APP調(diào)用,mediaserver的核心則是引入了gstreamer(以下簡(jiǎn)稱(chēng)gst)框架來(lái)完成媒體功能。gstreamer是一套功能強(qiáng)大、兼容性好、結(jié)構(gòu)清晰的開(kāi)源媒體框架,這里不做贅述,后面有專(zhuān)文解析。OH也在gst的基礎(chǔ)上開(kāi)發(fā)了player engine來(lái)實(shí)現(xiàn)播放,同時(shí)也利用的gst豐富的插件資源實(shí)現(xiàn)幾乎所有的媒體功能,當(dāng)前已移植進(jìn)來(lái)的開(kāi)源插件包括file source、demuxer、video decoder、libav插件等等,當(dāng)然也包括OH自研的video sink、memsink、Codec hdi插件等等。

三、H264視頻播放道路

大象裝進(jìn)冰箱分幾步,我們來(lái)看視頻播放流程:

2632fe5c-c430-11ec-bce3-dac502259ad0.png

播放一個(gè)視頻大致分為4步:
解協(xié)議->解封裝->解壓縮->送顯
播放pipeline

根據(jù)視頻播放的步驟,我們?cè)贠H上每一個(gè)環(huán)節(jié)都能找到對(duì)應(yīng)的插件來(lái)完成:

1、對(duì)于一個(gè)本地視頻文件(比如uri=file:///data/h264-640x480.mp4),對(duì)應(yīng)的filesrc插件來(lái)完成文件的解析,拿到MP4文件流;

2、拿到MP4文件流后,對(duì)應(yīng)的qtdemux插件來(lái)解封裝,完成音視頻分流,輸出H264裸碼流和音頻流;

3、拿到H264碼流后,h264parse插件開(kāi)始切片,輸出H264幀數(shù)據(jù);

4、處理H264幀數(shù)據(jù),就由avdec_h264插件來(lái)完成,一般情況會(huì)輸出NV12的像素?cái)?shù)據(jù),當(dāng)然這個(gè)解碼器是基于ffmpeg的軟解插件,相信不久各個(gè)芯片廠(chǎng)商的硬件加速解碼器都會(huì)加進(jìn)來(lái);

5、至此解碼的工作已經(jīng)完成,后面就要根據(jù)顯示的像素格式、size來(lái)對(duì)解碼輸出數(shù)據(jù)進(jìn)行后處理(轉(zhuǎn)換、縮放、裁剪等),會(huì)有Converter、Scaler、Clip插件來(lái)完成;

6、滿(mǎn)足顯示要求后就會(huì)使用suRFacesink插件完成送顯。

再加上audio的插件解碼出音頻數(shù)據(jù),OH的player會(huì)完成音視頻同步,至此一個(gè)視頻文件就會(huì)播放顯示在屏幕上。

在OH為了更好的用戶(hù)體驗(yàn),同時(shí)也引入了一些解決性能問(wèn)題的插件,比如multiqueue插件來(lái)實(shí)現(xiàn)buffer隊(duì)列,也使用decodebin高級(jí)插件來(lái)完成解碼element的選擇。

最終我們可以梳理出來(lái)一條播放的pipeline:

265fbb72-c430-11ec-bce3-dac502259ad0.png

通過(guò)播放OH自帶的圖庫(kù)播放本地H264視頻,抓取log,搜索OnElementSetuPCB關(guān)鍵字也可以得到播放的pipeline,也進(jìn)一步驗(yàn)證了本文的分析。

2687020e-c430-11ec-bce3-dac502259ad0.png

我們也可以使用gst-launch手動(dòng)創(chuàng)建pipeline來(lái)驗(yàn)證:

gst-launch --gst-plugin-path=/system/lib/media/plugins filesrc location=/data/media/h264.mp4 ! qtdemux ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! surfacememsink

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guā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)注

    6

    文章

    1972

    瀏覽量

    73908
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3678

    瀏覽量

    43811
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3851

    瀏覽量

    18577
  • 潤(rùn)和軟件
    +關(guān)注

    關(guān)注

    1

    文章

    330

    瀏覽量

    1255

原文標(biāo)題:OpenHarmony 3.1 H264 視頻播放之路

文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    萬(wàn)里紅發(fā)布服務(wù)能力全景

    北京萬(wàn)里紅科技有限公司在第12屆中國(guó)國(guó)際警用裝備博覽會(huì)上(5月14日-5月17日),向現(xiàn)場(chǎng)嘉賓和媒體發(fā)布了公司在公安信息化與公共安全領(lǐng)域的技術(shù)實(shí)力與服務(wù)能力,得到了諸多與會(huì)者的肯定。作為行業(yè)標(biāo)桿企業(yè),萬(wàn)里紅構(gòu)建了“一大體系、三大服務(wù)、四大
    的頭像 發(fā)表于 05-26 10:34 ?399次閱讀

    利爾達(dá)RedCap模組通過(guò)OpenHarmony 生態(tài)兼容性測(cè)評(píng)!

    。此次認(rèn)證標(biāo)志著該NR90模組在鴻蒙系統(tǒng)中的技術(shù)適配能力獲得官方認(rèn)可,為工業(yè)物聯(lián)網(wǎng)、智能終端等設(shè)備快速融入鴻蒙生態(tài)提供了關(guān)鍵支持。本次認(rèn)證由OpenHarmony兼容
    的頭像 發(fā)表于 05-23 17:59 ?891次閱讀
    利爾達(dá)RedCap模組通過(guò)<b class='flag-5'>OpenHarmony</b> 生態(tài)兼容性測(cè)評(píng)!

    DuxCam G2S全景相機(jī),提供360°全景測(cè)繪解決方案

    DuxCam G2S是一款采用全局快門(mén)傳感器的高分辨率高幀率全景相機(jī),可用于全天候條件下在各類(lèi)移動(dòng)平臺(tái)上采集全景影像。其采用全新計(jì)算平臺(tái),至高能夠以7200萬(wàn)滿(mǎn)分辨率、20FPS幀速率采集全景
    發(fā)表于 04-07 16:26

    開(kāi)工大吉,深圳觸覺(jué)智能四款產(chǎn)品喜獲開(kāi)源鴻蒙XTS認(rèn)證!

    深圳觸覺(jué)智能繼OpenHarmony3.1版本XTS認(rèn)證后,再次通過(guò)4.1版本XTS認(rèn)證!
    的頭像 發(fā)表于 02-07 17:29 ?357次閱讀
    開(kāi)工大吉,深圳觸覺(jué)智能四款產(chǎn)品喜獲開(kāi)源鴻蒙XTS認(rèn)證!

    芯海科技系列OpenHarmony3.1芯片支持智慧生態(tài)構(gòu)建

    隨著OpenHarmony3.1的正式發(fā)布,芯??萍甲鳛?b class='flag-5'>OpenHarmony生態(tài)的重要參與者,及時(shí)推出了兩款與系統(tǒng)適配的新品:健康測(cè)量CS1262芯片和無(wú)線(xiàn)連接CST85F01模組,為智慧生態(tài)的構(gòu)建貢獻(xiàn)了芯海力量。
    的頭像 發(fā)表于 12-17 17:25 ?536次閱讀
    芯??萍枷盗?b class='flag-5'>OpenHarmony3.1</b>芯片支持智慧生態(tài)構(gòu)建

    華秋電子 | 電子發(fā)燒友亮相OpenHarmony人才生態(tài)大會(huì)2024

    開(kāi)放、協(xié)同、創(chuàng)新的OpenHarmony硬件生態(tài)平臺(tái)。 關(guān)于電子發(fā)燒友 電子發(fā)燒友網(wǎng)(華秋旗下媒體品牌)成立于2009年3月,是國(guó)內(nèi)專(zhuān)業(yè)的電子行業(yè)門(mén)戶(hù)網(wǎng)站,累計(jì)650萬(wàn)+用戶(hù),提供最新電子行業(yè)動(dòng)態(tài)
    發(fā)表于 12-02 09:45

    50萬(wàn)獎(jiǎng)金池!開(kāi)放原子大賽——第二屆OpenHarmony創(chuàng)新應(yīng)用挑戰(zhàn)賽正式啟動(dòng)

    第二屆OpenHarmony創(chuàng)新應(yīng)用挑戰(zhàn)賽作為開(kāi)放原子大賽旗下的重要賽項(xiàng),聚焦 OpenHarmony應(yīng)用開(kāi)發(fā),致力提升開(kāi)發(fā)者的動(dòng)手實(shí)踐能力與開(kāi)發(fā)創(chuàng)新應(yīng)用的能力。 賽項(xiàng)要求開(kāi)發(fā)者
    發(fā)表于 10-24 15:40

    第三屆OpenHarmony技術(shù)大會(huì)星光璀璨、致謝OpenHarmony社區(qū)貢獻(xiàn)者

    10月12日,在上海舉辦的第三屆OpenHarmony技術(shù)大會(huì)上,32家高校OpenHarmony技術(shù)俱樂(lè)部璀璨亮相,30家高校OpenHarmony開(kāi)發(fā)者協(xié)會(huì)盛大啟幕。還分別致謝了年度星光TSG
    的頭像 發(fā)表于 10-21 14:10 ?546次閱讀

    第三屆OpenHarmony技術(shù)大會(huì)在上海成功舉辦

    Mike Milinkovich視頻演講 版本能力逐步完善,OpenHarmony****應(yīng)用開(kāi)發(fā)迎來(lái)新階段 在經(jīng)過(guò)多個(gè)版本的迭代之后,OpenHarmony系統(tǒng)能力不斷完善,在應(yīng)用開(kāi)
    發(fā)表于 10-13 11:14

    這是汽車(chē)360全景控制器上的主板,請(qǐng)問(wèn)圓圈中的原件是什么,起什么作用?

    這是汽車(chē)360全景控制器上的主板,請(qǐng)問(wèn)圓圈中的原件是什么,起什么作用?勞煩大家!
    發(fā)表于 09-27 16:20

    基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開(kāi)發(fā):多媒體管理2

    1、程序介紹本示例展示了視頻組件的基本功能,以及如何控制播放狀態(tài)的相關(guān)能力。包括視頻組件化,全屏化,窗口化,上下輪播視頻等。本實(shí)例使用Video組件,具體如下:進(jìn)入首頁(yè)點(diǎn)擊播放按鍵。點(diǎn)擊視頻播放按鈕
    的頭像 發(fā)表于 09-21 08:06 ?899次閱讀
    基于ArkTS語(yǔ)言的<b class='flag-5'>OpenHarmony</b> APP應(yīng)用開(kāi)發(fā):多<b class='flag-5'>媒體</b>管理2

    基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開(kāi)發(fā):多媒體管理2

    1、程序介紹 本示例展示了視頻組件的基本功能,以及如何控制播放狀態(tài)的相關(guān)能力。包括視頻組件化,全屏化,窗口化,上下輪播視頻等。 本實(shí)例使用Video組件,具體如下: 進(jìn)入首頁(yè)點(diǎn)擊播放按鍵。 點(diǎn)擊視頻
    發(fā)表于 09-20 13:47

    基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開(kāi)發(fā):多媒體管理

    1、程序介紹 本示例展示了視頻組件的基本功能,以及如何控制播放狀態(tài)的相關(guān)能力,包括視頻切換、封面切換、播放、暫停等。 本案例已在OpenHarmony凌蒙派-RK3568開(kāi)發(fā)板驗(yàn)證通過(guò),具體代碼可
    發(fā)表于 09-19 15:50

    基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開(kāi)發(fā):HelloOpenharmony

    1、程序簡(jiǎn)介該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)編寫(xiě)的UI應(yīng)用類(lèi):HelloOpenHarmony。本案例是基于API9接口開(kāi)發(fā)。本案例已在OpenHarmony凌蒙派-RK3568開(kāi)發(fā)
    的頭像 發(fā)表于 09-15 08:09 ?865次閱讀
    基于ArkTS語(yǔ)言的<b class='flag-5'>OpenHarmony</b> APP應(yīng)用開(kāi)發(fā):Hello<b class='flag-5'>Openharmony</b>

    開(kāi)源鴻蒙 編譯OpenHarmony輕量系統(tǒng)QEMU RISC-V版本

    本文將介紹如何為QEMU RISC-V虛擬平臺(tái)構(gòu)建OpenHarmony輕量系統(tǒng)。得益于QEMU的CPU指令集模擬執(zhí)行能力,該方法可以在沒(méi)有開(kāi)發(fā)板的情況下調(diào)試和運(yùn)行OpenHarmony系統(tǒng)源碼。本文介紹的該方法,可以用于
    的頭像 發(fā)表于 07-15 10:36 ?1787次閱讀
    開(kāi)源鴻蒙 編譯<b class='flag-5'>OpenHarmony</b>輕量系統(tǒng)QEMU RISC-V版本