あれやこれやの日々

幅広いエンジニアリング情報を掲載

ubuntuでWebカメラを使ってストリーミング配信してみた!

2022年05月08日 | 日記

最近毎日の様に庭を荒らしに来る犯人を見つける為に

監視カメラを自作することにした。

 

コストを掛けず、手持ちの材料で作るので

システム構成は以下のもので作ることにした。

・Webカメラ

 使わなくなったWebカメラ(200万画素):

 メーカー:BUFFALO

    型番  :BSW20KM02H

・PC

 OS:ubuntu

     M/B:ASUS M4A78 PRO

 メモリ:4GB

・ストリーミング配信用ソフト

  MJPG-Streamer(フリーソフト)

 

製作手順は以下の通り

1)OSインストール

2)Webカメラ接続確認

3)ストリーミング配信用ソフトのインストール

4)環境設定

問題がなければこれでいいはず!

 

1)OSインストール

1)ubuntuをダウンロード

ダウンロードサイト:https://www.ubuntulinux.jp/products/JA-Localized/download

今回はISOイメージ(ubuntu-ja-20.04.1-desktop-amd64.iso)をダウンロードし、インストール用DVDを作成した。

2)Windows10の場合のISOイメージからDVDを作成

1)エクスプローラでダウンロードフォルダを表示

2)ダウンロードしたファイル名にマウスカーソルを当て右クリックし、「プログラムから開く」を選択

3)Windowsディスクイメージ書き込みツールを選択

4)必要な設定をして実行する。(今回はデフォルトのままにした)

3)PCのBIOS設定で起動順の最初にROMドライブを指定

4)インストール作業

ROMドライブへ作成したインストールディスクを入れ、PCを再起動する。

表示に従って設定をすすめる。

トラブルがなければ以上で完了。 Congratulations!

 

2)Webカメラ接続確認

WebカメラをUSBに差し込み、ターミナルから以下のコマンドを実行。

>lsusb   

カメラデバイスが表示されればOK。

念の為、ubuntu付属アプリ「cheese」を起動し、カメラ映像が表示されることを確認。

ここまでで、ハードウェアの準備は完了~ 意外と簡単で順調!!

 

3)ストリーミング配信用ソフトのインストール

今回はMJPG-Streamerを使用することにした。

インストール作業はターミナルから行う。

始めにmakeとgccをインストールしておく必要がある。

・makeのインストール

 >sudo apt install make   

・gccのインストール

 >sudo apt install build-essential    

・MJPG-Streamerのインストール

 ※ターミナルのカレントパスにインストールされるので注意!

 >sudo apt-get install subversion imagemagick libjpeg-dev

 >svn checkout svn://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer

 >cd mjpg-streamer/mjpg-streamer/

 >make

 >sudo make install

 

4)環境設定

ストリーミング通信用のポートを設定する必要がある。

空きポートならどこでも良さそうなので、使用したいポートを適宜開放しておく。

ubuntuの場合、初期状態ではファイアーウォールはdisable状態なのでまずはここから設定することになる。

・ファイアーウォールを有効にする。

 >sudo ufw enable   

 >sudo ufw status     ・・・状態確認

・ポートの使用を許可する。

 >sudo ufw allow     [ポート番号]  

念の為ここでOSを再起動しておく。

 

5)MJPG-Streamer起動

アプリの起動時にはいくつかパラメータを渡す必要がある。

パラメータの詳細については、MJPG-Streamerのヘルプを参照することができる。

取り合えず起動するには、ターミナルで以下の通りに入れてみると起動する。

(カレントパスは ~/mjpg-streamer/mjpg-streamerでないとエラーになる?)

>mjpg_streamer -i "/usr/local/lib/input_uvc.so -y -q 100 -r 1280x720 -f 30" -o "/usr/local/lib/output_http.so -w /usr/local/www -p 8080" -b  

次にブラウザで映像を確認してみる。

ブラウザのURL欄に、localhost:[ポート番号]を入力すると以下のページが表示される。

ここでエラー:404が出た場合は、起動時のパラメータで-w以下の所(上記赤字ヵ所)が間違っている可能性がある。

正常に表示されたなら、左列のStreamを選択すると動画が表示される。

 

以上で、無事ストリーミング配信が完成!

 

補足:

自宅LANで他のPCでストリーミング受信する場合のURLは

URL:[配信用PCのIPアドレス]:[ポート番号] になる。