「Shinobi」は、RTSP(Real-Time-Streaming-Protocol)プロトコルを利用して一つもしくは複数のネットワークカメラをWEB管理画面から一括で制御することができるオープンソースソフトウェアです。よくあるNVR(ネットワークビデオレコーダー)をこのソフトで構築することができます。
「Shinobi」公式WEBサイト
Shinobi is a Digital Video Recorder – Home
Shinobiでネットワークカメラの録画を行う
Step.01_Shinobiにログインする
WEBブラウザに「https://<仮想マシンのIP>」でアクセスするとログイン画面が表示されるので、自身で追加したアカウント情報を用いてログインを行います。
Step.02_言語を変更する
初期のままでは設定画面の言語として「英語」が選択されていて使いにくいので日本語に変更していきます。ログイン後、ブラウザ左端にメニューが表示されていると思います。下の方にスクロールしていくと、「Account Settings」の項目があるのでそこをクリックし画面をスクロールして「Dashboard Language」の項目を探してください。「en_CA」から「ja」に変更すると日本語に変わります。
言語を変更しても反映されない場合、ページのキャッシュが残っているのが原因の場合がありますので、Chromeの場合、「Google Chromeの設定」→「その他のツール」→「デベロッパーツール」を開いて更新ボタンを右クリックし「キャッシュの消去とハード再読み込み」を試すことで解決する場合があります。
Step.03_ストレージの設定
「TeraStation」という名前のストレージを別途で追加しましたが、初期設定では10GB分しか使用してくれないので設定を変更していきます。
左側のメニューから「アカウント設定」を選択し、プロファイルの項目の中の「最大ストレージサイズ」と「ビデオの共有」を値を変更していきます。今回500GB分を割り当てているので最大ストレージサイズに「500000」(MB)ビデオの共有に「99」(%)を入力し右下の「保存」をクリックします。
Step.04_ネットワークカメラの追加
ネットワークカメラとしてtp-link社製のTapo C200、Tapo C210、Tapo C500の3台を使用します。どれもRTSPとONVIFに対応しているのでそれらを使用して接続します。
メニューから「モニター」を選択、右下の「≡」をクリックし「新規追加」を選びます。
今回はカメラの映像を常に録画させたいため、モードを「録画」にしておきます。カメラ自体に好きな名前を付けることができますが今回はカメラの種類(C200)を名前にしておきます。映像をNASに保存したいのでStorage Locationを「TeraStation」または自分で追加した保存場所名を選択してください。
ここでは、カメラにRTSPで接続するための設定をしていきます。フルURLパスの項目にRTSPのURLを「rtsp://<ユーザ名>:<パスワード>@<カメラのIPアドレス>/stream1」のように入力してください。IPアドレスが[192.168.1.1]でユーザ名が[user]パスワードが[admin]の場合、「rtsp://user:admin@192.168.1.1/stream1」となります。なお、認証がない場合はIPのみで接続できます。今回自身のネットワークではDHCPサーバがIPアドレスの割り振りを行っていますがIPカメラのみMACアドレスにより固定IP設定を行っているため変更されることはありません。
TapoシリーズのONVIFのポート番号は「2020」に決まっているのでそれも入力します。
TapoカメラをShinobiのダッシュボード画面から制御も行いたいので、制御可能を「Yes」にし Call Method を「ONVIF」にします。ターンスピードが初期では「0.01」になっていますが遅すぎたので「0.1」にしています。すべて入力したら、画面右下の「保存」をクリックして追加完了です。
Step.05_カメラの映像を見てみる
同様にC210とC500を登録し、合計でIPカメラ3台を制御することが出来るようになりました。現在のライブ映像を視聴したい場合は、メニューから「ライブビュー」を選択し、「すべてのモニターを表示する。」をクリックすることで見ることが出来ます。録画した映像は、「Timeline」や「ビデオ」のタブから確認することができます。
総評!
もともとTapoシリーズのカメラはアプリから一括管理できて便利で良いんですが、映像の保存先が本体内蔵のマイクロSDカードで心もとないんですよねぇ…
それが嫌なら有料のクラウドサービス「Tapo Care」を使ってくれというもの。できる限りお金をかけたくない自分はOSSなShinobiを使用してNVRを自作してみようと考えついたのでした。。。
動体検知やGPUを使った物体検知もでき、とても高性能で非常に満足しています。ひとつ文句言うとTapoアプリで表示される反映速度に比べて非常に遅いことくらいですかね…(仕方がないことなんですが)