色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

OpenHarmony3.1媒體能力全景

電子發燒友開源社區 ? 來源:HarmonyOS官方合作社區 ? 作者:潤和軟件張漢孟 ? 2022-04-25 09:27 ? 次閱讀

一、背景

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

二、OpenHarmony3.1媒體能力全景

OH技術架構如下圖所示,完成視頻文件播放功能的是多媒體子系統。

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

多媒體子系統框架如下圖所示:

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

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

三、H264視頻播放道路

大象裝進冰箱分幾步,我們來看視頻播放流程:

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

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

根據視頻播放的步驟,我們在OH上每一個環節都能找到對應的插件來完成:

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

2、拿到MP4文件流后,對應的qtdemux插件來解封裝,完成音視頻分流,輸出H264裸碼流和音頻流;

3、拿到H264碼流后,h264parse插件開始切片,輸出H264幀數據;

4、處理H264幀數據,就由avdec_h264插件來完成,一般情況會輸出NV12的像素數據,當然這個解碼器是基于ffmpeg的軟解插件,相信不久各個芯片廠商的硬件加速解碼器都會加進來;

5、至此解碼的工作已經完成,后面就要根據顯示的像素格式、size來對解碼輸出數據進行后處理(轉換、縮放、裁剪等),會有Converter、Scaler、Clip插件來完成;

6、滿足顯示要求后就會使用suRFacesink插件完成送顯。

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

在OH為了更好的用戶體驗,同時也引入了一些解決性能問題的插件,比如multiqueue插件來實現buffer隊列,也使用decodebin高級插件來完成解碼element的選擇。

最終我們可以梳理出來一條播放的pipeline:

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

通過播放OH自帶的圖庫播放本地H264視頻,抓取log,搜索OnElementSetuPCB關鍵字也可以得到播放的pipeline,也進一步驗證了本文的分析。

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

我們也可以使用gst-launch手動創建pipeline來驗證:

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 視頻
    +關注

    關注

    6

    文章

    1947

    瀏覽量

    72950
  • 開源
    +關注

    關注

    3

    文章

    3363

    瀏覽量

    42545
  • OpenHarmony
    +關注

    關注

    25

    文章

    3725

    瀏覽量

    16375
  • 潤和軟件
    +關注

    關注

    1

    文章

    272

    瀏覽量

    883

原文標題:OpenHarmony 3.1 H264 視頻播放之路

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    芯海科技系列OpenHarmony3.1芯片支持智慧生態構建

    隨著OpenHarmony3.1的正式發布,芯海科技作為OpenHarmony生態的重要參與者,及時推出了兩款與系統適配的新品:健康測量CS1262芯片和無線連接CST85F01模組,為智慧生態的構建貢獻了芯海力量。
    的頭像 發表于 12-17 17:25 ?178次閱讀
    芯海科技系列<b class='flag-5'>OpenHarmony3.1</b>芯片支持智慧生態構建

    50萬獎金池!開放原子大賽——第二屆OpenHarmony創新應用挑戰賽正式啟動

    第二屆OpenHarmony創新應用挑戰賽作為開放原子大賽旗下的重要賽項,聚焦 OpenHarmony應用開發,致力提升開發者的動手實踐能力與開發創新應用的能力。 賽項要求開發者
    發表于 10-24 15:40

    基于ArkTS語言的OpenHarmony APP應用開發:多媒體管理2

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

    基于ArkTS語言的OpenHarmony APP應用開發:多媒體管理2

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

    基于ArkTS語言的OpenHarmony APP應用開發:HelloOpenharmony

    1、程序簡介該程序是基于OpenHarmony標準系統編寫的UI應用類:HelloOpenHarmony。本案例是基于API9接口開發。本案例已在OpenHarmony凌蒙派-RK3568開發
    的頭像 發表于 09-15 08:09 ?409次閱讀
    基于ArkTS語言的<b class='flag-5'>OpenHarmony</b> APP應用開發:Hello<b class='flag-5'>Openharmony</b>

    OpenHarmony 3.1版本中,潤和hispark hi3861智能家居套件I2C驅動OLED屏幕的驅動如何改寫?

    目前找到的例程都是基于OpenHarmony1.0或者2.0的,目前使用OpenHarmony3.1.4 release版本的系統后,ssd1306 OLED屏幕的例程和代碼已經調不通了,請問如何解
    發表于 07-11 16:45

    康佳電視攜手華為,展示基于OpenHarmony的鴻鵠媒體創新方案

    在科技日新月異的今天,電視作為家庭娛樂的中心,正經歷著前所未有的變革。6月24日,華為開發者大會上一項引人矚目的創新技術吸引了眾多目光——康佳電視展示的基于OpenHarmony Standard層級的鴻鵠媒體創新方案,標志著智能電視領域邁入了新的發展階段。
    的頭像 發表于 06-24 17:17 ?1812次閱讀

    OpenHarmony南向開發實例:【游戲手柄】

    基于TS擴展的聲明式開發范式編程語言,以及OpenHarmony的分布式能力實現的一個手柄游戲。
    的頭像 發表于 04-17 10:21 ?767次閱讀
    <b class='flag-5'>OpenHarmony</b>南向開發實例:【游戲手柄】

    萬里紅入選《網絡安全行業全景圖(第十一版)》六大一級類別

    近日,國內網絡安全權威媒體安全牛正式發布《網絡安全行業全景圖(第十一版)》(以下簡稱“全景圖”)。
    的頭像 發表于 04-16 10:52 ?559次閱讀
    萬里紅入選《網絡安全行業<b class='flag-5'>全景</b>圖(第十一版)》六大一級類別

    OpenHarmony南向開發案例:【分布式畫板】

    使用OpenHarmony3.1-Release開發的應用。通過OpenHarmony的分布式技術,使多人能夠一起畫畫。
    的頭像 發表于 04-12 14:40 ?1049次閱讀
    <b class='flag-5'>OpenHarmony</b>南向開發案例:【分布式畫板】

    OpenHarmony南向能力征集令

    1、適配過程中缺少哪些接口能力或者南向能力,需要OpenHarmony去補齊的?例如內核、編譯、器件適配、單板適配等; 2、對標linux,需要OpenHarmony提供哪些
    發表于 04-09 15:32

    知語云全景監測技術:現代安全防護的全面解決方案

    大型企業、政府機構還是個人用戶,都可以通過該技術有效提升安全防護能力。例如,在企業內部網絡中部署知語云全景監測技術,可以實時監測員工行為、網絡攻擊等情況,有效防止數據泄露和非法入侵;在政府機構中,該技術
    發表于 02-23 16:40

    無人機全景監測:空域管理的新革命

    。這種實時監測和快速響應的能力,大大提高了空域管理的效率和安全性。 全面覆蓋與高精度數據:無人機全景監測能夠實現對空域的全面覆蓋,不留死角。同時,高清攝像頭和傳感器能夠獲取高精度的影像數據,為管理者
    發表于 02-20 15:23

    淺談兼容 OpenHarmony 的 Flutter

    OpenHarmony SIG 組織在 Gitee 開源了兼容 OpenHarmony 的 Flutter。該組織主要用于孵化 OpenHarmony 相關的開源生態項目。 ? ? ▲ 倉庫地址
    的頭像 發表于 02-02 15:22 ?620次閱讀
    淺談兼容 <b class='flag-5'>OpenHarmony</b> 的 Flutter

    震撼發布!知語云智能科技引領革新,全景反制無人機系統破繭而出!

    了國際先進的無人機反制技術,可對各類無人機進行全面監控和有效反制,為保障公共安全和重要目標安全提供了強有力的支持。 全景反制無人機系統的最大亮點在于其全方位的監控能力。該系統通過先進的雷達和光學設備,可
    發表于 01-30 16:07
    主站蜘蛛池模板: 精品免费久久久久久成人影院| 伊人网中文字幕| 国产伦精品一区二区三区| 中文在线中文资源| 翁用力的抽插| 免费看的一级毛片| 含羞草国产亚洲精品岁国产精品| bl 纯肉 高Hbl被强文| 亚洲精品一二三区-久久| 日本视频中文字幕一区二区| 久久久久毛片免费观看| 国产精品亚洲污污网站入口 | 成人在线免费视频观看| 在线亚洲中文精品第1页| 新妺妺窝人体色WWW| 色久久一个亚洲综合网| 欧美xx69| 免费A级毛片无码鲁大师| 久久99综合国产精品亚洲首页| 国产精品无码亚洲网| 第一次处破女完整版电影| 99热这里只有 精品| 2019天天射干网站| 尤物99久久久合集一区区| 亚洲男同tv| 午夜宅宅伦电影网| 色中色成人论坛| 日韩欧美一区二区三区免费看| 名女躁b久久天天躁| 口内射精颜射极品合集| 久久精品久久久| 久久AV无码AV高潮AV不卡| 国产在线精品亚洲观看不卡欧美| 国产跪地吃黄金喝圣水合集| 电影 qvod| 丰满老熟好大bbbxxx| 成人免费视频在线播放| FREE乌克兰嫩交HD| xxx在线播放| 趁老师睡着吃她的奶水| 草草久久久无码国产专区全集观看|