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

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

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

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

英創(chuàng)信息技術(shù)ESM6802主板支持多路網(wǎng)絡(luò)視頻監(jiān)控簡介

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-12 10:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們已經(jīng)介紹過在ESM7100主板上支持多路模擬攝像頭的方案,詳細(xì)資料可以參考《Linux主板多通道視頻采集方案》。在很多工業(yè)現(xiàn)場中還會使用到網(wǎng)絡(luò)攝像頭,它的優(yōu)點(diǎn)是可以通過網(wǎng)絡(luò)獲取數(shù)據(jù),沒有距離的限制,只需要提供一個常用的普通網(wǎng)絡(luò)接口就可以進(jìn)行通訊,非常靈活。但是網(wǎng)絡(luò)攝像頭傳輸?shù)臄?shù)據(jù)都是通過了編碼(現(xiàn)在常見格式有 H.264、MPEG-4、MJPEG)的,在接收到數(shù)據(jù)后,如果要在主板上進(jìn)行處理和顯示,就需要對數(shù)據(jù)進(jìn)行解碼。實(shí)現(xiàn)解碼功能需要硬件的支持,依靠軟件解碼會消耗大量的CPU資源,而且性能也不理想,所以如果要連接網(wǎng)絡(luò)攝像頭,就只能夠使用擁有硬件編解碼功能的ESM6802這一款核心板。

ESM6802的處理器為雙核Crotex-A9,主頻1GHz的i.MX6DL,CPU內(nèi)部集成了一個擁有編解碼功能的VPU(Video Processing Unit),通過VPU進(jìn)行解碼不會消耗過多的CPU資源,而ESM6802內(nèi)部的VPU可以支持多種格式的解碼,包括了常見的H.264、MPEG-4、MJPEG等格式,能夠支持的最大分辨率為1920x1088,同時最多可以處理4路攝像頭的數(shù)據(jù)。下面我們就以ESM6802為例,介紹如何使用在Qt界面中顯示網(wǎng)絡(luò)攝像頭的數(shù)據(jù)。

軟件上同樣還是使用gstreamer和Qt來實(shí)現(xiàn),ESM6802的文件系統(tǒng)中已經(jīng)集成了gstreamer和Qt5.8相關(guān)的庫和工具,并且包含了處理網(wǎng)絡(luò)攝像頭通訊協(xié)議rtsp和操作VPU編解碼的插件,而gstreamer能夠支持多種圖形系統(tǒng)包括Qt。所以利用gstreame能夠快速方便的獲取網(wǎng)絡(luò)攝像頭的數(shù)據(jù)并顯示到Qt界面中,關(guān)于gstreamer的詳細(xì)介紹,可以參考網(wǎng)站https://gstreamer.freedesktop.org/documentation/index.html?gi-language=c。

考慮到部分客戶可能對gstreamer不熟悉,英創(chuàng)公司在gstreamer提供的API函數(shù)基礎(chǔ)上重新封裝了一層,通過庫文件libemgst.so提供三個API函數(shù)和一個包含網(wǎng)絡(luò)攝像頭信息的結(jié)構(gòu)體變量,利用這三個API函數(shù),客戶就可以將視頻數(shù)據(jù)顯示在Qt實(shí)現(xiàn)的界面上,而不需要使用代碼對gstreamer單獨(dú)進(jìn)行操作,客戶可以專注于Qt程序的開發(fā)。下面就詳細(xì)介紹libemgst.so的三個API函數(shù)和結(jié)構(gòu)體變量:

/**
* 初始化gstreamer
*
* 本函數(shù)在C的main函數(shù)中調(diào)用,將會初始化gstreamer庫
*
* 參數(shù)說明:
* 使用main函數(shù)的兩個參數(shù)填入,gstramer初始化時需要讀取main函數(shù)的兩個參數(shù)
*
* 返回值說明:
* 無返回值
*
*/
voidinit_emgst(intargc, char **argv);
/**
* 包含網(wǎng)絡(luò)攝像頭設(shè)備信息的結(jié)構(gòu)體
* 訪問網(wǎng)絡(luò)攝像頭需要有ip地址,用戶名和密碼。如果是播放錄像文件,還需要填入
* 錄像文件的地址,如果是播放實(shí)時數(shù)據(jù),路徑填寫為NULL即可。
*
* 參數(shù)說明:
* ip:指向網(wǎng)絡(luò)攝像頭ip地址的指針
* user:指向網(wǎng)絡(luò)攝像頭的用戶名的指針
* passwd:指向網(wǎng)絡(luò)攝像頭密碼的指針
* file:指向錄像文件路徑的指針,如果播放實(shí)時圖像,賦值為NULL
*
*/
typedefstruct _Rtsp_config {
char *ip;
char *user;
char *passwd;
char *file;
} Rtsp_config;
/**
* 配置gstreamer,并顯示到指定Qt窗口
*
* 函數(shù)會配置gstreamer,顯示多個網(wǎng)絡(luò)攝像頭的數(shù)據(jù)到xwinid所指定的窗口,窗口的大
* 小通過參數(shù)width和height來確定,而網(wǎng)絡(luò)攝像頭的信息由指針rtsp_config傳入,listsize
* 指定同時顯示的通道數(shù)量。因?yàn)橐獎討B(tài)建立網(wǎng)絡(luò)攝像頭的連接,函數(shù)不會退出,所以
* 需要在線程中調(diào)用。
*
* 參數(shù)說明:
* xwinid:Qt窗口的id號,每一個窗口類中都包含這個成員變量。
* width:顯示視頻數(shù)據(jù)所使用的窗口控件的寬度,單位pixel
* height:顯示視頻數(shù)據(jù)所使用的窗口控件的高度,單位pixel
*rtsp_config:指向設(shè)備信息結(jié)構(gòu)體的指針,通常是一組包含設(shè)備信息的結(jié)構(gòu)體指針。
* 詳細(xì)解釋可以查看對結(jié)構(gòu)體Rtsp_config的說明
* listsize:顯示的視頻通道數(shù)最多支持同時顯示4路。支持1,2,4這三個值,函數(shù)會按
* 照固定模式對顯示進(jìn)行排列
*
* 返回值說明:
* 0表示正常退出gstreamer
* -1 表示填入?yún)?shù)出現(xiàn)錯誤,啟動gstreamer失敗
*
*/
intconfig_emrtsp(unsignedintxwinid, intwidth,intheight, Rtsp_config *rtsp_config, intlistsize);
/**
* 關(guān)閉gstreamer,釋放資源
*
* 函數(shù)會關(guān)閉gstreamer輸出,并釋放相關(guān)資源
*
* 返回值說明:
* 無返回值
*
*/
voidrelease_emrtsp(void);

init_emgst函數(shù)進(jìn)行g(shù)streamer的初始化,在啟動gstreamer功能之前需要調(diào)用一次,客戶配合Qt使用時在main函數(shù)中調(diào)用即可:

intmain(intargc, char *argv[])
{
//初始化英創(chuàng)主板gstreamer功能
init_emgst(argc, argv);
//Qt窗口初始化,由QtCreator自動生成
QApplicationa(argc, argv);
MainWindow w;
w.show();
returna.exec();
}

config_emrtsp函數(shù)會配置并啟動gstreamer,要將網(wǎng)絡(luò)攝像頭的數(shù)據(jù)顯示在指定的窗口中,客戶只要得到用來顯示視頻的窗口控件的id就可以了,在每一個Qt窗口控件類中都有對應(yīng)的成員變量,可以很簡單的獲取到。通過rtsp_config填入網(wǎng)絡(luò)攝像頭的信息,包含網(wǎng)絡(luò)攝像頭的ip,用戶名,密碼和錄像文件路徑,如果只是播放實(shí)時圖像,錄像文件路徑填為NULL就行了,函數(shù)會動態(tài)監(jiān)測網(wǎng)絡(luò)攝像頭的連接,只有當(dāng)播放完成才會退出,比如錄像文件播放完畢或者手動關(guān)閉的情況,所以建議在線程中調(diào)用函數(shù)config_emrtsp。和網(wǎng)絡(luò)攝像頭的連接建立后,ESM6802主板會根據(jù)網(wǎng)絡(luò)攝像頭的編碼格式自行選擇合適的解碼方式,不需要客戶做任何設(shè)置,網(wǎng)絡(luò)攝像頭常用的H.264、MPEG-4、MJPEG編碼格式都可以支持。

config_emrtsp函數(shù)會根據(jù)width和height的值自動分配顯示區(qū)域,listsize指定同時顯示的通道數(shù),支持的值為1、2、4,顯示的方式如下圖:

視頻數(shù)據(jù)顯示排列方式

函數(shù)調(diào)用后gstreamer會將對應(yīng)通道數(shù)的視頻顯示在指定的Qt窗口控件中,每一個區(qū)域所顯示的網(wǎng)絡(luò)攝像頭數(shù)據(jù)是通過結(jié)構(gòu)體指針rtsp_config指定的,下面是部分參考代碼,創(chuàng)建了一個線程,通過一個按鈕啟動,把將graphicsView控件的id傳給gstreamer,并顯示設(shè)置的網(wǎng)絡(luò)攝像頭數(shù)據(jù):

//派生一個Qt線程類,用獲取config_emrtsp函數(shù)的參數(shù),并在線程中啟動
classRtsp_pThread :publicQThread
{
Q_OBJECT
public:
voidrun();
//窗口控件的寬度
int width;
//窗口控件的高度
int height;
//顯示的通道數(shù)量
intnum_of_chan;
//窗口控件ID
WIdxwinid;
//包含網(wǎng)絡(luò)攝像頭信息的結(jié)構(gòu)體指針
Rtsp_config *rtsp_config;
};
voidMainWindow::on_confirm_released()
{
//初始化結(jié)構(gòu)體指針
rtsp_config = (Rtsp_config*)malloc(max_chan*sizeof(Rtsp_config));
//填入每一路網(wǎng)絡(luò)攝像頭的ip,用戶名和密碼,因?yàn)椴皇遣シ配浵裎募詅ile一項(xiàng)填寫的NULL。示例是顯示了四路網(wǎng)絡(luò)攝像頭的數(shù)據(jù),因?yàn)槎际窃L問的同一個攝像頭,所以填寫的信息是一致的
for(i=0; i
//網(wǎng)絡(luò)攝像頭的ip地址
(rtsp_config+i)->ip = (char*)malloc(20*sizeof(char));
sprintf((rtsp_config+i)->ip, "192.168.201.84");
//網(wǎng)絡(luò)攝像頭的用戶名
(rtsp_config+i)->user = (char*)malloc(20*sizeof(char));
sprintf((rtsp_config+i)->user, "admin");
//網(wǎng)絡(luò)攝像頭的密碼
(rtsp_config+i)->passwd = (char*)malloc(20*sizeof(char));
sprintf((rtsp_config+i)->passwd, "******");
(rtsp_config+i)->file = NULL;
}
//將顯示區(qū)域的寬度,高度和等信息值賦給線程類的成員變量
rtsp_thread.width = ui->graphicsView->width();
rtsp_thread.height = ui->graphicsView->height();
rtsp_thread.num_of_chan = max_chan;
rtsp_thread.rtsp_config = rtsp_config;
//啟動線程
rtsp_thread.start();
}
voidRtsp_pThread::run()
{
//在線程中調(diào)用函數(shù)config_emrtsp,啟動顯示
config_emrtsp(xwinid, width, height, rtsp_config, num_of_chan);
}
release_emgst函數(shù)會停止gstreamer輸出,并釋放資源,在程序退出或者需要切換顯示的時候調(diào)用,下面的代碼是通過檢測Qt按鈕控件的點(diǎn)擊事件,關(guān)閉顯示:
voidMainWindow::on_setting_released()
{
inti;
//停止顯示,并釋放相關(guān)資源
release_emrtsp();
//退出線程
rtsp_thread.quit();
}

庫文件libemgst.so已經(jīng)預(yù)裝在ESM6802主板的文件系統(tǒng)中了,客戶不需要針對主板再做任何設(shè)置。在開發(fā)程序的時候,Qt工程中需要將英創(chuàng)公司提供的emgst.h頭文件和libemgst.so庫文件添加進(jìn)去。頭文件添加的方法十分簡單,增加一個新的頭文件即可。關(guān)于外部庫的添加,Qt的開發(fā)工具QtCreator提供了非常簡便的方法,客戶只需要將libemgst.so拷貝到工程目錄下,然后在QtCreator中的項(xiàng)目欄用鼠標(biāo)右鍵單擊工程,選擇添加庫(外部庫),如下圖:

添加庫操作界面

選擇外部庫后,點(diǎn)擊下一步,按照下圖設(shè)置,在庫文件一欄中選擇到工程下的libemgst.so文件,如下圖:

選擇庫文件

這樣就完成了外部庫的設(shè)置,客戶可以在代碼中調(diào)用libemgst.so提供的API函數(shù)了。英創(chuàng)公司提供了一個通過按鈕切換顯示視頻通道數(shù)的例程,效果如下:

通過這種方式,英創(chuàng)公司希望能夠幫助客戶縮短開發(fā)周期,讓客戶可以專注于Qt程序的開發(fā),而不用花時間去學(xué)習(xí)并在代碼中設(shè)置gstreamer。對于例程感興趣的客戶可以和工程師聯(lián)系,索取相關(guān)代碼。

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

    關(guān)注

    87

    文章

    11508

    瀏覽量

    213574
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6100

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    車載終端_多路車載視頻監(jiān)控方案_車載終端主板定制

    車載終端主板依托高通提供的8核高端芯片平臺,主頻高達(dá)2.0GHz,內(nèi)置高性能GPU,能夠輕松應(yīng)對多路視頻拍攝和復(fù)雜的圖形處理任務(wù)。其兼容4G/3G網(wǎng)絡(luò)制式,并
    的頭像 發(fā)表于 07-03 20:17 ?57次閱讀
    車載終端_<b class='flag-5'>多路</b>車載<b class='flag-5'>視頻</b><b class='flag-5'>監(jiān)控</b>方案_車載終端<b class='flag-5'>主板</b>定制

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國家推動IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國家網(wǎng)絡(luò)
    的頭像 發(fā)表于 06-13 10:06 ?1777次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    明遠(yuǎn)智睿SSD2351開發(fā)板:視頻監(jiān)控領(lǐng)域的卓越之選

    源的開發(fā)資料讓開發(fā)者可以根據(jù)實(shí)際需求對視頻監(jiān)控系統(tǒng)的軟件進(jìn)行定制和優(yōu)化,如開發(fā)個性化的視頻編碼算法、監(jiān)控界面等。一對一的技術(shù)支持則為開發(fā)者解
    發(fā)表于 05-30 10:24

    創(chuàng)浪潮下,國產(chǎn)主板有什么新的發(fā)展機(jī)遇?

    信息技術(shù)應(yīng)用創(chuàng)新浪潮的推動下,國產(chǎn)主板迎來了諸多新的發(fā)展機(jī)遇。信創(chuàng)產(chǎn)業(yè)旨在實(shí)現(xiàn)信息技術(shù)領(lǐng)域的自主可控,這一戰(zhàn)略目標(biāo)為國產(chǎn)主板的發(fā)展提供了廣
    的頭像 發(fā)表于 05-09 09:24 ?204次閱讀
    信<b class='flag-5'>創(chuàng)</b>浪潮下,國產(chǎn)<b class='flag-5'>主板</b>有什么新的發(fā)展機(jī)遇?

    龍芯主板是安全可信基石,可守護(hù)信息資產(chǎn)

    網(wǎng)絡(luò)安全中,信息安全至關(guān)重要。龍芯主板內(nèi)置安全啟動技術(shù),從硬件層級構(gòu)建起堅實(shí)的防護(hù)體系。同時,龍芯主板
    的頭像 發(fā)表于 04-22 09:12 ?186次閱讀

    基于RV1126開發(fā)板實(shí)現(xiàn)多路網(wǎng)絡(luò)攝像頭取流方案

    在RV1126上實(shí)現(xiàn)多路網(wǎng)絡(luò)攝像頭取流方案
    的頭像 發(fā)表于 04-21 14:39 ?49次閱讀
    基于RV1126開發(fā)板實(shí)現(xiàn)<b class='flag-5'>多路網(wǎng)絡(luò)</b>攝像頭取流方案

    基于RV1126開發(fā)板實(shí)現(xiàn)多路網(wǎng)絡(luò)攝像頭取流方案

    在RV1126上實(shí)現(xiàn)多路網(wǎng)絡(luò)攝像頭取流方案
    的頭像 發(fā)表于 04-11 15:57 ?401次閱讀
    基于RV1126開發(fā)板實(shí)現(xiàn)<b class='flag-5'>多路網(wǎng)絡(luò)</b>攝像頭取流方案

    頂堅手持終端賦能鐵路巡檢,打造智慧鐵路網(wǎng)絡(luò)

    手持終端以其強(qiáng)大的數(shù)據(jù)采集、實(shí)時通訊與智能化分析能力,正深刻變革著鐵路巡檢模式,為構(gòu)建高效、安全、智能的智慧鐵路網(wǎng)絡(luò)奠定了堅實(shí)基礎(chǔ)。通過精準(zhǔn)捕捉設(shè)備狀態(tài),即時傳輸巡檢信息,手持終端不僅加速了故障
    的頭像 發(fā)表于 03-10 10:30 ?358次閱讀
    頂堅手持終端賦能鐵路巡檢,打造智慧鐵<b class='flag-5'>路網(wǎng)絡(luò)</b>

    飛騰助力首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿落幕

    近日,由中國教育技術(shù)協(xié)會主辦,教育部教育管理信息中心教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會信創(chuàng)工委會
    的頭像 發(fā)表于 12-24 09:57 ?509次閱讀

    龍芯中科助力2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦

    近日,2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽在北京航空航天大學(xué)成功舉辦。本次大賽由中國教育技術(shù)協(xié)會主辦,教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會信
    的頭像 發(fā)表于 12-19 17:02 ?561次閱讀

    采購必讀:如何挑選適合自己的嵌入式主板

    采購的主板應(yīng)關(guān)注寬溫運(yùn)行能力以及具備可靠防塵、防電磁干擾能力。若用于智能安防監(jiān)控,主板的圖像、視頻處理能力則不可或缺,需要能夠流暢駕馭多路
    的頭像 發(fā)表于 12-18 09:49 ?616次閱讀
    采購必讀:如何挑選適合自己的嵌入式<b class='flag-5'>主板</b>

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競爭力百強(qiáng)企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?945次閱讀

    用國產(chǎn)化硬件守護(hù)信息安全,飛騰D2000網(wǎng)絡(luò)安全主板應(yīng)用優(yōu)勢

    在當(dāng)今數(shù)字化時代,信息技術(shù)飛速發(fā)展,網(wǎng)絡(luò)攻擊事件愈發(fā)頻繁,網(wǎng)絡(luò)安全面臨著前所未有的挑戰(zhàn)。而國產(chǎn)網(wǎng)絡(luò)安全主板的出現(xiàn),為守護(hù)
    的頭像 發(fā)表于 10-29 10:10 ?796次閱讀

    創(chuàng)國產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的簡稱,于2016年“信創(chuàng)工委會”(信息技術(shù)應(yīng)用創(chuàng)新工作委員會)提出,目的就是要推動我們國內(nèi)軟硬件關(guān)鍵技術(shù)的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?865次閱讀

    梯度科技入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單

    日前,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)在天津舉辦2024信息技術(shù)應(yīng)用創(chuàng)新發(fā)展大會暨解決方案應(yīng)用推廣大會。會上正式
    的頭像 發(fā)表于 09-09 16:29 ?753次閱讀
    主站蜘蛛池模板: 特级无码毛片免费视频尤物 | 欧美日本一区二区三区道 | 黄视频网站在线看 | 午夜福利国产一级毛片 | 久久久综合色 | 亚洲人在线 | 欧美福利视频网站 | 加勒比黑人喝羽月希奶水 | 手机在线免费视频 | 国产一区美女视频 | 亚洲欧洲无码一区二区三区 | 亚洲精品久久久久久婷婷 | 日本一区二区视频在线观看 | 欧美怡红院免费全视频 | 激情综合色综合啪啪开心 | a级毛片免费网站 | 上课被同桌强行摸下面小黄文 | 日韩一级片视频 | 国产精品久久久久久久久久免费 | jlzzjlzz亚洲大全 | 日本高清免费aaaaa大片视频 | 色屁屁www免费看视频影院 | 中文字幕人成不卡一区 | 色视频在线免费看 | 在线观看日本免费视频大片一区 | 日本xxwwxxww视频免费丝袜 | 簧片免费视频 | 在线观看播放视频www | 四虎免费大片aⅴ入口 | 亚洲狠狠色丁香婷婷综合 | 色婷婷影视 | 日本黄色一区 | 国产综合在线观看 | 色噜噜人体337p人体 | 永久免费品色堂 | 久草资源免费 | 亚洲精品一卡2卡3卡三卡四卡 | 日本一级成人毛片免费观看 | 色精品一区二区三区 | 国产精品大全 | 一级特黄aaa大片 |