日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式視頻監(jiān)控系統(tǒng)設計方案

          嵌入式視頻監(jiān)控系統(tǒng)設計方案

          作者: 時間:2013-02-19 來源:網絡 收藏

          2.3 視頻流網絡傳輸的實現

          本系統(tǒng)視頻的網絡傳輸是基于面向連接的TCP協(xié)議來實現。TcP/IP協(xié)議數據傳輸可分為3個階段:建立連接,傳輸數據,斷開連接[6]。首先服務器通過socket()函數創(chuàng)建套接字,使用bind()函數將創(chuàng)建好的套接字與端口綁定,然后調用listen()函數使服務器處于監(jiān)聽狀態(tài),等待客戶端應用程序的連接請求。客戶端應用程序通過打開一個socket即套接字,來使用TCP服務。當服務器接收到用戶的連接請求后,服務器調用accept()函數建立雙方連接,響應客戶的請求,并創(chuàng)建新線程,該線程負責把數據發(fā)送給用戶。

          3 嵌入式Web服務器的設計

          目前,B/S模式的網絡結構因其具有先進的開發(fā)技術、優(yōu)越的可管理性和可維護性,以及模式簡單方便等優(yōu)點而成為最流行的應用方式"]。本系統(tǒng)采用的正是該結構,因而用戶通過嵌入式Web服務器,使用IE瀏覽器即可遠程訪問嵌入式設備,實現對現場的遠程監(jiān)。

          Boa是Linux支持web服務器之一,它是一個單任務的http服務器,具有代碼結構簡單、支持動態(tài)CGI、“p服務,并且源代碼開放等優(yōu)點,因而特別適合在嵌入式系統(tǒng)中用做web服務器n]。從網上下載其源代碼Boa—o.94.13.tar.gz,其在本系統(tǒng)上的移植主要包括2個部分:src下的文件修改和config文件修改。

          boa—o.94.13/src文件的修改:首先設置boa—o.94/Makefile文件中的編譯器變量:CC=/arm一1inux-gcc,CPP一/arnl_linux—gcc_E;并修改編譯方式:LDFLAGS=一g—static。然后在文件compat.h中找到宏定義#defineTIMEz0NELOFFSET(foo)foo##一>tm—gmtoff并修改為#define TIMEZONE一0FFSET(foo)f00->tm—gmtoff。接著便可在boa—o.94/src/下執(zhí)行make進行編譯,從而得到的可執(zhí)行程序為boa,使用串口將其下載到目標機上,完成移植。

          boa—O。94/boa.conf文件的修改,由于boa必須以root身份啟動,所以將User nobody修改為User mot,Groupnogroup修改為Group r00t,即賦予管理員權限;修改服務器名字,即將ServerName www.your.org.here修改為serverName sm2440;修改DocumentRoot/var/www為
          DocumentRoot/home/web,即設置HTML文檔的主目錄為/home/web;最后指明nime.types文件位置為Mime—Types/etc/milne.types;其他采用默認設置即可。最后將boa-0.94/boa.conf拷貝到/etc/boa/目錄下,配置好Web服務器,就可以進行遠程訪問了。

          4 實現客戶端視頻數據接收應用程序

          本系統(tǒng)的web客戶端采用Java Applet為用戶提供一個管理人口和顯示界面,Java Applet程序嵌入于HTML文檔并能在標準的瀏覽器中顯示運行,這種方式不用專門的開發(fā)軟件與網絡接口,是基于web網絡應用程序的理想選擇。本系統(tǒng)需要在顯示頁面中嵌入播放器程序實時播放前端獲取的監(jiān)控視頻。其中視頻數據接收是客戶端軟件設計的關鍵,其實現如下:

          首先建立網絡通信,即創(chuàng)建套接字,輸入輸出流。然后分配接收緩沖區(qū),即:byte[]buffer—new byte[5 12*1024];

          之后讀取圖像的頭信息,并確認圖像數據的正確性,即:int n=in.r∞d(bu“er,O,HDRLEN);

          其中HDRLEN為信息頭長度,設置為50 B大小,通過對頭信息中包含的約定字符進行判斷,以確定是進一步接收圖像數據,還是重新接收頭信息。如果能正確讀取圖像頭信息,就證明此次接收的視頻數據流是正確的,接著就可以把頭信息后的圖像數據寫入緩沖區(qū),供播放顯示:
          n=HDRLEN;

          r—in.read(buffer,n,buffer.1ength-n);由于視頻流緩沖區(qū)內接收的幅靜態(tài)圖像數據包含了圖像頭信息,因此需要將圖像數據拷貝到另一緩沖區(qū)內,以獲得單獨的圖像數據:

          byte[]buffeLimage=new byte[n];.
          for(int i一0;in;i++)
          buffer.image[i]=buffer[i+HDRLEN]I

          接著從緩沖區(qū)buffer-image中讀人數據:

          BufferedImage imagedata=
          Imagel0.read(new ByteArrayInputStream(buffer—image)),
          ImageIcon image—icon=new Image Icon(imageedate m-label.set Icon(image—icon),

          系統(tǒng)通過循環(huán),實現不斷讀取,顯示圖像數據,用戶便可從主頁面上獲取前端采集到的實時視頻監(jiān)控數據,畫面流暢,無明顯延時和畫面停滯現象,達到監(jiān)控目的。

          5 結束語

          目前,嵌入式產品方興未艾口”。本文提出的這套嵌入式設計方案,采用性價比很高的ARM處理器與開源操作系統(tǒng)Linux相結合,具有高穩(wěn)定性、低成本、低功耗等諸多優(yōu)點,并且基于B/S模式,直接接入以太網,大量節(jié)省電纜開銷,即插即用,實現跨平臺監(jiān)控,為用戶提供了極大便利。本系統(tǒng)很好地體現了智能化、集成化、網絡化、跨平臺等優(yōu)點,可廣泛用于智能家居、智能交通、工廠等制造單位及需實時監(jiān)控場所。

          蜂鳴器相關文章:蜂鳴器原理

          上一頁 1 2 下一頁

          關鍵詞: 視頻監(jiān)控系統(tǒng) S3C2440 網絡化程度

          評論


          相關推薦

          技術專區(qū)

          關閉