国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

迅為IMX8MM開(kāi)發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)

發(fā)布者:Zhenai5201314最新更新時(shí)間:2025-04-14 來(lái)源: cnblogs 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

1 Gstreamer 的特點(diǎn)
gstreamer 是一個(gè)媒體框架,可以實(shí)現(xiàn)采集,編碼,解碼,渲染,濾鏡等一條龍的媒體解決方案。
? 用命令行工具進(jìn)行測(cè)試驗(yàn)證,還可以通過(guò)代碼框架直接封裝命令來(lái)做工程開(kāi)發(fā),這一點(diǎn) ffmpeg 是不具備的
? Gstreamer 是 glib 實(shí)現(xiàn)的,跨平臺(tái)的實(shí)現(xiàn),windows,linux,androd,ios,macos 官方原生支持,而且官方發(fā)布了 windows,linux,androd,ios 二進(jìn)制包,如果沒(méi)有特別需求,可以直接拿發(fā)布二進(jìn)制包集成使用。而 ffmpeg想支持 android,ios,就需要自己做交叉編譯了。
? Gstreamer 采用插件實(shí)現(xiàn)方式,根據(jù)業(yè)務(wù)需要可以靈活裁剪插件,可以將發(fā)布包做的非常小,特別適合在嵌入式和移動(dòng)端等應(yīng)用領(lǐng)域。
? Gstreamer 采用 glib 實(shí)現(xiàn),用 C 語(yǔ)言來(lái)實(shí)現(xiàn)面向?qū)ο笏季S,完全不是標(biāo)準(zhǔn) C++那一套邏輯,由于要跨平臺(tái),原生的系統(tǒng) API 都是適配封裝了一套,甚至自己實(shí)現(xiàn)隊(duì)列,MAP,容器,協(xié)程,線程,異步操作,不熟悉 glib 的 API 話,代碼理解比較困難
? Gstreamer 采用插件管理各個(gè)模塊,軟件框架比較復(fù)雜,采用了異步,協(xié)程編程模型,進(jìn)一步增加了理解難度。
? gstreamer 用起來(lái)簡(jiǎn)單,但二次開(kāi)發(fā)難度大,因?yàn)榭蚣?,異步,協(xié)程等沒(méi)有像 ffmpeg 代碼用起來(lái)直接和簡(jiǎn)單。
2 gst-inspect-1.0 測(cè)試
gstreamer 開(kāi)發(fā)中,一般開(kāi)發(fā)思路為:尋找命令行實(shí)現(xiàn)--命令行驗(yàn)證--將命令行集成到代碼中---代碼工程化。當(dāng)然如果你要代碼更優(yōu)雅一點(diǎn),可以用命令行用對(duì)應(yīng)的 API 來(lái)實(shí)現(xiàn)。本節(jié)來(lái)總結(jié)一下 gstreamer 的常用使用過(guò)程。
gst-inspect 可以查看插件或者元素,輸入以下命令查看所有元素
gst-inspect-1.0

查看并過(guò)濾相關(guān)元素,輸入以下命令,如下圖所示:

gst-inspect-1.0 |grep xxxx

查看某一個(gè)元素,輸入以下命令,如下圖所示:

gst-inspect-1.0 xxx

輸入以下命令查看黑名單元素,通常某些插件的依賴(lài)庫(kù)不存在,gstreamer 會(huì)將它列入黑名單,不可使用,通過(guò)該命可以追蹤某些異常的插件。

gst-inspect-1.0 -b

3 gstreamer 日志級(jí)別設(shè)置

gst 的日志等級(jí)分為 none(0)error(1) warning(2) info(3) debug(4) log(5)。默認(rèn) gst 的日志等級(jí)為 1,即 error打印,出錯(cuò)時(shí)會(huì)打印。
1)全局日志級(jí)別設(shè)置
如果需要更高級(jí)別打印,修改環(huán)境變量 GST_DEBUG 即可。如需要 warning 級(jí)別打印,配置 exportGST_DEBUG=2 ,如圖所示,在使用 gstreamer 會(huì)有 warning 日志產(chǎn)生。

2)某個(gè)插件日志級(jí)別設(shè)置

set GST_DEBUG=GST_AUTOPLUG:5,GST_ELEMENT_*:4,d3dvideosink:3即自動(dòng)插件為 5,所有元素默認(rèn)為 4,d3dvideosink 元素為 3。
3)日志打印函數(shù)
日志打印函數(shù) GST_ERROR(),GST_WARNING(),GST_INFO(),GST_LOG()和 GST_DEBUG()宏。它們就像 printf 一樣可以接受一些參數(shù)并且它們是使用默種類(lèi)的
4)日志另存為文件,配置環(huán)境變量 GST_DEBUG_FILE=文件路徑。如:Set GST_DEBUG_FILE = C:\test.log。日志就重定向到 C:\test.log 文件里。
5)GST_REGISTRY_UPDATE 環(huán)境變量用來(lái)查找插件是否更新,即是否重新掃描去更新 cache 內(nèi)容,將這個(gè)環(huán)境變量的值設(shè)置成”no”,這樣 gstreamer 框架在初始化的時(shí)候就不會(huì)檢查 plugin 的更新,這樣可以加速啟動(dòng)。
輸入以下命令:
Set GST_REGISTRY_UPDATE=”no”4 播放音頻和視頻
Gplay 是基于 Gstreamer 實(shí)現(xiàn)的音視頻播放器,他能夠自動(dòng)根據(jù)硬件自動(dòng)選擇合適的插件進(jìn)行音視頻播放,運(yùn)行也十分簡(jiǎn)單,我們輸入以下命令播放 mp4 視頻。
gst-play-1.0 /gstreamer/video/1080p_30fps_h265.mp4

 

我們也可以使用 gst-launch 工具播放音視頻,gst-launch 是開(kāi)發(fā)者在開(kāi)發(fā)階段常用的調(diào)試工具,相比Gplay 而言,它更加靈活

我們使用以下命令播放音頻,此時(shí)我們插上耳機(jī)可以聽(tīng)到音樂(lè)。
gst-launch-1.0 filesrc location=/gstreamer/audio/test.mp3 ! id3demux ! queue ! mpegaudioparse ! decodebin !
audioconvert ! audioresample ! pulsesink
我們輸入以下命令播放視頻(沒(méi)有音頻播放)
gst-launch-1.0 filesrc location=/gstreamer/video/1080p_30fps_h265.mp4 typefind=true !
video/quicktime ! aiurdemux ! queue max-size-time=0 ! vpudec ! imxvideoconvert_g2d !
video/x-raw, format=RGB16, width=1024, height=600 ! waylandsink


我們也可以使用 gst-launch 工具播放音視頻,gst-launch 是開(kāi)發(fā)者在開(kāi)發(fā)階段常用的調(diào)試工具,相比Gplay 而言,它更加靈活
我們使用以下命令播放音頻,此時(shí)我們插上耳機(jī)可以聽(tīng)到音樂(lè)。
gst-launch-1.0 filesrc location=/gstreamer/audio/test.mp3 ! id3demux ! queue ! mpegaudioparse ! decodebin !
audioconvert ! audioresample ! pulsesink
我們輸入以下命令播放視頻(沒(méi)有音頻播放)
gst-launch-1.0 filesrc location=/gstreamer/video/1080p_30fps_h265.mp4 typefind=true !
video/quicktime ! aiurdemux ! queue max-size-time=0 ! vpudec ! imxvideoconvert_g2d !
video/x-raw, format=RGB16, width=1024, height=600 ! waylandsink

 

我們同時(shí)播放音頻和視頻,輸入以下命令:

gst-launch-1.0 filesrc location=/gstreamer/video/1080p_30fps_h265.mp4 typefind=true !
video/quicktime ! aiurdemux name=demux demux. ! queue max-size-buffers=0
max-size-time=0 ! vpudec ! imxvideoconvert_g2d ! video/x-raw, format=RGB16, width=1024,
height=600 ! waylandsink demux. ! queue max-size-buffers=0 max-size-time=0
! decodebin ! audioconvert ! audioresample ! pulsesink

 


引用地址:迅為IMX8MM開(kāi)發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)

上一篇:迅為IMX8M mini開(kāi)發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
下一篇:迅為i.MX8M mini開(kāi)發(fā)板Windots QT系統(tǒng)開(kāi)發(fā)環(huán)境搭建

推薦閱讀最新更新時(shí)間:2025-06-28 13:19

IMX6開(kāi)發(fā)板Android應(yīng)用-蜂鳴器測(cè)試
1、開(kāi)啟 iTOP-iMX6 開(kāi)發(fā)板(開(kāi)發(fā)板上運(yùn)行 android6.0 系統(tǒng),經(jīng)測(cè)試證明 APP 在 Android4.4 系統(tǒng)都可以運(yùn)行),使用 OTG 線連接電腦(adb 驅(qū)動(dòng)正常安裝),使用 U 轉(zhuǎn)串連接調(diào)試串口( USB 轉(zhuǎn)串口驅(qū)動(dòng)正常工作),使用軟排線或者 HDMI 線連接屏幕。開(kāi)發(fā)板里面的安卓系統(tǒng)打開(kāi) USB 調(diào)試,并且 USB 配置為 MTP 選項(xiàng),準(zhǔn)備工作完成。 2、打開(kāi) AndroidStudio,點(diǎn)擊工具欄 file- open,打開(kāi) buzzerTest 工程,在紅框那里我們可以看到開(kāi)發(fā)板已經(jīng)被識(shí)別到了,點(diǎn)擊箭頭所指的綠色三角形,項(xiàng)目開(kāi)始運(yùn)行,稍微等待一會(huì),安裝成功。 3 開(kāi)發(fā)板成功安裝 buzzerTs
[單片機(jī)]
<font color='red'>迅</font><font color='red'>為</font>IMX6<font color='red'>開(kāi)發(fā)板</font>Android應(yīng)用-蜂鳴器測(cè)試
-IMX6Q開(kāi)發(fā)-非設(shè)備樹(shù)uboot-修改默認(rèn)環(huán)境變量
iTOP-iMX6 開(kāi)發(fā)板燒寫(xiě)好之后,默認(rèn)是 android 系統(tǒng) 9.7 寸屏幕的系統(tǒng)參數(shù)和屏幕參數(shù)。如下圖。本文檔主要介紹如何修改默認(rèn)啟動(dòng)參數(shù)。 70.1 重要的環(huán)境變量 比較重要的環(huán)境變量或者說(shuō)經(jīng)常使用的環(huán)境變量,已經(jīng)在上圖中的紅色方框中。 主要是:bootsystem、lcdtype 和 bootargs。這些參數(shù)都可以在 uboot 源碼中進(jìn)行設(shè)置。具體文件為:“iTOP-iMX6_android4.4.2/bootable/bootloader/uboot-imx/lib_arm/board.c”文件。 70.2 默認(rèn)啟動(dòng)系統(tǒng)設(shè)置 默認(rèn)啟動(dòng)系統(tǒng)參數(shù)是:bootsystem。打開(kāi)“board.c”文件。搜索關(guān)鍵詞“b
[單片機(jī)]
<font color='red'>迅</font><font color='red'>為</font>-IMX6Q開(kāi)發(fā)-非設(shè)備樹(shù)uboot-修改默認(rèn)環(huán)境變量
IMX6Q開(kāi)發(fā)板QtE5.7編譯(上)
7.2 QtE5.7 編譯 本小節(jié)主要包括以下內(nèi)容: 1 在 Ubuntu16.04 系統(tǒng)下搭建編譯環(huán)境; 2 在 Ubuntu16.04 系統(tǒng)下實(shí)現(xiàn) uboot 和內(nèi)核源碼編譯; 3 在 Ubuntu16.04 系統(tǒng)下實(shí)現(xiàn) QtE5.7 的編譯; 4 在 Ubuntu16.04 系統(tǒng)下實(shí)現(xiàn) QtE5.7 鏡像的打包編譯。 迅為開(kāi)發(fā)板可以支持 QtE5.7 系統(tǒng),將 uboot 和內(nèi)核在同一 Ubuntu 環(huán)境下編譯,有 助于提高開(kāi)發(fā)效率。請(qǐng)注意,在 Ubuntu16.04 下是無(wú)法編譯 Android 系統(tǒng)的,必須要使用 Android 編譯章節(jié)對(duì)應(yīng)的 Ubuntu 系統(tǒng)。 7.2.1 QtE5.7 編譯環(huán)境的兩種搭建方式 7.
[單片機(jī)]
<font color='red'>迅</font><font color='red'>為</font>IMX6Q<font color='red'>開(kāi)發(fā)板</font>QtE5.7編譯(上)
-iMX6ULL開(kāi)發(fā)板-i2c測(cè)試工具
本章節(jié)使用的資料已經(jīng)放到了開(kāi)發(fā)板網(wǎng)盤(pán)資料中,路徑為:11_Linux 系統(tǒng)開(kāi)發(fā)進(jìn)階95_章節(jié)使用資料。 95.1 移植 I2c 測(cè)試工具下載地址 https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/, 這里下載的 4.1 版本,下載完后拷貝后 Ubuntu, 解壓 tar -vxf i2c-tools-4.1.tar.gz, 清理工程,make clean, 導(dǎo)入交叉編譯工具鏈環(huán)境,根據(jù)實(shí)際情況填寫(xiě)路徑:export CC=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/
[單片機(jī)]
<font color='red'>迅</font><font color='red'>為</font>-iMX6ULL<font color='red'>開(kāi)發(fā)板</font>-i2c測(cè)試工具
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車(chē)開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved