激情综合丁香-激情综合六月-激情综合婷婷亚洲图片-激情综合图区-激情综合网五月

英創(chuàng)Linux主板低成本網(wǎng)絡(luò)視頻監(jiān)控實(shí)現(xiàn)方案

 2019-9-10     作者:黃志超         
文章標(biāo)簽:C/C++QtESM7000系列ESM6802視頻

  在工業(yè)現(xiàn)場(chǎng)實(shí)際的應(yīng)用中,有很多場(chǎng)景僅需要監(jiān)測(cè)單路視頻圖像,同時(shí)對(duì)系統(tǒng)成本更為敏感。針對(duì)這類的應(yīng)用,我們推出了一套低成本的方案,即使用ESM7000系列主板來(lái)實(shí)現(xiàn)相應(yīng)功能。ESM7000系列主板的CPU為雙核Cortex-A7,主頻1GHz的i.MX7D,并且有著低功耗的特點(diǎn),因?yàn)镃PU沒(méi)有專門的硬件視頻處理單元,所以售價(jià)比ESM6802便宜。與之前英創(chuàng)公司推出了基于ESM6802主板的多通道網(wǎng)絡(luò)攝像頭方案相比較,ESM7000方案屬于低成本應(yīng)用方案,而ESM6802方案則主要針對(duì)需要同時(shí)顯示多路網(wǎng)絡(luò)攝像頭數(shù)據(jù)的用戶,利用CPU中專門的硬件視頻處理單元來(lái)處理多路數(shù)據(jù)的輸出。


  下面是對(duì)兩套方案主要性能的對(duì)比:


主板型號(hào)ESM6802ESM7000
CPU主頻雙核Cortex A9,1GHz雙核Cortex A7,1GHz
支持網(wǎng)絡(luò)攝像頭顯示通道數(shù)最多可同時(shí)顯示4路,可以支持多路切換單路顯示,可以支持多路切換
百片價(jià)¥710/片¥540/片


  因?yàn)镋SM7000系列主板的CPU沒(méi)有硬件視頻處理單元,而網(wǎng)絡(luò)攝像頭傳輸過(guò)來(lái)的數(shù)據(jù)是通過(guò)了編碼(常見(jiàn)的H.264、MPEG-4、MJPEG等格式)的,所以需要使用軟件來(lái)進(jìn)行解碼,利用軟件解碼相對(duì)來(lái)說(shuō)需要消耗一定的CPU資源,并且無(wú)法支持多路攝像頭數(shù)據(jù)的拼接顯示,所以只能夠同時(shí)支持一路攝像頭數(shù)據(jù)的顯示。


  實(shí)現(xiàn)軟件解碼的庫(kù)已經(jīng)在主板中移植好了,用戶可以直接使用,經(jīng)過(guò)我們測(cè)試,采用200W像素網(wǎng)絡(luò)攝像頭(1920×1080)和分辨率為1024×600的屏幕,將單路攝像頭數(shù)據(jù)通過(guò)軟件解碼后以分辨率800×450輸出到顯示窗口中,消耗的CPU資源大約為20%左右,內(nèi)存(1GB)為4%左右。可以看出對(duì)于ESM7000系列主板來(lái)說(shuō),并沒(méi)有占用太多的硬件資源,同時(shí)還能夠進(jìn)行其他的控制操作,比如配合網(wǎng)絡(luò)攝像頭廠商提供的API函數(shù)實(shí)現(xiàn)截圖,上傳,錄像等。


  軟件上同樣還是使用gstreamer和Qt來(lái)實(shí)現(xiàn),ESM7000系列主板的文件系統(tǒng)中已經(jīng)集成了gstreamer和Qt5.8相關(guān)的庫(kù)和工具,并且包含了處理網(wǎng)絡(luò)攝像頭通訊協(xié)議rtsp和使用軟件編解碼的插件,而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


  在實(shí)現(xiàn)ESM6802主板多路網(wǎng)絡(luò)攝像頭方案中,英創(chuàng)公司通過(guò)庫(kù)文件libemgst.so提供三個(gè)API函數(shù)和一個(gè)包含網(wǎng)絡(luò)攝像頭信息的結(jié)構(gòu)體變量。在此基礎(chǔ)上,我們將ESM7000系列板卡的支持也添加進(jìn)去了,對(duì)于用戶來(lái)說(shuō)使用的API函數(shù)完全相同,唯一一點(diǎn)區(qū)別是ESM7000系列板卡只能同時(shí)支持一路網(wǎng)絡(luò)攝像頭的數(shù)據(jù)顯示。庫(kù)文件內(nèi)部會(huì)自動(dòng)判斷板卡型號(hào),并進(jìn)行對(duì)應(yīng)的處理,用戶只需要專注于應(yīng)用程序的開(kāi)發(fā)和界面的設(shè)計(jì)上面。


  關(guān)于API函數(shù)和例程在《ESM6802主板支持多路網(wǎng)絡(luò)攝像頭》已經(jīng)有了詳細(xì)的介紹,因?yàn)锳PI函數(shù)是相同的,所以可以使用相同的例程代碼測(cè)試,只需要更換對(duì)應(yīng)的工具鏈重新編譯即可,詳細(xì)的資料可以參考《ESM6802主板支持多路網(wǎng)絡(luò)攝像頭》。我們?cè)谶@里重復(fù)說(shuō)明一下API函數(shù)的定義,方便用戶查詢:


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


  例程運(yùn)行效果截圖:


英創(chuàng)Linux主板低成本網(wǎng)絡(luò)攝像頭實(shí)現(xiàn)方案.png

文章標(biāo)簽:C/C++QtESM7000系列ESM6802視頻
主站蜘蛛池模板: 女人大毛片一级毛片一| 97dyy在线观看手机版| 成人精品亚洲人成在线| 日韩欧美亚洲另类| www.大香| 日本高清aⅴ毛片免费| 在线a人片免费观看国产| 欧美日韩高清一区| 国产床上视频| 美国三级在线| 精新精新国产自在现拍欣赏网| 久青草视频免费视频播放线路1| 亚洲精品色图| 1024手机最新手机在线| 又黄又爽一线毛片免费观看 | 黑人巨大解禁久久中文字幕| 精品日韩欧美一区二区三区 | 天天影视色香欲综合网老头| 四虎永久免费鲁大师| 私人影院毛片| 欧美成人免费videos| 国产成人精品高清免费| 国产精品嫩草影院在线播放| 精品国产欧美精品v| 日韩精品久久久久久久电影| 亚洲一区二区三区欧美| 97超视频在线观看| 一级特黄aaa大片免费看| 尤物tv| 日韩免费一级片| 中国一级特黄| 亚洲国产一区在线| 亚洲精品欧美综合四区| 自拍视频网| 免费看a毛片| 免费看黄色小视频| 免费高清毛片| 免费三级毛片| 色偷偷亚洲第一成人综合网址| 欧美h片在线观看| 免费看黄色一级毛片|