Raspberry Pi 筆記(19): Webcam 拍照與瀏覽串流媒體

RaspBerry Pi官方推出直接安裝在 Pi主機的攝影鏡頭,使用軟性排線插在主機板上,而非使用USB介面。考量Webcam的多用途性,我買了相容性比較高的 Logitech Webcam C310,畫質稍好,價格又不會太高。Webcam有兩個用法,一是拍照存檔成jpeg檔,另一個功能是拍攝成影片,前者安裝 fswebcam就可以達成,要作為監視器使用,則需安裝 motion 軟體。

[安裝fswebcam]

下載安裝fswebcam軟體:
$ sudo apt-get install fswebcam

拍照存成 test.jpg
$ fswebcam test.jpg

拍成的照片,畫質不佳,如果要改變畫質,可以在同目錄下建立conf 檔:
$ vi .fswebcam.conf
設定檔內容如下:
device /dev/video0
input 0
loop 15
skip 20
background
resolution 640x480
set brightness=60%
set contrast=13%
top-banner
font /usr/share/fonts/truetype/msttcorefonts/arial.ttf
title "EvilEye cam-O-tron"
timestamp "%d-%m-%Y %H:%M:%S (%Z)"
jpeg 95
save /home/pi/fswebcam/viewcam.jpg

執行fswebcam結果如下:




[安裝影像軟體 Motion]

先檢查插在USB的 Webcam 是否已經驅動:
$ sudo lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 046d:081b Logitech, Inc. Webcam C310
Bus 001 Device 004: ID 0bda:8179 Realtek Semiconductor Corp.

安裝 motion 軟體
$ sudo apt-get install motion

安裝完成後,修改設定檔 motion.conf ,將DAEMON OFF改為ON,設定為自動啟動motion,Webcam_localhost ON改為 OFF,不從Raspberry Pi連線至Webcam
$ sudo vi /etc/motion/motion.conf
daemon on
webcam_localhost = off

[2017/12/11]
沒找到上述第二行,改成:
stream_localhost  off

# Web連線使用8081 Port
webcam_port 8081
# 2017/12/16 新的設定檔已改成以下名稱
stream_port 8081

# 管理用的連線使用8080 Port
control_port 8080
# 2017/12/16 新的設定檔已改成以下名稱
webcontrol_port 8080

#如果要修改畫面大小,可修改
# 影像寬度 (pixels). 預設: 320
width 640
# 影像高度 (pixels). 預設: 240
height 480
# 影像品質(百分比). 預設: 50
webcam_quality 100

 
640*480, 畫質75% 畫面

修改 /etc/default/motion 將 start_motion_daemon=no 改為 yes
$ sudo vi /etc/default/motion
start_motion_daemon=yes

重新啟動 motion 服務
$ sudo service motion start

接著使用瀏覽器輸入:http://192.168.0.107:8081 即可看到影像。

如果要查詢您的 USB WebCam是否支援Raspberry Pi,可以到以下網站查詢:
http://elinux.org/RPi_USB_Webcams

剛開始我使用 IE 連線時,會要我下載檔案,然後下載了2-3mb還是無法看到影像,在論壇上找了很久,有網友告知使用 Firefox 或 Safari 就可以看到影像畫面了。可參考:Raspberry Pi Forum : can't view streaming in browser

參考資料
Raspberry Pi Cookbook
Pi Cam
● R3uk.com: Webcam capture using fswebcam
Share on Google Plus
    Blogger Comment
    Facebook Comment

7 意見:

  1. 不好意思,能否給我您的聯絡方式,我的motion那邊跟每個人的都不一樣,沒有control_port那邊
    stuprojectxc@gmail.com

    回覆刪除
  2. 您好 ,我想請問樹莓派是否能使用兩顆webcame做工作呢,然後裝兩顆鏡頭的衝突又如何解決呢? 感謝您

    回覆刪除
    回覆
    1. 妳好,樹莓派可以安裝兩個Webcam,因我手邊沒有兩個Webcam可進行實作,這裡有一篇文章教你怎麼設定兩個Webcam,你可以參考一下:https://darwindelacruz.wordpress.com/2017/06/06/how-to-make-a-portable-monitoring-system-using-raspberry-pi/


      刪除
  3. 你好,我的fswebcame無法拍照, 我按照你的步驟 輸入$ fswebcam test.jpg 可是出來的是 start: no such file or directory 這該怎麼解決?

    回覆刪除
    回覆
    1. 你試看看以下指定Device跟解析度的指令是否可以正常執行:
      $ fswebcam -d /dev/video0 -r 640x480 -S 30 -F 5 image01.jpg

      刪除
  4. 我一開始裝好之後側是還可以拍照
    但後來裝好motion 重開機之後
    fswebcam指令就出現問題了...
    他會顯示bash: fswebcam:命令找不到
    請問是甚麼問題QQ

    回覆刪除