如何藉助Motion操控Linux監控網路攝影機

來源:互聯網
上載者:User

如何藉助Motion操控Linux監控網路攝影機

Motionhttp://www.lavrsen.dk/foswiki/bin/view/Motion/)是一款小巧、輕型但又功能強大的應用軟體,可以用來在Linux上操控監控網路攝影機。它能夠與任何支援Linux的網路攝影機協同運行,包括所有的V4L網路攝影機、許多IP網路攝影機以及安迅士Axis)網路攝影機,它還可以控制平移和傾斜功能。Motion可以錄製使用JPEG、PPM和MPEG等格式的短片和快照,你可以在Web瀏覽器中遠程查看這些視頻,這要歸功於Motion的內建HTTP伺服器。它將影像檔儲存在你所選擇的一個目錄裡,它也不需要資料庫,不過它支援MySQL和PostgreSQL,如果你的確想要使用其中一個的話。

 

圖1:Foscam網路攝影機監視著進入本人地盤的所有人。

首先不妨看一下如何使用我那隻很可靠的Foscam FI8905W圖1),藉助Motion,讓IP網路攝影機工作起來,然後我們將添加一隻USB網路攝影機。

安裝過程在Debian和Debian衍生版本上很容易,因為Motion已包含在標準軟體庫當中。所以,你只需要運行apt-get install motion。你還需要libav-tools,這是ffmpeg的一個分支。許多月以前,Debian丟棄了ffmpeg,以libav-tools取而代之。在其他發行版上,查閱下載頁面http://www.lavrsen.dk/foswiki/bin/view/Motion/DownloadFiles)和安裝指南http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionGuideInstallation),即可瞭解相關的操作說明。另外大多數發行版仍包括ffmpeg。

安裝程式應該會建立一個motion群組和使用者,並且將motion使用者添加到video群組。要是安裝程式沒有建立motion群組和使用者,那麼你必須自行建立。還要自行添加到video群組,才能避開煩人的許可權問題。

現在運行motion,看看它是否管用:

 
  1. $ sudo motion  
  2. [0] Processing thread 0 - config file /etc/motion/motion.conf  
  3. [0] Motion 3.2.12 Started  
  4. [0] ffmpeg LIBAVCODEC_BUILD 3547904 LIBAVFORMAT_BUILD 3544067  
  5. [0] Thread 1 is from /etc/motion/motion.conf  
  6. [1] Thread 1 started  
  7. [0] motion-httpd/3.2.12 running, accepting connections  
  8. [1] Failed to open video device /dev/video0: No such file or directory  
  9. [0] motion-httpd: waiting for data on port TCP 8080  
  10. [1] Could not fetch initial image from camera  
  11. [1] Motion continues using width and height from config file(s)  
  12. [1] Resizing pre_capture buffer to 1 items  
  13. [1] Started stream webcam server in port 8081  
  14. [...] 

它會顯示好多好多行,直到你看到如下內容:

 
  1. [1] Failed to open video device /dev/video0: No such file or directory  
  2. [1] Video signal lost - Adding grey image 

將你的Web瀏覽器指向localhost:8081,你會看到一幅灰色映像:

 

圖2:如果Motion找不到網路攝影機,就會顯示灰色映像。

這很好,因為這表明Motion已正確安裝;你要做的就是對它進行配置。按Ctrl+C按鍵組合停止運行。然後,在你的主目錄下建立一個.motion目錄,將預設設定檔拷貝到該目錄中,並將所有權改成歸你所有:

 
  1. ~$ mkdir .motion  
  2. ~$ sudo cp /etc/motion/motion.conf .motion/  
  3. ~$ sudo chown carla:carla .motion/motion.conf 

你還需要用來儲存motion所拍攝映像的一個目錄:

 
  1. ~$ mkdir motion-images 

當你啟動Motion後,它會尋找設定檔,先在目前的目錄下尋找,然後在~/.motion下尋找,最後在/etc/motion下尋找。現在,編輯你的~/.motion/motion.conf檔案――該例子包括基本配置以及與我的Foscam IP網路攝影機相關的那些行:

 
  1. # 在精靈後台)模式下啟動,打2開終端預設:off)  
  2. daemon on  
  3. # 檢測到運動後,輸出“正常”圖片預設:on)  
  4. [...]  
  5. output_normal off  
  6. # 儲存進程編號的檔案,又叫pid檔案。預設:未定義)。  
  7. process_id_file /var/run/motion/motion.pid  
  8. # 映像寬度像素)。有效範圍:取決於網路攝影機,預設:352個像素  
  9. width 640  
  10. # 映像高度像素)。有效範圍:取決於網路攝影機,預設:288個像素  
  11. height 480  
  12. # 每秒拍攝的最大幀數量。  
  13. # 有效範圍:2-100。預設:100幾乎沒有限制)。  
  14. framerate 7  
  15. # 如果你使用網路攝影機要使用的URL,尺寸將自動檢測包括http://、ftp://或file:///)  
  16. # 必須是返回單JPEG圖片或原始MJPEG流的URL。預設:未定義  
  17. netcam_url value http://http://192.168.10.250:8080/videostream.cgi  
  18. # 網路攝影機的使用者名稱和密碼只要在需要時)。預設:未定義  
  19. # 文法是使用者:密碼  
  20. netcam_userpass admin:mypassword  
  21. # 儲存圖片和短片的目標基本目錄  
  22. # 推薦使用的絕對路徑。預設值:當前工作目錄)  
  23. target_dir /home/carla/motion-images  
  24. # ffmpeg用於視頻壓縮的轉碼器。  
  25. [...]  
  26. ffmpeg_video_codec mpeg4 

你需要建立用來儲存PID檔案的目錄,因為它在motion.conf中表明:

 
  1. $ sudo mkdir /var/run/motion 

現在再試著啟動它:

 
  1. $ sudo motion  
  2. [0] Processing thread 0 - config file /home/carla/.motion/motion.conf  
  3. [0] Motion 3.2.12 Started  
  4. [0] Motion going to daemon mode 

到目前為止很好,現在再試一下localhost:8081:

 

圖3:Motion拍到了我家的私人車道。

看好了,那是本人的私人車道。現在要是有人過來,就會發出警報,那樣我可以開門放狗。在你的網路攝影機前跑動,就能觸發運動檢測系統;等你回來後,映像目錄裡面應該有一些.avi短片。你還應該會在localhost:8080找到一個簡單的Motion控制台。

IP網路攝影機設定

《如何在Linux上藉助ZoneMinder操控Linux監控網路攝影機?第1部分)》一文較為詳細地介紹了如何設定你的網路攝影機,詳見http://www.linux.com/learn/tutorials/762058-how-to-operate-your-spycams-with-zoneminder-on-linux-part-1-。在最初的設定過程,你必須遵守網路攝影機廠商的操作說明,比如輸入登入資料和密碼,以及設定IP地址。你可以還有其他選項,比如幀大小、運動敏感度以及色彩深度或黑白。

獲得準確的netcam_url有時很麻煩。就我的Foscam而言,我在Firefox中調出了控制台,滑鼠右擊映像圖4),然後左擊View Image Info查看映像資訊)。這開啟了類似圖5的畫面,它顯示了視頻流的準確URL。在Chrome瀏覽器中,使用“Inspect element”檢查元素)。

 

圖4:Firefox中的Foscam控制台。

 

圖5:找到網路攝影機視頻流的URL。

微調配置值

你可以在設定檔中調整各種各樣的參數,比像尺寸、映像品質、畫面播放速率、運動敏感度、幀中所選擇地區的更高敏感度、檔案路徑、HTTP伺服器和時間戳記格式。《Motion指南:按字母順序排列的選項參考手冊》給出了每個選項的詳細資料,詳見http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionGuideAlphabeticalOptionReferenceManual。記得使你的Motion設定與網路攝影機控制台中的設定相一致,如果網路攝影機有控制台的話。

USB網路攝影機

任何支援V4l的USB網路攝影機應該不需要費太大的勁就能工作。視頻裝置將是/dev/video0。只有網路攝影機是串連到你電腦的目錄,/dev/video0才會出現。這是我那隻羅技網路攝影機的基本的樣本配置:

 
  1. videodevice /dev/video0  
  2. width 640  
  3. height 480  
  4. framerate 24  
  5. output_normal off  
  6. ffmpeg_video_codec mpeg4  
  7. target_dir /home/carla/motion 

同樣要記住:諸如畫面播放速率和幀尺寸之類的設定都依賴你的網路攝影機支援的標準。

讓Motion在後台運行

一旦你搞定了一切,讓Motion作為一個背景程式運行,為此只要編輯/etc/default/motion,然後將start_motion_daemon=no改成start_motion_daemon=yes。現在,當你開啟電腦時,Motion就會自動啟動,你可以像對待其他任何背景程式那樣啟動和停止它了。

控制多隻網路攝影機

Motion可以輕鬆管理多隻網路攝影機――你只要為每隻網路攝影機分配各自的設定檔,命名為thread1.conf、 thread1.conf,以此類推。daemon on等常見選項和檔案路徑仍需要你的主motion.conf。然後每個“線程”檔案都有專門針對每一隻網路攝影機的配置。
 

英文:http://www.linux.com/learn/tutorials/780055-how-to-operate-linux-spycams-with-motion

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.