raspberryPiでWebcam
raspberry PiにWebCamをつけてみた。
WebCam:Logicool HD WebCam c270
raspberry Pi:
1)firmware update
まず、USB video deviceを使えるように、rpi-updateでfirmwareを更新する。
rpi-updateというコマンドをインストール。
そして、更新
2)ドライバーを有効にする
Piを再起動
3)mjpg-streamerを導入
mjpg-streamerに必要なライブラリを追加
mjpg-streamerソース取得
一度テストする。
アクセスして、問題なさそう。
4)デーモン化
んー結構サラッとできてしまった。
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
んー結構サラッとできてしまった。
コメント