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伺服器位址的辦法來採集資料,我測試並成功,表現在不能寫入到輸出檔案中,我先學習學習再說。如果您成功了,請在本文後面留言 ,謝謝。
SORRY 。。。
6、其它網路監控伺服器;
7、關於本文;
8、更新日誌;
2006.06.10 v0.1b 本文完成,進入修訂階段;
9、參考文檔;
spcaview -h
spcaserv -h
Spcaview 軟體包中的README;
10、相關文檔;