如何借助Motion操控Linux監(jiān)控?cái)z像頭
譯文Motion(http://www.lavrsen.dk/foswiki/bin/view/Motion/)是一款小巧、輕型但又功能強(qiáng)大的應(yīng)用軟件,可以用來在Linux上操控監(jiān)控?cái)z像頭。它能夠與任何支持Linux的攝像頭協(xié)同運(yùn)行,包括所有的V4L網(wǎng)絡(luò)攝像頭、許多IP攝像頭以及安迅士(Axis)攝像頭,它還可以控制平移和傾斜功能。Motion可以錄制使用JPEG、PPM和MPEG等格式的短片和快照,你可以在Web瀏覽器中遠(yuǎn)程查看這些視頻,這要?dú)w功于Motion的內(nèi)置HTTP服務(wù)器。它將圖像文件存儲(chǔ)在你所選擇的一個(gè)目錄里,它也不需要數(shù)據(jù)庫,不過它支持MySQL和PostgreSQL,如果你的確想要使用其中一個(gè)的話。
圖1:Foscam網(wǎng)絡(luò)攝像頭監(jiān)視著進(jìn)入本人地盤的所有人。
首先不妨看一下如何使用我那只很可靠的Foscam FI8905W(圖1),借助Motion,讓IP攝像頭工作起來,然后我們將添加一只USB網(wǎng)絡(luò)攝像頭。
安裝過程在Debian和Debian衍生版本上很容易,因?yàn)镸otion已包含在標(biāo)準(zhǔn)軟件庫當(dāng)中。所以,你只需要運(yùn)行apt-get install motion。你還需要libav-tools,這是ffmpeg的一個(gè)分支。許多月以前,Debian丟棄了ffmpeg,以libav-tools取而代之。在其他發(fā)行版上,查閱下載頁面(http://www.lavrsen.dk/foswiki/bin/view/Motion/DownloadFiles)和安裝指南(http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionGuideInstallation),即可了解相關(guān)的操作說明。另外大多數(shù)發(fā)行版仍包括ffmpeg。
安裝程序應(yīng)該會(huì)創(chuàng)建一個(gè)motion群組和用戶,并且將motion用戶添加到video群組。要是安裝程序沒有創(chuàng)建motion群組和用戶,那么你必須自行創(chuàng)建。還要自行添加到video群組,才能避開煩人的權(quán)限問題。
現(xiàn)在運(yùn)行motion,看看它是否管用:
- $ sudo motion
 - [0] Processing thread 0 - config file /etc/motion/motion.conf
 - [0] Motion 3.2.12 Started
 - [0] ffmpeg LIBAVCODEC_BUILD 3547904 LIBAVFORMAT_BUILD 3544067
 - [0] Thread 1 is from /etc/motion/motion.conf
 - [1] Thread 1 started
 - [0] motion-httpd/3.2.12 running, accepting connections
 - [1] Failed to open video device /dev/video0: No such file or directory
 - [0] motion-httpd: waiting for data on port TCP 8080
 - [1] Could not fetch initial image from camera
 - [1] Motion continues using width and height from config file(s)
 - [1] Resizing pre_capture buffer to 1 items
 - [1] Started stream webcam server in port 8081
 - [...]
 
它會(huì)顯示好多好多行,直到你看到如下內(nèi)容:
- [1] Failed to open video device /dev/video0: No such file or directory
 - [1] Video signal lost - Adding grey image
 
將你的Web瀏覽器指向localhost:8081,你會(huì)看到一幅灰色圖像:
圖2:如果Motion找不到攝像頭,就會(huì)顯示灰色圖像。
這很好,因?yàn)檫@表明Motion已正確安裝;你要做的就是對(duì)它進(jìn)行配置。按Ctrl+C組合鍵停止運(yùn)行。然后,在你的主目錄下創(chuàng)建一個(gè).motion目錄,將默認(rèn)配置文件拷貝到該目錄中,并將所有權(quán)改成歸你所有:
- ~$ mkdir .motion
 - ~$ sudo cp /etc/motion/motion.conf .motion/
 - ~$ sudo chown carla:carla .motion/motion.conf
 
你還需要用來存儲(chǔ)motion所拍攝圖像的一個(gè)目錄:
- ~$ mkdir motion-images
 
當(dāng)你啟動(dòng)Motion后,它會(huì)尋找配置文件,先在當(dāng)前目錄下尋找,然后在~/.motion下尋找,最后在/etc/motion下尋找?,F(xiàn)在,編輯你的~/.motion/motion.conf文件――該例子包括基本配置以及與我的Foscam IP攝像頭相關(guān)的那些行:
- # 在守護(hù)程序(后臺(tái))模式下啟動(dòng),打2開終端(默認(rèn):off)
 - daemon on
 - # 檢測到運(yùn)動(dòng)后,輸出“正常”圖片(默認(rèn):on)
 - [...]
 - output_normal off
 - # 存儲(chǔ)進(jìn)程編號(hào)的文件,又叫pid文件。(默認(rèn):未定義)。
 - process_id_file /var/run/motion/motion.pid
 - # 圖像寬度(像素)。有效范圍:取決于攝像頭,默認(rèn):352個(gè)像素
 - width 640
 - # 圖像高度(像素)。有效范圍:取決于攝像頭,默認(rèn):288個(gè)像素
 - height 480
 - # 每秒拍攝的最大幀數(shù)量。
 - # 有效范圍:2-100。默認(rèn):100(幾乎沒有限制)。
 - framerate 7
 - # 如果你使用網(wǎng)絡(luò)攝像頭要使用的URL,尺寸將自動(dòng)檢測(包括http://、ftp://或file:///)
 - # 必須是返回單JPEG圖片或原始MJPEG流的URL。默認(rèn):未定義
 - netcam_url value http://http://192.168.10.250:8080/videostream.cgi
 - # 網(wǎng)絡(luò)攝像頭的用戶名和密碼(只要在需要時(shí))。默認(rèn):未定義
 - # 語法是用戶:密碼
 - netcam_userpass admin:mypassword
 - # 存儲(chǔ)圖片和短片的目標(biāo)基本目錄
 - # 推薦使用的絕對(duì)路徑。(默認(rèn)值:當(dāng)前工作目錄)
 - target_dir /home/carla/motion-images
 - # ffmpeg用于視頻壓縮的編解碼器。
 - [...]
 - ffmpeg_video_codec mpeg4
 
你需要?jiǎng)?chuàng)建用來存儲(chǔ)PID文件的目錄,因?yàn)樗趍otion.conf中表明:
- $ sudo mkdir /var/run/motion
 
現(xiàn)在再試著啟動(dòng)它:
- $ sudo motion
 - [0] Processing thread 0 - config file /home/carla/.motion/motion.conf
 - [0] Motion 3.2.12 Started
 - [0] Motion going to daemon mode
 
到目前為止很好,現(xiàn)在再試一下localhost:8081:
圖3:Motion拍到了我家的私人車道。
看好了,那是本人的私人車道?,F(xiàn)在要是有人過來,就會(huì)發(fā)出警報(bào),那樣我可以開門放狗。在你的攝像頭前跑動(dòng),就能觸發(fā)運(yùn)動(dòng)檢測系統(tǒng);等你回來后,圖像目錄里面應(yīng)該有一些.avi短片。你還應(yīng)該會(huì)在localhost:8080找到一個(gè)簡單的Motion控制面板。
IP攝像頭設(shè)置
《如何在Linux上借助ZoneMinder操控Linux監(jiān)控?cái)z像頭?(第1部分)》一文較為詳細(xì)地介紹了如何設(shè)置你的攝像頭,詳見http://www.linux.com/learn/tutorials/762058-how-to-operate-your-spycams-with-zoneminder-on-linux-part-1-。在最初的設(shè)置過程,你必須遵守?cái)z像頭廠商的操作說明,比如輸入登錄資料和密碼,以及設(shè)定IP地址。你可以還有其他選項(xiàng),比如幀大小、運(yùn)動(dòng)敏感度以及色彩深度或黑白。
獲得準(zhǔn)確的netcam_url有時(shí)很麻煩。就我的Foscam而言,我在火狐中調(diào)出了控制面板,鼠標(biāo)右擊圖像(圖4),然后左擊View Image Info(查看圖像信息)。這打開了類似圖5的畫面,它顯示了視頻流的準(zhǔn)確URL。在Chrome瀏覽器中,使用“Inspect element”(檢查元素)。
圖4:火狐中的Foscam控制面板。
圖5:找到攝像頭視頻流的URL。
微調(diào)配置值
你可以在配置文件中調(diào)整各種各樣的參數(shù),比如圖像尺寸、圖像質(zhì)量、幀速率、運(yùn)動(dòng)敏感度、幀中所選擇區(qū)域的更高敏感度、文件路徑、HTTP服務(wù)器和時(shí)間戳格式?!禡otion指南:按字母順序排列的選項(xiàng)參考手冊(cè)》給出了每個(gè)選項(xiàng)的詳細(xì)信息,詳見http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionGuideAlphabeticalOptionReferenceManual。記得使你的Motion設(shè)置與攝像頭控制面板中的設(shè)置相一致,如果攝像頭有控制面板的話。
USB攝像頭
任何支持V4l的USB網(wǎng)絡(luò)攝像頭應(yīng)該不需要費(fèi)太大的勁就能工作。視頻設(shè)備將是/dev/video0。只有攝像頭是連接到你電腦的目錄,/dev/video0才會(huì)出現(xiàn)。這是我那只羅技網(wǎng)絡(luò)攝像頭的基本的示例配置:
- videodevice /dev/video0
 - width 640
 - height 480
 - framerate 24
 - output_normal off
 - ffmpeg_video_codec mpeg4
 - target_dir /home/carla/motion
 
同樣要記住:諸如幀速率和幀尺寸之類的設(shè)置都依賴你的攝像頭支持的標(biāo)準(zhǔn)。
讓Motion在后臺(tái)運(yùn)行
一旦你搞定了一切,讓Motion作為一個(gè)后臺(tái)程序運(yùn)行,為此只要編輯/etc/default/motion,然后將start_motion_daemon=no改成start_motion_daemon=yes?,F(xiàn)在,當(dāng)你開啟電腦時(shí),Motion就會(huì)自動(dòng)啟動(dòng),你可以像對(duì)待其他任何后臺(tái)程序那樣啟動(dòng)和停止它了。
控制多只攝像頭
Motion可以輕松管理多只攝像頭――你只要為每只攝像頭分配各自的配置文件,命名為thread1.conf、 thread1.conf,以此類推。daemon on等常見選項(xiàng)和文件路徑仍需要你的主motion.conf。然后每個(gè)“線程”文件都有專門針對(duì)每一只攝像頭的配置。
 
英文:http://www.linux.com/learn/tutorials/780055-how-to-operate-linux-spycams-with-motion


















 
 
 







 
 
 
 