1、網絡監控服務器的說明;
如何用攝像頭做一個時時監控的系統呢?也就是說有一臺網絡專用臨控服務器,其它客戶機通過網絡影像監控軟件或瀏覽器來進行時時監控攝像頭所在位置,所發生的一切。我沒有弄過專業類的視頻監控,也不知道他們用的是什么專業的設備,也不知道他們有什么功能。我所理解的網絡監控服務器應用如下內容:
* 時時監控功能:時時監控攝像頭所監視的范圍;
* 數據流采集功能:時時采集監控數據流,以備將來查找相關影像資料做準備;
* 照片抓取功能:比如每隔5分鐘抓取一張照片;
* 時間戳功能;
* 數據備份功能(附加);
2、Linux 用攝像頭(WebCam)做網絡監視服務器所需條件和要達到的目的;
我們首先定義一下我們用攝像頭(WebCam)來做網絡時時臨控系統所需的條件和要達到的目的;
2.1 所需要的軟件環境和硬件設備;
首先:得有一個攝像頭(WebCam),并且是 能被 Linux 所支持的攝像頭,請參考: 《攝像頭(WebCam)在Linux操作系統中的驅動方法 》
其次:軟件環境,我們用 Spcaserv來架設;
第叁:網絡環境,我們得有一個網絡環境,比如我來測試我所做的網絡監視系統是否成功,至少在局域網內有兩臺機器吧,雖然一臺也能做,但至于網絡的其它計算機是否能看得到,如果機器太少,我們無從得知;
2.2 所要達到的目的;
* 時間監控:能跨平臺,所有的系統都無障礙查看監視;
* 數據采集:可在服務器端進行,但要運行在桌面環境下;在Linux 客戶端中進行;由于軟件限制,只能這樣說了;
3、Linux 用攝像頭(WebCam)的驅動方法;
請參考: 《攝像頭(WebCam)在Linux操作系統中的驅動方法 》
4、在 Linux 中用 Spcaserv架設網絡監控服務器;
4.1 下載軟件 Spcaview;
下載地址: http://mxhaard.free.fr/spca50x/Download> ,我下載的是目前這個版本: spcaview-20051212.tar.gz
spcaview-20051212.tar.gz軟件包包含一組工具;
* Spcaview 工具是用來紀錄數據流,也能用來播放數據;也能做為網絡監視客戶端用;
* Spcaserv 是流媒體服務器,我們就是用這個工具來做監控服務器;
* Spcacat 簡單圖片的抓取工具,不能用于網絡監視客戶端 ;
4.2 Spcaview 軟件包的安裝;
依賴關系;
此軟件依賴 libsdl,要先安裝它才行,下載地址:http://www.libsdl.org ,我下載的是:SDL-1.2.10.tar.gz
http://www.libsdl.org/download-1.2.php
[root@localhost ~]# tar zxvf SDL-1.2.10.tar.gz
[root@localhost ~]# cd SDL-1.2.10
[root@localhost SDL-1.2.10]# ./configure ; make ;make install
安裝SpcaView 軟件包:
[root@localhost ~]# tar zxvf spcaview-20051212.tar.gz
[root@localhost ~]# cd spcaview-20051212
[root@localhost spcaview-20051212]# make ; make install
配置可執行程序的路徑:
可執行的工具被安裝到 /usr/local/bin目錄中,所以我們還要配置一下用戶的環境變量PATH 。配置命令執行路徑,在當前用戶家目錄下的.bashrc文件中加入下面的一行;
export PATH=".:/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin"
然后運行如下命令;
[root@localhost spcaview-20051212]# source .bashrc
關于路徑的配置,請參考:《Linux 命令及可執行程序路徑的設置》 ;《關于Linux 文件系統中路徑的理解》
4.3 Spcaserv 服務器的配置和運行;
4.31 Spcaserv 服務器的運行;
Spcaserv 運行方法如下;
spcaserv [-h -d -g -f -s] [-w Port]
參數說明:
-h 查看幫助;
-d /dev/videoX 指定攝像頭設備,比如 /dev/video0
-g use read method for grab instead mmap
-f 影像格式,默認為YUV420P,fourcc I420
jpg JPEG fourcc MJPG
yuv YUV420P fourcc I420
r16 RGB565 16bits fourcc RGB2
r24 RGB 24bits fourcc RGB3
r32 RGB 32bits fourcc RGB4
-v RAW data fourcc RAWD
-s 設置分辨率,寬x高 ,比如 320x240,或 640x480,或160x120;
-w 指定服務器的網絡地址或端口,比如 192.168.1.3:8888
4.32 Spcaserv 運行示例;
我在 192.168.1.3 這臺機器做為網絡監控服務器,并且指定服務器運行在 8888端口上;并且客戶端監視時所顯示的畫面是 320x240的分辨率;
[root@localhost spcaview-20051212]# spcaserv -s 320x240 -w 192.168.1.3:8888&
4.33 配置HTTPD服務器,以便客戶端能在瀏覽器下查看;
首先:安裝和配置HTTPD服務器;
至于HTTPD服務器在Linux常用的就是Apache服務器,您可以通過您所用的發行版提供的軟件包來安裝,也可以自行編譯安裝,在 LinuxSir.Org 的網絡討論區的置頂帖子中有很多這樣的帖子;安裝好HTTPD服務器后,要把服務器啟動起來。
在 Fedora 或Redhat 中,如果是用其所提供的 RPM包安裝的,要用如下方法啟動;
[root@localhost spcaview-20051212]# /etc/init.d/httpd start
其次:復制SpcaView 軟件包解壓目錄下的 http-java-applet 目錄到WEB服務器的家目錄下;
比如Fedora的HTTPD服務器的默認家目錄是 /var/www/html,我以我的機器來說明了,所以我要做如下的工作;
[root@localhost spcaview-20051212]# cp -R http-java-applet /var/www/html/webcam/
[root@localhost spcaview-20051212]# chmod -R 755 /var/www/html/webcam
第叁: 進入/var/www/html/webcam 目錄制作視頻首頁;
[root@localhost spcaview-20051212]# cd /var/www/html/webcam
[root@localhost webcam]# cp index-sample.html index.htm
您可以用查看index.htm文件內容,可以自己改一改,也就是把洋文改成中文;根據自己的情況自己看著辦吧;
5、 網絡客戶端監控工具介紹;
對于客戶端網絡監控,能跨平臺的客戶端只有通過瀏覽器了,這是最方便的方法;另外在Linux中有 Spcaview工具可用;現一一介紹;
5.1 通過瀏覽器監控;
5.11 安裝JRE,以讓瀏覽器支持JAVA程序;
我們可以通過瀏覽器來監控,利用瀏覽器監控可以跨平臺監視,這樣無論Linux、Windows、還是MacOS,或者是BSD及其它UNIX系統,只要有圖形界面的瀏覽器,在桌面環境下就可以對攝像頭(WebCam) 所“控制”的范圍進行監控。
由于服務器端的WEB頁面包括JAVA控件,所以您得安裝 JAVA環境。要讓瀏覽器支持JAVA插件。
在 Linux 中,您可以參考:《JRE 安裝和配置,以適合JAVA程序運行所具備的環境》
在Windows中,點鼠標就可以完成操作,不再介紹了;
5.12 瀏覽器監控示例(跨平臺);
當您安裝好JRE后,在瀏覽器的地址欄上輸入Spcaserv監控服務器地址,看能不能顯示出來?比如我的服務器地址是:
http://192.168.1.3/webcam/index.htm
如圖所示,我們可以看到在局域網的計算機都可以通過瀏覽器進行監視了;
?
5.2 Linux 客戶端通過Spcaview;
5.21 Spcaview 進行網絡時時監控;
Spcaview 是 Linux網絡客戶端監控工具,當然也能用于本地測試攝像頭用,如果Spcaserv占用了攝像著,只能作為網絡監控工具來用,通過-w參數來指定Spcaserv 服務器地址;
Spcaserv 時時監控很簡單,您可以通過 spcaserv -h 來獲得幫助;比如我們獲取 Spcaserv服務器上的監視數據流。就可以用下面的辦法;
[root@localhost ~]# spcaview -s 320x240 -w 192.168.1.3
當然您可以在服務器端運行上面的命令也可,如果在服務器端運行,得有桌面環境;
5.22 通過Spcaview 進行數據流采集;
對于數據流的采集,可以在服務器端,也可以在客戶端。當然服務器端和客戶端都得有桌面環境; Spcaview 工具是通過 -o 參數把數據流傳到一個文件中。您也可以采用壓縮數據流的辦法,要用到-z參數;
[root@localhost ~]# spcaview -h 注:查看幫助;
關于通過Spcaview通過指定 Spcaserv服務器地址的辦法來采集數據,我測試并成功,表現在不能寫入到輸出文件中,我先學習學習再說。如果您成功了,請在本文后面留言,謝謝。
評論
查看更多