• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于QT的遠程視頻監(jiān)控系統(tǒng)

      2019-05-05 00:53:22張娜王侃楊琳
      商洛學院學報 2019年2期
      關鍵詞:開發(fā)板客戶端傳輸

      張娜,王侃,楊琳

      (商洛學院 電子信息與電氣工程學院,陜西商洛726000)

      遠程視頻監(jiān)控技術是集合了網絡技術、通信技術、傳感器技術為一體的綜合性技術,根據(jù)人們對視頻信息的時效性、靈活性等多方面高要求的特點,得到市場和人們的集中關注[1-2]。從生活的各種場合可以看到,視頻監(jiān)控系統(tǒng)已經從早先的軍事需求、銀行安全等高級別的安防領域擴展到現(xiàn)在的校園安全、工業(yè)生產、農業(yè)生產和交通旅游等很多領域,充分體現(xiàn)了其專業(yè)性和可靠性的優(yōu)點[3-4]。針對傳統(tǒng)視頻監(jiān)控系統(tǒng)安全性差、時效性差、人力成本高且無法在客戶端隨時隨地查看監(jiān)控效果等缺點[5],本文采用嵌入式Linux的操作系統(tǒng)、USB攝像頭、TCP傳輸協(xié)議及QT軟件設計實現(xiàn)遠程視頻圖像數(shù)據(jù)采集、傳輸及在客戶端實時顯示的功能。

      1 視頻監(jiān)控系統(tǒng)的總體設計

      視頻監(jiān)控系統(tǒng)采用嵌入式Linux的操作系統(tǒng)作為開發(fā)的核心,系統(tǒng)通過服務器操控USB攝像頭設備進行采集視頻數(shù)據(jù)信息,經過JPEG編碼、解碼壓縮控制數(shù)據(jù)的采集,最終采用無線網絡通訊進行數(shù)據(jù)傳輸?shù)倪^程。在PC機(也就是客戶端)上,通過網絡傳輸?shù)玫綌?shù)據(jù),進行數(shù)據(jù)解析拿到有效格式并進行圖像顯示,最終實現(xiàn)視頻監(jiān)控系統(tǒng)。視頻監(jiān)控系統(tǒng)結構如圖1所示。

      1.1 硬件平臺的構建

      本系統(tǒng)使用ITop-4412開發(fā)板作為核心板,ITop-4412這款開發(fā)板的處理器采取ARMA9核心處理器,板上安裝了能實現(xiàn)很多功能的硬件[6]。

      1.2 軟件平臺的搭建

      主要包括環(huán)境搭建、Uboot移植、內核移植、根文件系統(tǒng)制作四方面。

      1.2.1 環(huán)境搭建

      在開發(fā)之前,需要進行交叉編譯環(huán)境的搭建,就是需要對系統(tǒng)進行文件更改和配置,并且安裝交叉編譯的工具鏈這兩個步驟[7]。在Ubuntu虛擬機的開發(fā)環(huán)境中,要將現(xiàn)在所需要的文件進行編譯,可以得到想要的程序與開發(fā)用的操作系統(tǒng)等,并進行設置操作,最終就需要上傳到系統(tǒng)需要的ARM開發(fā)板使用。

      搭建具體步驟為:

      1)進入虛擬機情況下,首先建立一個新目次在home下,利用mkdir號令建立,號令為mkdir/home/arm;

      2)打開剛剛創(chuàng)建的目錄arm,這時需要下載工具包,然后再把要用的編譯工具包放到arm目錄中;

      3)把工具包解壓完成后,需要修改現(xiàn)在已經有的環(huán)境所要配置的文件:sudo vim/etc/profile,profile文件中添加arm-Linux-的路徑:export PATH=$PATH,退出文件編譯器;

      4)然后就要更新一下剛剛修改過的profile配置文件:打開這個文件,然后用命令去更新,Source/etc/profile;

      5)檢查是否已經安裝成功。

      環(huán)境是已經完全搭建好了,需要檢查是不是好用,首先是打開虛擬機,需要把寫好的代碼進行編譯,看看有沒有報錯誤,沒有問題之后,使用arm的編譯工具再進行編譯一次,打開串口調試工具,查看系統(tǒng)文件的信息,然后就要進行移植了。

      1.2.2 Uboot移植

      Uboot移植步驟為:

      1)首先要修改Makefile文件,在文件中加上交叉編譯工具鏈所在的路徑,添加如下信息:CROSS_COMPFILE:=;

      2)make clean(清除之前的編譯);

      3)配置要使用的Uboot信息(把系統(tǒng)信息編程私有的,主要針對要移植的開發(fā)板做相應修改);

      4)最后需要將Uboot進行編譯,再使用make命令生成目標文件,在生成的文件中有三個需要著重看一下,Uboot(elf文件)、Uboot.bin(二進制文件)、System.map(符號映射表),后面還要再進行更改。

      再次進行編譯Uboot,在串口調試終端上復位可以看到圖2串口信息。

      圖2 串口信息圖

      1.2.3 內核移植

      1)解壓:把壓縮包Linux-3.14.tar.xz首先復制在/home/linux目錄下,然后通過tar命令進行解壓,解壓完之后就打開linux-3.14文件;

      2)對最上層的目錄Makefile文件進行修改,主要是修改體系架構和交叉編譯器;

      3)導入默認配置$makeexynos_defconfig;

      4)使用make進行編譯,需要把內核全部編譯。

      完成上述的操作步驟,就會在目錄下新生成一個文件,這個zImage是已經被壓縮過之后的鏡像文件。

      1.2.4 根文件系統(tǒng)制作

      根文件系統(tǒng)制作的步驟為:

      1)在官網上將源碼包保存在本地,下載地址路徑http://busybox.net/downloads/;

      2)使用tar命令,把下載好的文件包進行解壓,并且保存到新建目錄下;

      3)在當前目錄下,打開源碼的文件,使用命令cd;

      4)對源碼編譯;

      5)安裝busybox:要安裝的路徑是在/linux目錄下,也就是源碼的同一級目錄下;

      6)打開上一步安裝好的那一級目錄,創(chuàng)建需要的目錄,也就是系統(tǒng)文件夾;

      7)添加庫:刪掉不需要的庫,保證庫的容量不能超過8 M;

      8)增添系統(tǒng)的啟動文件,需要在etc下添加文件inittab。

      重新編譯內核,需要注意的是新制作的文件系統(tǒng)尺寸若超出8 M,刪除不需要的庫文件。

      2 服務器端的設計

      該嵌入式視頻監(jiān)控的軟件設計包括了服務端和客戶端。服務端是實現(xiàn)了在特定條件下對視頻采集的部分和通過TCP協(xié)議網絡進行傳輸?shù)牟糠?;客戶端部分主要是接受所采集到的視頻數(shù)據(jù)和通過QT軟件處理進行視頻顯示[8]。如圖3是服務器端軟件功能處理的流程圖。

      圖3 服務器端軟件流程圖

      2.1 視頻采集的實現(xiàn)

      Video4Linux2(V4L2)是在Linux操作系統(tǒng)中有關視頻設備的相關內核驅動,設備包括了USB接口攝像頭和視頻捕捉卡等[9]。利用V4L2視頻采集接口采集圖片,并將采集到的圖片轉換為jpeg格式的客戶端數(shù)據(jù)包。

      設計思路:本模塊采用線程處理,提供一個線程接口函數(shù)給服務器,開啟線程后便可開始圖片的采集與轉換得到圖片數(shù)據(jù)。

      2.2 視頻圖像的網絡傳輸

      本系統(tǒng)使用TCP/IP協(xié)議進行視頻流的傳輸,通過使用socket的編程實現(xiàn)代碼的編寫,在服務器端進行監(jiān)控,一直等待客戶端的請求消息,并且發(fā)送USB攝像頭獲取到的視頻數(shù)據(jù)。代碼中通過調用listenfd=socket(AF_INET,SOCK_STREAM,0);創(chuàng)建套接字listenfd進行監(jiān)控客戶端的連接情況。

      使用socket建立起網絡之后,通過函數(shù)tcp_server_send進行數(shù)據(jù)傳輸。

      3 客戶端的設計及實現(xiàn)

      3.1 客戶端設計

      客戶端接收到服務器傳輸過來的數(shù)據(jù)并使用QT軟件進行圖像視頻顯示。QT本身是一個可跨平臺的框架,它是基于C++的應用開發(fā)的[10]。在客戶端的設計中,首先使用QT軟件平臺中已提供的網絡協(xié)議,進行實現(xiàn)客戶端與服務器的兩端連接,接下來客戶端需要向服務器發(fā)送數(shù)據(jù)包進行請求,收到請求回應后,通過結構體的數(shù)據(jù)類型進行圖像接收,顯示圖像時就要用到QT中自帶的類QPixmap,這個類的功能是能夠接收單個文件在畫板上顯示文件內容,前提是需要知道文件路徑,并且路徑的格式是字符串,使用QPainter里面的drawPixmap()這個函數(shù),將需要顯示的文件繪制到設備上面。

      qDebug()<<"qt_jpeg size="<

      pixmap->loadFromData((unsigned char*)ppic->jpeg,ppic->jpeg_len,"JPEG");

      ui->label->setPixmap(*pixmap);

      timer->start(60);

      3.2 客戶端實現(xiàn)

      通過使用QT中的TCP協(xié)議實現(xiàn)了客戶端與服務器的連接,并進行視頻數(shù)據(jù)顯示,客戶端初始化效果如圖4所示,按下開始按鈕,建立網絡通信,開始進行顯示視頻數(shù)據(jù),效果如圖5所示,客戶端正常運行。

      圖4 客戶端初始化效果圖

      圖5 運行效果圖

      3.3 數(shù)據(jù)分析

      在相對穩(wěn)定的網絡環(huán)境下,同時保證數(shù)據(jù)源質量的前提下,對采集、接收到的數(shù)據(jù)包進行統(tǒng)計,結果如表1所示。

      表1 采集和接收到的數(shù)據(jù)包統(tǒng)計

      4 結語

      本文是基于QT的遠程視頻監(jiān)控系統(tǒng)設計,使用Linux操作系統(tǒng)搭建環(huán)境,通過USB攝像頭連接在ITop-4412開發(fā)板采集視頻圖像數(shù)據(jù),用TCP傳輸協(xié)議通過網絡傳送給客戶端,使用QT軟件設計進行視頻顯示,最終通過交叉編譯工具將系統(tǒng)移植到ITop-4412開發(fā)板。實驗結果表明,系統(tǒng)能實時、穩(wěn)定地傳輸視頻數(shù)據(jù),并取得了良好的監(jiān)控效果,該系統(tǒng)具有實時性強、可擴展性強、靈活性高的優(yōu)點,達到了方案的預期效果。

      猜你喜歡
      開發(fā)板客戶端傳輸
      混合型隨機微分方程的傳輸不等式
      牽引8K超高清傳輸時代 FIBBR Pure38K
      電子制作(2018年18期)2018-11-14 01:48:00
      縣級臺在突發(fā)事件報道中如何應用手機客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設計與實現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      Microchip最新推出兩款PIC32 Curiosity開發(fā)板
      支持長距離4K HDR傳輸 AudioQuest Pearl、 Forest、 Cinnamon HDMI線
      淺析單片機開發(fā)板的設計與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      Mouser為您呈上開發(fā)關鍵之STMicroelectronics Nucleo開發(fā)板
      繁峙县| 区。| 资源县| 盐城市| 余干县| 开平市| 鸡泽县| 石楼县| 逊克县| 鄂尔多斯市| 虞城县| 呼玛县| 调兵山市| 康定县| 芒康县| 民乐县| 阜宁县| 淮北市| 武鸣县| 陵川县| 元氏县| 沾益县| 平乐县| 城步| 色达县| 横峰县| 隆子县| 双峰县| 华容县| 马鞍山市| 松桃| 治县。| 天长市| 拜城县| 商丘市| 古丈县| 定日县| 深水埗区| 万载县| 贵德县| 深州市|