<strike id="kiyse"></strike>
  • <tr id="kiyse"></tr>
  • <strike id="kiyse"></strike><samp id="kiyse"><tbody id="kiyse"></tbody></samp>
    <strike id="kiyse"><s id="kiyse"></s></strike>
    <tr id="kiyse"></tr>
    <noframes id="kiyse"><code id="kiyse"></code></noframes>
    <th id="kiyse"></th>
    <samp id="kiyse"></samp>
  • <th id="kiyse"><s id="kiyse"></s></th>
  • ESM8000主板視頻圖像顯示方案簡(jiǎn)介

     2021-11-3     作者:黃志超         
    文章標(biāo)簽:QMLQtESM8000系列圖像顯示

    1、概述


      英創(chuàng)公司推出的ESM8000主板搭載了NXP i.MX8M Mini Quad 64位處理器,主CPU為主頻1.6GHz的四核ARM Cortex-A53,并且?guī)в幸粋€(gè)視頻處理單元(VPU),能夠提供硬件解碼和編碼的功能,解碼支持的格式有1080p60 HEVC/H.265,H.264,VP9,VP8等,編碼支持的格式有1080p60 H.264,VP8等。對(duì)視頻編解碼有一定需求的應(yīng)用,最好選擇帶有VPU的主板進(jìn)行開(kāi)發(fā)。因?yàn)樵跊](méi)有VPU的情況下,CPU只能通過(guò)軟件計(jì)算來(lái)進(jìn)行編解碼,效率很低并且會(huì)占用大量CPU資源,而通過(guò)VPU來(lái)編解碼能夠極大的節(jié)約CPU資源,并且處理的速度也比CPU快很多。


      在ESM8000主板中,已經(jīng)集成了Qt-5.15,用戶可以通過(guò)Qt來(lái)實(shí)現(xiàn)用戶圖形界面的開(kāi)發(fā),這部分我們已經(jīng)在《ESM8000主板圖形界面編程簡(jiǎn)介》中比較詳細(xì)的介紹過(guò)了,文章在最后提到了如果要想調(diào)用VPU進(jìn)行解碼,就需要通過(guò)QML界面或者Gstreamer工具。在ESM8000主板中已經(jīng)集成了Gstreamer工具和一些專用插件,這些插件就提供了使用VPU進(jìn)行編解碼的功能。為了支持在Qt中調(diào)用Gstreamer工具實(shí)現(xiàn)視頻的處理,ESM8000主板中移植了專用插件qmlsink,用戶無(wú)需進(jìn)行特殊的設(shè)置或者操作,使用標(biāo)準(zhǔn)的QML語(yǔ)言編程即可,當(dāng)涉及到視頻處理的部分,系統(tǒng)就會(huì)自動(dòng)通過(guò)Gstreamer的插件調(diào)用vpu來(lái)處理視頻。


      所以對(duì)于熟悉QML的用戶來(lái)說(shuō),可以在ESM8000主板上直接采用標(biāo)準(zhǔn)的qml語(yǔ)言編程來(lái)實(shí)現(xiàn)應(yīng)用,不需要其他特殊設(shè)置,十分方便。對(duì)于QML不太熟悉的用戶來(lái)說(shuō),英創(chuàng)公司提供了一個(gè)基于QML語(yǔ)言實(shí)現(xiàn)的視頻顯示界面,用戶可以通過(guò)在傳統(tǒng)Qt C++的實(shí)現(xiàn)的窗口中嵌入這個(gè)現(xiàn)成的界面來(lái)實(shí)現(xiàn)對(duì)應(yīng)的功能。我們想通過(guò)這種方式,讓客戶還是可以使用熟悉的Qt C++環(huán)境來(lái)編程,而不必花費(fèi)更多的時(shí)間去學(xué)習(xí)QML語(yǔ)言的使用。下面我們以顯示網(wǎng)絡(luò)攝像頭監(jiān)控畫(huà)面為例,來(lái)講解如何調(diào)用現(xiàn)成的QML界面。


    2、Qt C++調(diào)用QML實(shí)現(xiàn)視頻顯示


      英創(chuàng)公司提供一個(gè)現(xiàn)成的基于QML語(yǔ)言實(shí)現(xiàn)的視頻顯示界面ipcamera1.qml,這個(gè)界面可以顯示本地視頻或者網(wǎng)絡(luò)攝像頭的畫(huà)面。方案的核心就是利用了Qt提供的quickWidget類來(lái)嵌入QML界面,這個(gè)widget類專門(mén)用于顯示Qt Quick(Qt提供支持QML語(yǔ)言的庫(kù)以及函數(shù))用戶界面。在Qt的官方網(wǎng)站中對(duì)quickWidget有詳細(xì)的說(shuō)明https://doc.qt.io/qt-5/qquickwidget.html,有興趣的客戶可以參考。


      首先在創(chuàng)建的工程中導(dǎo)入英創(chuàng)公司提供的視頻顯示界面ipcamera1.qml,在這里我們選擇導(dǎo)入到Qt Resource中。右鍵工程選擇添加新文件,在模板中選擇Qt Resource File,單擊下一步,然后輸入名稱,例程中輸入的名稱為qml。可參考下圖:


    ESM8000主板視頻圖像顯示方案簡(jiǎn)介.png


      成功后,會(huì)自動(dòng)生成一個(gè)qml.qrc文件,這時(shí)需要進(jìn)行初始設(shè)置,并添加視頻顯示界面ipcamera1.qml。首先點(diǎn)擊添加按鈕,選擇添加前綴,在前綴中輸入想設(shè)置的路徑(在引用資源的時(shí)候會(huì)使用到),例程中設(shè)置為/,如下圖:


    ESM8000主板視頻圖像顯示方案簡(jiǎn)介.png


      設(shè)置完后,再次點(diǎn)擊添加按鈕,選擇添加文件,在文件瀏覽框中選中復(fù)制到工程目錄下的ipcamera1.qml文件,成功后可以在qml.qrc的瀏覽窗中看到對(duì)應(yīng)的文件,如下圖:


    ESM8000主板視頻圖像顯示方案簡(jiǎn)介.png


      導(dǎo)入QML文件的部分就已經(jīng)完成了,用戶只需要在程序中增加對(duì)quickWidget的初始化即可,可參考下面的代碼:


    w = new QQuickWidget;  
    w->move(0,0);  
    w->resize(640, 360);  
    w->setSource(QUrl(("qrc:/ipcamera1.qml")));

     

      如果需要和QML界面中的內(nèi)容進(jìn)行交互,可以通過(guò)信號(hào)與槽來(lái)實(shí)現(xiàn)。Qt C++中發(fā)送信號(hào),在QML界面中定義槽函數(shù)響應(yīng),或是在QML界面中發(fā)送信號(hào),在Qt C++中定義槽函數(shù)來(lái)響應(yīng)都是可以的。例程中實(shí)現(xiàn)了一些按鈕,對(duì)QML界面進(jìn)行簡(jiǎn)單的操作,比如開(kāi)始、停止等功能。在Qt的網(wǎng)站上也有比較詳細(xì)的說(shuō)明:https://doc.qt.io/qt-5/qtqml-cppintegration-interactqmlfromcpp.html。在英創(chuàng)公司提供的例程中,加入了開(kāi)始、停止、縮放、旋轉(zhuǎn)以及切換清晰度等操作,都是通過(guò)界面上C++的控件類(pushButton、comoBox等)發(fā)送信號(hào)來(lái)實(shí)現(xiàn)的,具體可以參考例程中的代碼。


      例程采用了比較常用的網(wǎng)絡(luò)攝像頭,測(cè)試效果如下:


    ESM8000主板視頻圖像顯示方案簡(jiǎn)介.png


    3、總結(jié)


      從程序的截圖中可以看出來(lái),在使用VPU解碼的情況下,幾乎不會(huì)對(duì)CPU造成負(fù)載,用戶可以利用CPU資源執(zhí)行其他操作。


      通過(guò)這種方式,我們希望讓用戶不必花過(guò)多時(shí)間對(duì)QML語(yǔ)言編程進(jìn)行學(xué)習(xí),以此能夠幫助用戶提升應(yīng)用程序開(kāi)發(fā)的時(shí)間。感興趣的客戶可以和英創(chuàng)的工程師聯(lián)系獲取完整的測(cè)試代碼。

    文章標(biāo)簽:QMLQtESM8000系列圖像顯示
    尹人久久久香蕉精品| 日韩精品久久一区二区三区| 精品久久久久久久久久久久久久久 | 玖玖精品在线视频| 国产精品超碰12396| 亚洲精品无码中文久久字幕| 久久精品无码精品免费专区| 亚洲国产精品尤物yw在线| 国产精品免费视频网站| 久久精品人成免费| 国产无套精品一区二区| 精品国内自产拍在线视频| 精品久久久久久蜜臂a∨| 国产精品多人p群无码| 国产精品99亚发布| 国产精品久久久久久吹潮| 国产精品亚洲综合天堂夜夜| 精品无码一区二区三区爱欲九九 | 国产精品538一区二区在线| 日韩精品成人亚洲专区| 55夜色66夜色国产精品视频| 久久av老司机精品网站导航| 久热这里只有精品99国产6| 无码人妻精品一区二区三区蜜桃| 久久精品成人免费观看| 国产午夜精品理论片久久| 一区二区精品在线观看| 91麻豆精品福利在线观看| 国精无码欧精品亚洲一区| 精品久久人人妻人人做精品| 国产成人亚洲精品播放器下载| 亚洲精品第一国产综合亚AV| 91精品国产成人网在线观看| 久久精品午夜福利| 在线观看亚洲精品国产| 久草视频精品在线| 精品久久综合1区2区3区激情| 婷婷成人国产精品| 四虎永久在线精品影院| 国产日韩精品视频| 国产精品无码免费视频二三区|