「Shinobi」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(序文を同期)
(同期)
 
(同じ利用者による、間の6版が非表示)
6行目: 6行目:
 
{{Related|ZoneMinder}}
 
{{Related|ZoneMinder}}
 
{{Related articles end}}
 
{{Related articles end}}
[https://shinobi.video/ Shinobi] は Node.js で記述された最新のオープンソース NVR(Network Video Recorder) です。個人または教育のための使用であれば、Pro バージョンの使用にライセンスキーは必要ありません。商用目的の使用の場合は、[https://hub.shinobi.video/articles/view/QDD2cqvbTekzhar この]ペを参照してください。
+
[https://shinobi.video/ Shinobi] は Node.js で記述された最新のオープンソース NVR(Network Video Recorder) です。個人または教育のための使用であれば、Pro バージョンの使用にライセンスキーは必要ありません。商用目的の使用の場合は、この [https://hub.shinobi.video/articles/view/QDD2cqvbTekzhar アップストリムドキュメント] を参照してください。
   
 
{{Note|h.265 をサポートするカメラは、Shinobi ダッシュボードのブラウザでは表示できません。録画(ビデオのコピー)は引き続き機能しますが、ブラウザを使用して表示することはできません。モバイルアプリを使って、これらのストリームを表示できます。}}
 
{{Note|h.265 をサポートするカメラは、Shinobi ダッシュボードのブラウザでは表示できません。録画(ビデオのコピー)は引き続き機能しますが、ブラウザを使用して表示することはできません。モバイルアプリを使って、これらのストリームを表示できます。}}
12行目: 12行目:
 
== インストール ==
 
== インストール ==
   
{{AUR|shinobi-git}} {{AUR|ffmpeg-shinobi}} を[[インストール]]します。Arch ARM のユーザはこの 2 つのパッケージが公式リポジトリで提供れてるので、pacman でインストールできます
+
{{AUR|shinobi-git}} [[インストール]] て下さい。
   
  +
{{Note|Shinobi は root としてではなく非特権ユーザーとして実行されます。これは、アップストリームが {{ic|node}} の実行を期待する方法です。その結果、いくつかの制限が課せられます:
{{Warning|{{pkg|ffmpeg}} で代用することも可能ですが、CPU がサチることが知られているので、前述の AUR 版の使用を強くお勧めします。}}
 
   
  +
# WebUI からのプラグインのインストールは機能しません。必要な場合は、root としてサーバーを手動で起動して下さい。
{{Note|Shinobi will be running as a non-privileged user not as root which is how upstream expects {{ic|node}} to run. A few limitation are imposed as a result:
 
  +
# {{ic|pm2}} が使用されていないため、WebUI からの再起動機能は機能しません。
# Installation of plugins from the webUI will not work. Manually start the server as root if these are needed.
 
  +
# root のみが実行できるため、1000 未満のポートへのバインドは機能しません。これは、FTP または SMTP を使用してモーション/オブジェクト検出を受信する場合にのみ関係します。いくつかの回避策オプションについては、[[#カメラ内からの動き/物体検出]] を参照してください。}}
# The restart feature from the webUI will not work since {{ic|pm2}} is not being used.
 
# Binding to ports <1000 will not work, as only root can do so. This is only relevant if using FTP or SMTP to receive motion/object detection. See [[Shinobi#Motion/object_detection_from_within_the_camera]] for a several work around options.}}
 
   
== Setup ==
+
== 設定 ==
=== Install and set up the MariaDB server ===
 
Refer to [[MariaDB#Installation]] for initial setup, then to create a database for Shinobi, use the following commands:
 
   
  +
=== MariaDB サーバーのインストールとセットアップ ===
$ mysql -u root -p
 
  +
<<enter the mariadb root password assigned in the first step>>
 
  +
初期設定については [[MariaDB#インストール]] を参照し、次のコマンドを使用して Shinobi 用のデータベースを作成します:
MariaDB [(none)]> CREATE DATABASE ccio; flush privileges; \q
 
  +
  +
# mysql
  +
> CREATE DATABASE ccio; flush privileges; \q
  +
  +
Shinobi のユーザー {{ic|majesticflame}} を作成し、新しいデータベースに対するすべての権限を付与します:
  +
  +
# mysql < /usr/share/shinobi/sql/user.sql
  +
  +
{{Note|{{AUR|shinobi-git}} は {{Pkg|mariadb}} に依存するため、MariaDB は Shinobi と同じサーバーにインストールされます。ただし、Shinobi を手動でインストールした場合や、MariaDB を別のサーバーにインストールして {{Pkg|mariadb}} 依存関係を使用せずにインストールした場合は、{{ic|/usr/share/shinobi/sql/user.sql}} をコピーして変更する必要があります。例えば、LAN IP が '''192.168.9.100''' の場合
   
=== Setup Shinobi ===
 
Create the user and setup database framework:
 
First substitute 127.0.0.1 with the LAN IP address of the server. For example, if this is '''192.168.9.100''':
 
 
$ sed 's/127.0.0.1/192.168.9.100/g' < /usr/share/shinobi/sql/user.sql > /tmp/user.sql
 
$ sed 's/127.0.0.1/192.168.9.100/g' < /usr/share/shinobi/sql/user.sql > /tmp/user.sql
  +
  +
次に、[[SCP と SFTP#一般的な使用方法|scp]] またはその他のメカニズムを使用してファイルを MariaDB サーバーにコピーし、変更した SQL ファイルを実行します:
  +
 
# mysql < /tmp/user.sql
 
# mysql < /tmp/user.sql
  +
}}
  +
  +
最後にデータベースにテーブルを追加します:
  +
 
# mysql ccio < /usr/share/shinobi/sql/framework.sql
 
# mysql ccio < /usr/share/shinobi/sql/framework.sql
   
  +
=== Shinobi のセットアップ ===
Next, edit {{ic|/etc/shinobi/conf.json}} changing both instances of '''127.0.0.1''' to match the actual IP address of the server.
 
  +
  +
{{Note|MariaDB が別のサーバー上にある場合は、{{ic|/etc/shinobi/conf.json}} を編集し、{{ic|db.host}} の下の '''127.0.0.1''' を置き換えます。}}
  +
  +
必要に応じて {{ic|/etc/shinobi/conf.json}} をカスタマイズします。
  +
  +
必要に応じて、メールセクションを設定し、コメントに示されているように cron キーをランダムなものに置き換えます。
  +
  +
必要に応じて、{{ic|/etc/shinobi/super.json}} を編集し、"pass" の値を md5sum ハッシュ化されたパスワードに置き換えることにより、スーパー管理者パスワードを変更します。次のようなものを生成します。
  +
  +
$ echo -n PASSWORD | md5sum
  +
  +
shinobi.target ユニットを使用して Shinobi を [[起動]]/[[有効化]] します。{{ic|shinobi.target}} は {{ic|shinobi-camera.service}} と {{ic|shinobi-cron.service}} を起動/停止します。http://localhost:8080/super にアクセスして、ユーザーの作成を含む初期セットアップを実行します。ウォークスルーについては、[https://shinobi.video/docs/configure 公式の設定ガイド] を参照してください。完了したら、http://localhost:8080 にアクセスし、管理者以外のユーザーとしてログインします。
  +
  +
{{Note|別のコンピューター上の場合は '''localhost''' を LAN IP に置き換え、{{ic|/etc/shinobi/conf.json}} の {{ic|ip}} の下にある '''127.0.0.1'''を置き換えます。}}
  +
  +
== Android および iOS アプリ ==
  +
  +
Android と iOS の両方の Shinobi モバイルアプリは、[https://cdn.shinobi.video/installers/ShinobiMobile/ この] 公開テストを通じて利用できます。
  +
  +
== ヒントとテクニック ==
  +
  +
=== カメラ映像と Shinobi の間の遅延 ===
  +
  +
カメラと Shinobi ダッシュボードの間にある程度の遅れや遅れが生じるのは正常であり、ストリームの種類とビデオ設定によって異なります。遅延を最小限に抑えるためのヒントについては、[https://hub.shinobi.video/articles/view/Eug1dxIdhwY6zTw アップストリームドキュメント] を参照してください。
  +
  +
=== Shinobi でネイティブにモーション/オブジェクトを検出 ===
  +
  +
Shinobi はビデオフィードを監視し、動きが検出された場合にのみ録画できます。フルフレームまたはトリガー領域はネイティブにサポートされています。アップストリームのドキュメントの [https://shinobi.video/docs/configure#content-setting-up-motion-detection setup-up-motion-detection] の記事を参照してください。
  +
  +
=== カメラ内からの動き/物体検出 ===
  +
  +
一部のカメラメーカーは、カメラ自体のファームウェア内でネイティブの動き/オブジェクト検出を提供しています。Shinobi は、カメラによって動きが検出されたときに記録をトリガーする外部イベントを受け入れることができ、これらのイベントは [https://hub.shinobi.video/articles/view/Qdu39Dp8zDqWIA0 SMTP] または、[https://shinobi.video/articles/2019-02-23-how-to-use-ftpbased-event-triggering-in-shinobi FTP]のいずれかによって通信されます。
  +
  +
{{Note|カメラが動きを検出したときと、Shinobi がビデオの開始をトリガーするときとの間にラグがある場合、'''セグメント長変数''' をより高い値に調整する必要がある場合があります。これをテストするには、誰かがモーションをトリガーしている間のライブストリームを視聴するだけです。モーションがトリガーされた時間をカメラの時計で観察し、ビデオと比較します。より高い値を設定して、再度テストしてください。}}
  +
  +
私たちのパッケージは root として {{ic|node}} を実行していないため、これらのサービスのネイティブポート (STMP の場合は 25、FTP の場合は 21) を使用できません。
  +
  +
Shinobi およびカメラ内のこれらのサービスには、単純に 1,000 を超えるポートを選択することをお勧めします。
   
  +
ネイティブポートの使用が必須の場合は、{{ic|shinobi-camera.service}} に [[ドロップインスニペット]] を使用します。
Optionally setup the mail section accordingly as well as replacing the cron key with something random as indicated in the comments.
 
   
  +
[Service]
Optionally change the the super admin password by editing {{ic|/etc/shinobi/super.json}} and replacing the value for "pass" with an md5sum hashed password. Generate one like this:
 
  +
AmbientCapabilities=CAP_NET_BIND_SERVICE
echo -n PASSWORD | md5sum
 
   
  +
== リソース ==
[[Start]] and [[Enable]] shinobi. Browse to http://192.168.9.100:8080/super to perform initial setup including creating a user/users. See the official [https://shinobi.video/docs/configure configure guide] for a walk-through. Once finished, browse to http://192.168.9.100:8080 and log in as the non-admin user.
 
   
  +
* [https://shinobi.video/docs/ Shinobi docs] - 公式ドキュメントとガイド。
== Android and iOS apps ==
 
  +
* [https://www.ispyconnect.com/cameras iSpy camera database] - さまざまなカメラの URL の大規模なデータベース。
Shinobi Mobile Apps for both Android and iOS are available though [https://cdn.shinobi.video/installers/ShinobiMobile/ this] public test.
 
  +
* [https://hub.shinobi.video/explore Shinobi camera database] - プロトコル、ストリームの URL、その他の技術仕様などを含む、サポートされているカメラの検索可能なデータベース。
== Resources ==
 
  +
* [https://community.home-assistant.io/t/stream-component-confirmed-cameras-and-configurations/106729 Home assistant camera database] - ストリームの URL を検索するための別のリソース。
* [https://shinobi.video/docs/ Shinobi docs] - Official docs and guides.
 
* [https://www.ispyconnect.com/cameras iSpy camera database] - Large database of URLs for various cameras.
 
* [https://hub.shinobi.video/explore Shinobi camera database] - Searchable database of supported cameras including things such as protocols, URLs for streams, and other technical specs.
 
* [https://community.home-assistant.io/t/stream-component-confirmed-cameras-and-configurations/106729 Home assistant camera database] - Another resource for finding URLs for streams.
 

2024年3月27日 (水) 11:16時点における最新版

関連記事

Shinobi は Node.js で記述された最新のオープンソース NVR(Network Video Recorder) です。個人または教育のための使用であれば、Pro バージョンの使用にライセンスキーは必要ありません。商用目的の使用の場合は、この アップストリームドキュメント を参照してください。

ノート: h.265 をサポートするカメラは、Shinobi ダッシュボードのブラウザでは表示できません。録画(ビデオのコピー)は引き続き機能しますが、ブラウザを使用して表示することはできません。モバイルアプリを使って、これらのストリームを表示できます。

インストール

shinobi-gitAURインストール して下さい。

ノート: Shinobi は root としてではなく非特権ユーザーとして実行されます。これは、アップストリームが node の実行を期待する方法です。その結果、いくつかの制限が課せられます:
  1. WebUI からのプラグインのインストールは機能しません。必要な場合は、root としてサーバーを手動で起動して下さい。
  2. pm2 が使用されていないため、WebUI からの再起動機能は機能しません。
  3. root のみが実行できるため、1000 未満のポートへのバインドは機能しません。これは、FTP または SMTP を使用してモーション/オブジェクト検出を受信する場合にのみ関係します。いくつかの回避策オプションについては、#カメラ内からの動き/物体検出 を参照してください。

設定

MariaDB サーバーのインストールとセットアップ

初期設定については MariaDB#インストール を参照し、次のコマンドを使用して Shinobi 用のデータベースを作成します:

# mysql
> CREATE DATABASE ccio; flush privileges; \q

Shinobi のユーザー majesticflame を作成し、新しいデータベースに対するすべての権限を付与します:

# mysql < /usr/share/shinobi/sql/user.sql
ノート: shinobi-gitAURmariadb に依存するため、MariaDB は Shinobi と同じサーバーにインストールされます。ただし、Shinobi を手動でインストールした場合や、MariaDB を別のサーバーにインストールして mariadb 依存関係を使用せずにインストールした場合は、/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 のセットアップ

ノート: MariaDB が別のサーバー上にある場合は、/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.targetshinobi-camera.serviceshinobi-cron.service を起動/停止します。http://localhost:8080/super にアクセスして、ユーザーの作成を含む初期セットアップを実行します。ウォークスルーについては、公式の設定ガイド を参照してください。完了したら、http://localhost:8080 にアクセスし、管理者以外のユーザーとしてログインします。

ノート: 別のコンピューター上の場合は localhost を LAN IP に置き換え、/etc/shinobi/conf.jsonip の下にある 127.0.0.1を置き換えます。

Android および iOS アプリ

Android と iOS の両方の Shinobi モバイルアプリは、この 公開テストを通じて利用できます。

ヒントとテクニック

カメラ映像と Shinobi の間の遅延

カメラと Shinobi ダッシュボードの間にある程度の遅れや遅れが生じるのは正常であり、ストリームの種類とビデオ設定によって異なります。遅延を最小限に抑えるためのヒントについては、アップストリームドキュメント を参照してください。

Shinobi でネイティブにモーション/オブジェクトを検出

Shinobi はビデオフィードを監視し、動きが検出された場合にのみ録画できます。フルフレームまたはトリガー領域はネイティブにサポートされています。アップストリームのドキュメントの setup-up-motion-detection の記事を参照してください。

カメラ内からの動き/物体検出

一部のカメラメーカーは、カメラ自体のファームウェア内でネイティブの動き/オブジェクト検出を提供しています。Shinobi は、カメラによって動きが検出されたときに記録をトリガーする外部イベントを受け入れることができ、これらのイベントは SMTP または、FTPのいずれかによって通信されます。

ノート: カメラが動きを検出したときと、Shinobi がビデオの開始をトリガーするときとの間にラグがある場合、セグメント長変数 をより高い値に調整する必要がある場合があります。これをテストするには、誰かがモーションをトリガーしている間のライブストリームを視聴するだけです。モーションがトリガーされた時間をカメラの時計で観察し、ビデオと比較します。より高い値を設定して、再度テストしてください。

私たちのパッケージは 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 を検索するための別のリソース。