自宅サーバー ≫ Linux Server ≫ CentOS Stream 8 ≫ Webカメラサーバー(fswebcam)

 
Webカメラサーバーの概要
1.fswebcam を使い静止画を連続撮影
2.その画像を連続配信
USBカメラ認識確認
 
 [root@centos]#
lsusb
 Bus 002 Device 002: ID 8087:8000 Intel Corp.
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 001 Device 002: ID 8087:8008 Intel Corp.
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 003 Device 002: ID 0411:0165 Product: USB 2.0 PC Camera     
<--- USBカメラ認識確認
 Bus 003 Device 004: ID 058f:3831 Alcor Micro Corp.
 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 
ビデオデバイス確認
 
 [root@centos]#
/dev/video*
 -bash: /dev/video0: Permission denied    
<--- /dev/video0 を確認
 
EPELリポジトリの追加
既にインストールされている場合は不要
   
 [root@centos]#
dnf -y install epel-release
 
fswebcam のインストール
   
 [root@centos]#
dnf -y --enablerepo=epel install fswebcam
 
画像保存用ディレクトリの作成
   
 [root@centos]#
mkdir /home/****/webcam-fs
 
fswebcam のテスト
テストとして home に test.jpg を保存

 
 [root@centos]#
fswebcam -i 0 -d v4l2:/dev/video1 -r 640x480 --jpeg 85 /home/***/webcam-fs/test.jpg
 

home/***/webcam に test.jpg が保存されていればOK
スプリクト作成
   
 
[root@centos]# vi /etc/webcam-fs.sh
 

 
以下記述

 
#!/usr/bin/bash
 rm -rf /home/***/webcam-fs/webcam-fs.jpg
     <--- 保存画像を削除           ↓--- 新規画像保存
 fswebcam -i 0 -d v4l2:/dev/video1 -r 640x480 --jpeg 85 /home/***/webcam-fs/webcam-fs.jpg

 
cron にスプリクトを登録して1分おきに撮影する
   
 
[root@centos]# crontab -e
 

 
以下記述

 
*/1 * * * * /etc/webcam-fs.sh
 
画像表示用HTMLドキュメントを作成
下記ようなHTMLドキュメントを作成してWebサーバーにアップ
   
 
[root@centos]# vi /home/****/www/webcam-fs.html
 
<HTML>
 <meta http-equiv="refresh" content="60">   
<--- 60秒ごとに再表示する
 <BODY>
 <P><IMG src="webcam-fs/webca-fsm.jpg" border="0" name="WEBCAM"
                                                       width="320" height="240"></P>
 </BODY>
 </HTML>

 
  インターネットブラウザよりWebサーバーにアップした上記ファイルにアクセスして画像表示を確認

今回の設定では60秒毎に画像が更新され、それに対応して60秒毎にインターネットブラウザもリロードされるようになっている

戻る