Shinobi
関連記事
Shinobi は Node.js で記述された最新のオープンソース NVR(Network Video Recorder) です。個人または教育のための使用であれば、Pro バージョンの使用にライセンスキーは必要ありません。商用目的の使用の場合は、この アップストリームドキュメント を参照してください。
インストール
shinobi-gitAUR を インストール して下さい。
node の実行を期待する方法です。その結果、いくつかの制限が課せられます:
- WebUI からのプラグインのインストールは機能しません。必要な場合は、root としてサーバーを手動で起動して下さい。
pm2が使用されていないため、WebUI からの再起動機能は機能しません。- root のみが実行できるため、1000 未満のポートへのバインドは機能しません。これは、FTP または SMTP を使用してモーション/オブジェクト検出を受信する場合にのみ関係します。いくつかの回避策オプションについては、#カメラ内からの動き/物体検出 を参照してください。
設定
MariaDB サーバーのインストールとセットアップ
初期設定については MariaDB#インストール を参照し、次のコマンドを使用して Shinobi 用のデータベースを作成します:
# mysql > CREATE DATABASE ccio; flush privileges; \q
Shinobi のユーザー majesticflame を作成し、新しいデータベースに対するすべての権限を付与します:
# mysql < /usr/share/shinobi/sql/user.sql
/usr/share/shinobi/sql/user.sql をコピーして変更する必要があります。例えば、LAN IP が 192.168.9.100 の場合
$ sed 's/127.0.0.1/192.168.9.100/g' < /usr/share/shinobi/sql/user.sql > /tmp/user.sql
次に、scp またはその他のメカニズムを使用してファイルを MariaDB サーバーにコピーし、変更した SQL ファイルを実行します:
# mysql < /tmp/user.sql
最後にデータベースにテーブルを追加します:
# mysql ccio < /usr/share/shinobi/sql/framework.sql
Shinobi のセットアップ
/etc/shinobi/conf.json を編集し、db.host の下の 127.0.0.1 を置き換えます。必要に応じて /etc/shinobi/conf.json をカスタマイズします。
必要に応じて、メールセクションを設定し、コメントに示されているように cron キーをランダムなものに置き換えます。
必要に応じて、/etc/shinobi/super.json を編集し、"pass" の値を md5sum ハッシュ化されたパスワードに置き換えることにより、スーパー管理者パスワードを変更します。次のようなものを生成します。
$ echo -n PASSWORD | md5sum
shinobi.target ユニットを使用して Shinobi を 起動/有効化 します。shinobi.target は shinobi-camera.service と shinobi-cron.service を起動/停止します。http://localhost:8080/super にアクセスして、ユーザーの作成を含む初期セットアップを実行します。ウォークスルーについては、公式の設定ガイド を参照してください。完了したら、http://localhost:8080 にアクセスし、管理者以外のユーザーとしてログインします。
/etc/shinobi/conf.json の ip の下にある 127.0.0.1を置き換えます。Android および iOS アプリ
Android と iOS の両方の Shinobi モバイルアプリは、この 公開テストを通じて利用できます。
ヒントとテクニック
カメラ映像と Shinobi の間の遅延
カメラと Shinobi ダッシュボードの間にある程度の遅れや遅れが生じるのは正常であり、ストリームの種類とビデオ設定によって異なります。遅延を最小限に抑えるためのヒントについては、アップストリームドキュメント を参照してください。
Shinobi でネイティブにモーション/オブジェクトを検出
Shinobi はビデオフィードを監視し、動きが検出された場合にのみ録画できます。フルフレームまたはトリガー領域はネイティブにサポートされています。アップストリームのドキュメントの setup-up-motion-detection の記事を参照してください。
カメラ内からの動き/物体検出
一部のカメラメーカーは、カメラ自体のファームウェア内でネイティブの動き/オブジェクト検出を提供しています。Shinobi は、カメラによって動きが検出されたときに記録をトリガーする外部イベントを受け入れることができ、これらのイベントは SMTP または、FTPのいずれかによって通信されます。
私たちのパッケージは root として node を実行していないため、これらのサービスのネイティブポート (STMP の場合は 25、FTP の場合は 21) を使用できません。
Shinobi およびカメラ内のこれらのサービスには、単純に 1,000 を超えるポートを選択することをお勧めします。
ネイティブポートの使用が必須の場合は、shinobi-camera.service に ドロップインスニペット を使用します。
[Service] AmbientCapabilities=CAP_NET_BIND_SERVICE
リソース
- Shinobi docs - 公式ドキュメントとガイド。
- iSpy camera database - さまざまなカメラの URL の大規模なデータベース。
- Shinobi camera database - プロトコル、ストリームの URL、その他の技術仕様などを含む、サポートされているカメラの検索可能なデータベース。
- Home assistant camera database - ストリームの URL を検索するための別のリソース。