raspberryPiでWebcam

raspberry PiにWebCamをつけてみた。

WebCam:Logicool HD WebCam c270
raspberry Pi:

1)firmware update
まず、USB video deviceを使えるように、rpi-updateでfirmwareを更新する。

rpi-updateというコマンドをインストール。
$ sudo apt-get install rpi-update

そして、更新
$ sudo rpi-update

2)ドライバーを有効にする
$ sudo usermod -a -G video pi

Piを再起動
$ sudo modprobe uvcvideo

3)mjpg-streamerを導入

mjpg-streamerに必要なライブラリを追加
$ apt-get -y install subversion libjpeg8-dev imagemagick

mjpg-streamerソース取得

$ cd /usr/src/
$ svn checkout https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer
$ cd mjpg-streamer/
$ make
$ cp ./*.so /usr/lib/
$ cp ./mjpg_streamer /usr/bin/
$ mv ./www /var/

一度テストする。

$ mjpg_streamer    --input "input_uvc.so --device /dev/video0 --fps 5 --resolution 640x480 --yuv --quality 75"    --output "output_http.so --port 8088 --www /var/www --credentials user:password"
おっと、ファイアウォール

$ ufw allow 8088/tcp

アクセスして、問題なさそう。

4)デーモン化

$ vi /etc/init.d/mjpg-streamer
#!/bin/sh
# /etc/init.d/mjpg_streamer
### BEGIN INIT INFO
# Provides:          mjpg_streamer
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: mjpg_streamer for webcam
# Description:       Streams /dev/video0 to http://IP/?action=stream
### END INIT INFO
f_message(){
echo "[+] $1"
}

# Carry out specific functions when asked to by the system
case "$1" in
start)
f_message "Starting mjpg_streamer"
mjpg_streamer -b -i "/usr/lib/input_uvc.so -d /dev/video0 -f 15 -r 640x480 -l off" -o "/usr/lib/output_http.so -p 8088 -w /var/www -n -c user:password"
sleep 2
f_message "mjpg_streamer started"
;;
stop)
f_message "Stopping mjpg_streamer…"
killall mjpg_streamer
f_message "mjpg_streamer stopped"
;;
restart)
f_message "Restarting daemon: mjpg_streamer"
killall mjpg_streamer
mjpg_streamer -b -i "/usr/lib/input_uvc.so -d /dev/video0 -f 15 -r 640x480 -l off" -o "/usr/lib/output_http.so -p 8088 -w /var/www -n -c user:password"
sleep 2
f_message "Restarted daemon: mjpg_streamer"
;;
status)
pid=`ps -A | grep mjpg_streamer | grep -v "grep" | grep -v mjpg_streamer. | awk ‘{print $1}’ | head -n 1`
if [ -n "$pid" ];
then
f_message "mjpg_streamer is running with pid ${pid}"
f_message "mjpg_streamer was started with the following command line"
cat /proc/${pid}/cmdline ; echo ""
else
f_message "Could not find mjpg_streamer running"
fi
;;
*)
f_message "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac

exit 0

$ chmod +x /etc/init.d/mjpg-streamer

んー結構サラッとできてしまった。



コメント

ドメインサーチ

https://www.makko.biz/whois/?q=bg.bahaiquotesillustrated.info

このブログの人気の投稿

Apacheプロセス増加について

wgetでsitemap作成

ApacheでSSL自己証明書作成(オレオレ証明書)