基于S3C2440A設計的視頻監(jiān)控系統(tǒng)
圖像采集處理流程圖如圖2 所示。
圖2 圖像采集處理流程圖
3.3 網(wǎng)絡服務器
系統(tǒng)采用Boa 服務器。Boa 是一種非常小巧的Web 服務器, 其可執(zhí)行代碼只有大約60 kB 左右。作為一種單任務Web 服務器,Boa 只能依次完成用戶的請求,Boa 支持CGI,能夠為CGI 程序fork 出一個進程來執(zhí)行。板上移植該服務器,Boa 服務器默認開機自動運行,配置conf 文件。
服務器端應用程序使用servfox, servfox-R1_1_3 解壓修改Makefile 文件:CC=arm-linux-gcc,編譯后得到可執(zhí)行文件servfox,下載到板上,輸入命令chmod +x servfox 為它添加可執(zhí)行屬性。
客戶端程序使用spcawiew, 該程序用于在Linux 主機上對服務器進行監(jiān)控,無需移植。在Linux 上編譯spcaview.由于此軟件包依賴與libsdl,所以在安裝spcaview 之前,需要安裝SDL-1.2.13. 安裝spcaview 軟件后,在源文件目錄上有3 個可執(zhí)行文件,spcacat :簡單圖片的抓取工具,不能用于網(wǎng)絡監(jiān)視客戶端,Spcaserv:流媒體服務器,Spcaview: 用來紀錄數(shù)據(jù)流,也能用來播放數(shù)據(jù),也能作為網(wǎng)絡監(jiān)視客戶端用。
4 監(jiān)控過程
4.1 在Linux 操作系統(tǒng)上的監(jiān)控
正常啟動運行開發(fā)板,運行服務器端程序servfox: servfox-d /dev/video0-s 320x240-w 7070。
在Linux 上運行: 。/spcaview-g-s 320x240-w 10.1.91.230:7070
其中10.1.91.230 是服務器的IP 地址,這樣就可以在PC機上看見USB 攝像頭采集進來的數(shù)據(jù)了。
系統(tǒng)是裝在虛擬機中的fedora 9 linux 系統(tǒng),可以流暢地觀察到攝像頭監(jiān)控區(qū)域的情況。
4.2 Windows 操作系統(tǒng)上的監(jiān)控
對于網(wǎng)絡監(jiān)控的客戶端,能夠跨平臺的工具目前只有瀏覽器,通過瀏覽器來監(jiān)控,無論是Linux、Windows、MacOS 或者其他的UNIX 系統(tǒng),只要有圖形界面的瀏覽器,在桌面環(huán)境下都可以對遠程的攝像頭所“控制”的范圍進行監(jiān)控。
Mini2440 上已經(jīng)有Boa 服務器可供使用,Spcaview 中的http-java-applet 文件夾中已經(jīng)包含了一個可以監(jiān)控使用的web 頁面,將該文件夾復制到Boa 服務器的主文件夾/www 下。
由于http-java-applet 文件夾內(nèi)含的WEB 主頁面(Index.html)包含了JAVA 控件,所以先在主機上安裝JAVA 環(huán)境,讓瀏覽器支持JAVA 插件。
安裝好JRE 后, 在瀏覽器的地址欄上輸入服務器地址,即可實現(xiàn)遠程監(jiān)控。
4.3 遠程抓拍
通過web 表單提交CGI 來運行應用程序。
通用網(wǎng)關接口(CGI)規(guī)范允許Web 服務器執(zhí)行其他的程序并將它們的輸出儲存在發(fā)送給Web 瀏覽器的文本、圖形和音頻中。服務器與CGI 程序的結合能夠擴充World WideWeb 的能力。
CGI 程序可以由C、Perl 或者UNIX Shell 腳本等流行編程語言編寫。
在本設計中,網(wǎng)頁上的按鈕shoot the picture 提交了一個名為V4L 的CGI 文件v4l.cgi,該文件是用shell 腳本編寫的,用于在板上運行已編譯好的圖像采集程序并對抓拍的圖片返回到新打開的網(wǎng)頁中進行查看。
Shell 腳本(v4l.cgi)內(nèi)容如下:
#! /bin/sh
/www/http-java-applet/v4l2
echo “Content-type: text/html; charset=gb2312”
echo
echo “……”
echo “
” > src="”1.jpg“">
exit 0
5 結束語
系統(tǒng)采用開源的Linux 系統(tǒng),降低了開發(fā)成本,可以任意裁剪和制定內(nèi)核,方便移植。與傳統(tǒng)PC 機的監(jiān)控系統(tǒng)相比,本系統(tǒng)具有體積小、成本低、可靠性強等優(yōu)勢。本系統(tǒng)還具有一定的擴展性,可以增加適當?shù)墓δ軘U展來滿足用戶更高的要求, 如在圖像采集端加入設置入侵檢測或者報警等控制功能。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關文章:linux教程
評論