UbuntuにUSBカメラを接続し、外出先など「気になるときだけ外部から室内の様子を確認したい」という場合、安全かつ軽量に実現できる方法がいくつかあります。
パターン1:最も軽量・シンプル(Motion + Webブラウザ)
Linuxで防犯・監視カメラを作る際の定番パッケージ motion を使用します。基本は常時監視用のソフトですが、設定を少し変えるだけで「外部からブラウザを開いたときだけ、リアルタイムの映像ストリーミング(MJPEG)を見る」という使い方が可能です。
公式リポジトリにあるため、aptで一発で入ります。
- パッケージ名:
motion
sudo apt update
sudo apt install motion
設定のポイント
設定ファイル(/etc/motion/motion.conf)を編集し、外部からストリーミング映像を見られるようにします。
sudo nano /etc/motion/motion.conf
stream_localhost on➔stream_localhost offに変更(ローカル以外からの接続を許可)stream_port 8081(視聴用ポート。デフォルトは8081です)
設定後、sudo systemctl restart motion で起動します。これで、同じ自宅のWi-Fi内からであれば http://UbuntuのIPアドレス:8081 にブラウザでアクセスするだけでカメラ映像が見られます。
パターン2:GUIで直感的に管理(ZoneMinder)
もう少し本格的な監視カメラの管理画面(Web UI)が欲しい場合は、オープンソースの ZoneMinder が有名です。ブラウザからカメラのオン/オフ切り替えや、ライブ映像の確認が簡単に行えます。
- パッケージ名:
zoneminder
sudo apt update
sudo apt install zoneminder apache2 mysql-server php-mysql libapache2-mod-php
各種設定の有効化と起動
ZoneMinderをApache(Webサーバー)に認識させ、自動起動を設定します。
# 設定ファイルのリンクを作成
sudo ln -s /etc/zm/apache.conf /etc/apache2/conf-available/zoneminder.conf
sudo a2enconf zoneminder
sudo a2enmod rewrite
sudo a2enmod cgi
# データベースの初期化とサービスの起動
sudo systemctl enable zoneminder
sudo systemctl start zoneminder
sudo systemctl restart apache2
これで、同じ自宅のネットワーク内にあるPCから http://[UbuntuのローカルIPアドレス]/zm にアクセスすると、ZoneMinderの管理画面が開くようになります。
ZoneMinderにUSBカメラ(ローカル)を登録
ブラウザで管理画面(http://localhost/zm または http://[UbuntuのIP]/zm)を開き、カメラを登録します。
- モニターの追加:画面上部にある 「Add(または Add New Monitor)」 ボタンをクリックします。
- 「General」タブの設定:
- Name:
Room-Camera(自由な名前) - Source Type:
Local(USBカメラを直接指しているため) - Function:
Monitor(今回は「気になるときだけ見る」用途なので、常時録画しない「Monitor」にします)
- Name:
- 「Source」タブの設定(ここが重要です):
- Device Path:
/dev/video0(※もし映らない場合は、ターミナルでv4l2-ctl --list-devicesを実行して、USBカメラのデバイスパスを確認してください) - Capture Method:
V4L2 - Target Size: カメラの解像度を入力(例:
640x480や1280x720)
- Device Path:
- 保存:右下の「Save」を押します。
トップ画面に戻り、設定したカメラ名(緑色に変わります)をクリックして、リアルの室内映像がブラウザ内に表示されれば成功です!

コメント