MirAI ユーザーマニュアル

VERSION 2.0.8

1. 概要

MirAIは、インテリジェントな映像監視およびAI分析プラットフォームです。高性能なRustベースサーバー(AI推論、ストリーム管理、データ保存)とQt C++デスクトップクライアント(ライブ監視、イベント管理、設定)で構成されています。

主要機能

  • リアルタイム映像ストリーミング — GStreamerによる低遅延RTSPとハードウェアアクセラレーションデコーディング。サーバーあたり最大100台のカメラに対応。
  • AIイベント検知 — 炎(火災)、煙、転倒、侵入のパイプラインベース検知。ROI/RONIゾーンと信頼度閾値の設定が可能。
  • マルチカメラグリッド — 1×1から10×10までの柔軟なグリッド(最大100台同時表示)。カメラの台数に応じてグリッドが自動的に拡大・縮小します。ドラッグ&ドロップによる並べ替え、カメラグループに対応。
  • カメラグループ&AIパイプライン — カメラをグループ化し、グループごとにAIパイプラインを割り当て。
  • イベント録画&監査 — プリイベントバッファ付き自動録画。監査ワークフロー(True/False)、マルチフォーマットダウンロード(MP4、AVI、PNG、JPG)。
  • 通知システム — Email、Webhook、HTTPエンドポイント、SNMP配信によるIF-THENルールエンジン。グローバルレート制限とサイレントタイム。
  • マルチサーバー対応 — 複数のサーバーに同時接続し、それぞれを個別のタブで表示。
  • ロールベースアクセス — Super_Admin、Admin、Userロールによる詳細な権限管理。
  • システム管理 — ストレージポリシー、スケジュールバックアップ/リストア、監査証跡、ログUser、自動更新。
  • 多言語対応 — 英語、韓国語、日本語。タイムゾーンと日付形式の設定が可能。

メイン画面レイアウト

サーバーリスト、ライブビューグリッド、通知パネルが表示されたメイン画面
サーバーリスト、ライブビューグリッド、通知パネルが表示されたメイン画面
エリア目的
トップナビゲーションライブビュー、イベントログ、設定の切り替え。ミュートトグル、ユーザー情報、ウィンドウコントロール。
サーバーリスト(左)サーバー→グループ→カメラのツリービュー。アイテムをグリッドにドラッグ。
ライブビューグリッド(中央)リサイズ可能なグリッドでカメラストリームを表示。ドラッグ&ドロップで並べ替え対応。
通知パネル(右)サムネイル付きリアルタイムAIアラート。クリックでイベント詳細を表示。

システム要件

コンポーネント最小推奨
OSWindows 10(64ビット)Windows 11(64ビット)
CPUIntel i5 / Ryzen 5Intel i7 / Ryzen 7+
RAM8 GB16 GB+
GPU(サーバー)NVIDIA GTX 1060NVIDIA RTX 3060+(AI推論)
ネットワーク100 Mbps LAN1 Gbps LAN
ディスク500 MB(アプリ)+ 20 GB50+ GB SSD

ユーザーロール

ロールアクセスレベル
Super_Adminフルアクセス。AIパイプラインの作成、変更、有効化/無効化、削除が可能。
Adminパイプライン変更(作成/編集/削除/有効化/無効化)を除くすべてにフルアクセス。パイプラインの閲覧は可能。カメラ、AIモデル、ユーザー、システム設定、更新、通知、その他すべての機能を管理可能。
Userライブストリームとイベントログ(読み取り専用)。一般設定とヘルプのみアクセス可能。

注意: Super_AdminとAdminの唯一の権限の違いは、AIパイプラインの追加と変更ができるかどうかです。その他のすべての機能(モデル管理、システム再起動、更新、ユーザー登録、バックアップ/リストア)は両方のロールで同等にアクセスできます。

2. はじめに

ログイン

サーバーIP、ID、パスワード入力欄と「IDとパスワードを記憶」チェックボックスが表示されたログイン画面
サーバーIP、ID、パスワード入力欄と「IDとパスワードを記憶」チェックボックスが表示されたログイン画面
  1. MirAIを起動 — デスクトップアイコンをダブルクリックします。
  2. サーバーIPを入力 — サーバーのIPアドレスを入力します(例:192.168.1.100)。デフォルトポート:7878(HTTPS)。
  3. IDとパスワードを入力 — システム管理者から提供された認証情報を使用します。
  4. 「IDとパスワードを記憶」にチェック(任意) — 次回の自動ログインが有効になります。
  5. 「ログイン」をクリック — サーバーが起動中の場合、「サーバー待機中...」ダイアログが表示されます。

ヒント: Enterキーを押すと、ボタンをクリックせずにログインフォームを送信できます。

初期設定

注意: AIエンジンの初期化、AIモデルの登録、AIパイプラインの作成はSuper_Adminが行います。管理者(Admin)は以下の手順から開始してください。

初回ログイン後、以下の手順を順番に完了してください:

  1. デフォルトパスワードを変更 → 設定 → ユーザー設定 → 管理者アカウントを編集
  2. ライセンスを有効化 → 設定 → ライセンス → キーを入力またはファイルをアップロード
  3. カメラを追加 → 設定 → サーバーとカメラ → + カメラ追加
  4. カメラグループを作成 → カメラグループタブ → + グループ作成
  5. グループにAIパイプラインを割り当て → グループ詳細 → AIパイプライン設定
  6. カメラごとの検知を有効化 → ライブビュー → カメラを選択 → AI設定 → タイプを有効化

カメラの追加

自動検出(ONVIF)

検索ボタンとチェックボックス付き検出カメラリストが表示されたカメラ追加ダイアログ
検索ボタンとチェックボックス付き検出カメラリストが表示されたカメラ追加ダイアログ
  1. 設定 → サーバーとカメラ → + カメラ追加に移動
  2. 自動モードを選択
  3. 検索をクリック — ネットワークで検出されたカメラがリストに表示されます
  4. 追加するカメラにチェック
  5. 必要に応じてカメラの認証情報(ID/パスワード)を入力
  6. 追加をクリック

手動(RTSP URL)

  1. 手動モードを選択
  2. カメラ名と完全なRTSP URLを入力:rtsp://user:pass@192.168.1.50:554/stream1
  3. 必要に応じてカメラ認証情報(ID/パスワード)を入力
  4. 追加をクリック

事前確認: 追加前にVLC Media PlayerでRTSP URLをテストし、正しくストリーミングされることを確認してください。

認証情報を含むURL: 入力したRTSP URLに認証情報が含まれている場合(rtsp://user:pass@host/...)、ID/パスワード欄が自動入力され、URLからは認証情報が削除されます。これにより認証情報が一箇所で管理され、編集しやすくなります。

カメラグループ&AIパイプライン

カメラグループタブ。左側にグループカード、右側にパイプライン割り当てドロップダウンとカメラリスト付きのグループ詳細パネルを表示
カメラグループタブ。左側にグループカード、右側にパイプライン割り当てドロップダウンとカメラリスト付きのグループ詳細パネルを表示

グループはカメラを管理し、共有AI処理を割り当てます。グループ内のすべてのカメラは同じパイプライン設定を共有します。

カメラの移動・削除: カメラをグループから外す、または別のグループへ移動すると、そのカメラのカメラごとのAI設定がクリアされ、AIエンジンも停止します。グループに属さなくなったカメラでAI処理が動き続けることはありません。

  1. グループ作成: サーバーとカメラ → カメラグループ → + グループ作成 → 名前を入力 → 作成
  2. カメラ割り当て: グループ詳細 → + カメラ割り当て → カメラにチェック → 割り当て。1台のカメラは1つのグループにのみ所属するため、すでにいずれかのグループに属しているカメラはカメラ割り当てリストに表示されません。
  3. パイプライン割り当て: グループ詳細 → AIパイプライン設定 → パイプラインを選択 → 追加
  4. カメラごとの検知を有効化: ライブビュー → カメラを選択 → AI設定 → 炎/煙/転倒/侵入を有効化 → 保存

3. ライブビュー

グリッド操作

グリッドへのカメラ追加

  • カメラをドラッグ — サーバーリストから空のグリッドセルにドロップ
  • サーバーをドラッグ — そのサーバーのすべてのカメラでグリッドを埋める
  • カメラグループをドラッグ — グループ内のすべてのカメラでグリッドを埋める
  • 並べ替え — セル間でドラッグしてカメラを並べ替え

グリッドナビゲーション

グリッドのサイズは配置されたカメラの台数に応じて自動的に調整されます(例:カメラを追加すると1×2が1×3に拡大)。ズーム操作はありません。

カメラをドラッグ中は、ライブプレビューで配置先のセルがハイライト表示され、変更後のグリッドサイズ(例:「3 × 2」)が表示されます。すでにグリッド上にあるカメラを再度追加した場合は、新しいタイルを作らず、既存のタイルがハイライトされます。

操作方法
カメラをフルビューに拡大カメラをダブルクリック
フルビューからグリッドに戻る再度ダブルクリック、またはEscapeキー
カメラIDバッジを表示グリッドを右クリック → 「カメラIDを表示」
ドラッグ操作をキャンセルEscapeキーを押す

カメラホバーメニュー

ホバーコントロールが表示されたカメラタイル(バウンディングボックス表示、高画質/低画質、キャプチャ、全画面表示、情報表示、閉じる)
ホバーコントロールが表示されたカメラタイル(バウンディングボックス表示、高画質/低画質、キャプチャ、全画面表示、情報表示、閉じる)

カメラタイルにマウスを合わせるとコントロールバーが表示されます:

ボタン機能
バウンディングボックス表示AI検知オーバーレイの表示/非表示(検出オブジェクト周囲の色付きボックス)
高画質/低画質高解像度と低解像度ストリームの切り替え
キャプチャ現在のフレームのスクリーンショットをディスクに保存
全画面表示このカメラをグリッドエリア全体に拡大
情報表示カメラ情報オーバーレイの表示/非表示(名前、IP、解像度、FPS、コーデック)
閉じるこのカメラをグリッドセルから削除

通知パネル(右サイドバー)

AIがイベントを検知した場合:

  1. 右パネルに通知カードが表示されます:イベントタイプアイコン、カメラ名、サーバー、タイムスタンプ、サムネイル
  2. 通知をクリックするとイベント詳細ビューに直接移動します
  3. 「すべてクリア」をクリックしてすべての通知を消去
  4. ミュートボタン(右上、スピーカーアイコン)でアラート音を消音

レート制限: 高アクティビティ期間中のフラッディングを防ぐため、右パネルの通知は1秒あたり2件に制限されています。レート制限は右パネルの表示にのみ適用され、すべてのイベントはイベントログに正常に記録されます。

パネルにマウスを合わせている間は、新しいカードが届いてもスクロール位置が固定され、確認中のカードを見失いません。パネルは最大50枚のカードを保持し、それを超えると古いカードから削除されます。パネルを折りたたんでいるときに新しいアラートが届くと、再表示アイコンが赤く点滅します。

サーバー管理

サーバーリストツリー構造

サーバー→グループ→カメラの階層構造とオンライン/オフラインインジケーターが表示された展開済みサーバーリストサイドバー
サーバー→グループ→カメラの階層構造とオンライン/オフラインインジケーターが表示された展開済みサーバーリストサイドバー

ツリー内の表示の見方:

  • カメラ名の色: 現在グリッドに表示中のカメラは明るい白、グリッドに表示していないカメラはグレーで表示されます。
  • AIチップ(紫):そのカメラでAI検知が有効です。
  • ベル(黄):そのカメラを対象にした通知ルールが存在します。
  • 録画ドット: 赤=録画中、黄=保留中、オレンジ=エラー。

カメラグループを右クリックするとすべて展開/すべて折りたたみを選択できます。また、カメラをグループ上にドラッグすると、確認のうえそのグループへ割り当てを変更できます。

サーバーコンテキストメニュー(サーバーを右クリック)

  • サーバー情報 — CPU・GPUの製品名を表示
  • カメラ追加 — カメラ追加ダイアログを開く
  • カメラテスト — ストリームの動作確認用テストビデオウィンドウを開く
  • ログ確認 — このサーバーのイベントログを開く

カメラコンテキストメニュー(カメラを右クリック)

  • カメラ設定 — カメラ名、解像度、プロファイルを編集
  • ログ確認 — このカメラのイベントのみを表示
  • AI設定 — このカメラのAI検知を設定
  • フロー表示 — AIパイプラインフロー図を表示(読み取り専用)

すべてのコンテキストメニューにはカメラID表示トグルが含まれており、グリッドのカメラIDバッジを表示/非表示にできます。

サーバーの追加

  1. サーバーリストエリアを右クリック → サーバー追加
  2. サーバーのIPアドレス、ユーザーID、パスワードを入力
  3. テストをクリックして接続を確認
  4. 追加をクリック
  5. 新しいサーバーが上部に新しいタブとして表示されます

サーバー情報ダイアログ

サーバーを右クリック → サーバー情報で表示される内容:

  • サーバー名 — 編集できるのは現在ログイン中のサーバーで、かつ管理者権限(Admin/Super_Admin)がある場合のみです。それ以外では読み取り専用となり、保存ボタンは表示されません。
  • CPU・GPUの製品名
  • サーバー削除ボタン — このサーバーから切断

複数サーバーの利用

MirAIは1つのクライアントから複数のサーバーを監視できます。サインインしたサーバーがログインサーバーで、(上記の手順で)追加したサーバーは追加サーバーとなり、上部に独立したタブとして表示されます。タブをクリックしてサーバーを切り替えます。

追加サーバーでもすべてを監視できます。カメラをグリッドに配置し、ライブ映像を表示し、サーバーリストのツリーを参照し、イベントログを開き、AIイベントを確認できます。各カメラには、そのカメラが属するサーバーで定義されたAIイベントの種類が表示されます。

追加サーバーは読み取り専用です。カメラのグループ分け、AI設定、通知ルール、ユーザー管理、その他ほとんどの設定は、現在ログイン中のサーバーでのみ変更できます。追加サーバーを設定するには、そのサーバーに直接ログインしてください。(追加サーバーではサーバー名などの項目は読み取り専用となり、グループへのドラッグ&ドロップも無効になります。)

追加サーバーの監視を終了するには、サーバーを右クリック → サーバー情報サーバー削除を選択します。これはクライアントの接続を切断するだけで、サーバー自体には影響しません。

カメラステータスインジケーター

以下の状態はライブビューのグリッド内の各カメラタイルに表示されます:

ステータス表示意味
オンライン通常映像、復旧時に緑色フラッシュ正常にストリーミング中
停止黄色点滅ボーダー、フリーズフレームストリームが一時的に中断
再接続中より速い黄色点滅、「再接続中 (n/50)」の試行回数を表示サーバーが接続を再確立中
オフライン赤色点滅ボーダー、オフラインアイコンオーバーレイカメラに到達不可
接続中「接続中...」テキスト点滅初期接続進行中
変更中「設定更新中...」テキスト設定を適用中
エラー赤色点滅ボーダー、エラーアイコンオーバーレイ、「接続失敗」テキスト回復不可能なストリームエラー

アラート時の画面フラッシュ: AIイベントが発生すると、該当するカメラタイルのボーダーがそのイベントの色(検知ボックスと同じ色。色が未設定の場合は赤)で点滅します。

イベントアイコンと色: 各AIイベントタイプには、パイプラインのイベント出力で設定されたアイコンと色があり、クライアントはこれを唯一の基準として使用します。AI設定のイベントチップやインシデントログのラベルにこのアイコンと色が表示され、上記のアラートフラッシュも同じ色を使用します。

4. 設定&構成

トップナビゲーションバーの設定ボタンからアクセスします。左サイドバーに設定カテゴリが表示されます。

一般設定

一般設定ページ。言語選択、フォントサイズ、タイムゾーン、日付形式、デフォルトランディング、セッションタイムアウト、Windows起動時に開始トグルを表示
一般設定ページ。言語選択、フォントサイズ、タイムゾーン、日付形式、デフォルトランディング、セッションタイムアウト、Windows起動時に開始トグルを表示

すべてのユーザーロールで利用可能。外観と設定を構成:

設定オプション
言語英語、韓国語、日本語
フォントサイズ小、デフォルト、大
タイムゾーンシステムリストから選択
日付&時刻形式複数のフォーマットオプション
デフォルトランディングライブビュー、イベントログ、または設定
セッションタイムアウト15分 / 30分 / 1時間 / なし
Windows起動時に開始システム起動時に自動起動
アラート時の画面フラッシュAI検知時に、カメラのグリッドタイルのボーダーを色付きで点滅させます(初期値:ON)。
アラート音量通知音の音量を制御(0〜100のスライダー)。
すべてのアラートをミュート通知音をすべて消音します。

サーバーとカメラ

サーバーとカメラ設定ページ。ステータスインジケーターとグループ割り当て付きのカメラテーブルを表示
サーバーとカメラ設定ページ。ステータスインジケーターとグループ割り当て付きのカメラテーブルを表示

全カメラタブ

  • テーブルビュー:カメラ名、IP、ステータス(オンライン/オフライン)、グループ、AI検知ステータス、アラーム(AI検知ステータス = そのカメラでAI検知が有効かどうか)
  • 検索: カメラ名またはIPでフィルタ
  • フィルター: ステータスドロップダウン(オンライン/オフライン/すべて)、グループドロップダウン
  • 一括操作: 複数のカメラにチェック → グループに割り当てまたは削除
  • 編集/削除: カメラごとのアクションボタン

カメラグループタブ

  • グループカード表示:名前、割り当てパイプライン、カメラ数、AI数、アラーム数
  • グループ作成: + グループ作成 → 名前 → 作成
  • カメラ割り当て: グループ詳細 → + カメラ割り当て → チェック → 割り当て
  • AIパイプライン設定: ドロップダウンからパイプラインを選択 → 追加

注意: カメラごとのAI検知の有効化およびアラームチャンネルの設定は、ライブビューでカメラを選択した後、AI設定で行います(下記のAI設定 → カメラごとのAI設定を参照)。

AI設定

AI設定ページ。モデルカード付きModel HubとPipeline Builderキャンバスを表示
AI設定ページ。モデルカード付きModel HubとPipeline Builderキャンバスを表示

アクセス:設定 → AI設定。AdminとSuper_AdminはAIモデルを管理できます。Super_Adminのみがパイプラインを作成/変更できます(Adminはパイプラインの閲覧が可能)。Adminには、パイプラインの作成・編集・削除のコントロールが無効化された状態(ツールチップ付き)で表示されます。パイプラインを変更できるのはSuper_Adminのみです。

AIモデルHub

  • モデルカード表示:タイプバッジ(Detector/Classifier/Embedder/Segmenter)、バージョン、名前、説明
  • 検索&フィルタ: モデル検索、タイプフィルタ(すべて/Detector/Classifier/Embedder/Segmenter)
  • モデルアップロード: + 新規AIモデル追加 → ウェイト(.onnx/.pt/.enc/.tflite)とマニフェスト(.toml)をアップロード → 保存
  • 設定: モデルカードの[設定]ボタン → バージョン管理ダイアログ。バージョン履歴、モデルエンジン・設定(.toml)の差し替え、新バージョンのアップロード、説明の編集が可能です(モデル名は変更不可)。変更は自動的に適用されます。アクティブなパイプラインで使用中のモデルを変更した場合は、再起動を推奨するメッセージが表示されます。
  • 削除: 使用されていないモデルのみ削除できます。アクティブなパイプラインが参照しているモデルは削除できません。

注意: モデルには個別のON/OFFトグルはありません。モデルはアクティブなパイプラインのノードとして使われると動作します。モデルの追加・更新は、既に動作中のAIに影響を与えません。

AIパイプライン

注意: AIパイプラインの作成・編集はSuper_Admin専用です。管理者(Admin)はパイプラインの確認(カメラ右クリック → フロー表示)と、既存パイプラインのカメラグループへの割り当てができます。

カメラごとのAI設定

カメラごとのAI設定。検知タイプトグル(炎/煙/転倒/侵入)、カメラプレビュー上に描画されたROIポリゴン、信頼度閾値スライダーを表示
カメラごとのAI設定。検知タイプトグル(炎/煙/転倒/侵入)、カメラプレビュー上に描画されたROIポリゴン、信頼度閾値スライダーを表示

ライブビューでカメラを右クリック → AI設定:

  • AI機能をON → 検知するイベントタイプを選択: 炎、 煙、 転倒、 侵入
  • 定義済みルール: 各イベント出力を展開すると、モーダルで該当する検知ルール(パイプラインのイベント出力オプション、信頼度閾値など)を表示/編集できます。閾値が低いほど敏感になり、高いほど誤検知が減ります。
  • ROI: ポリゴンを描画 — このエリア内のみで検知
  • RONI: ポリゴンを描画 — このエリア内の検知を無視(ROI/RONIポリゴンはROIエディタ内で個別に削除)
  • FPS to AI: AIに送信するフレームを制御するセレクター(ドロップダウン)。低い = GPU使用量が少ない
  • 初期化: このカメラのAI設定をデフォルト値に戻します。
  • 保存をクリックして変更を適用

検知ボックスの初期色:転倒=黄、炎=赤、煙=オレンジ、侵入=青(パイプラインごとに変更可能)。

通知設定

通知設定。チャンネルリストとルールビルダー(IF-THENステップ)を表示
通知設定。チャンネルリストとルールビルダー(IF-THENステップ)を表示

チャンネル(配信方法)

通知チャンネル設定フォーム。Email SMTP設定(サーバー、ポート、暗号化、認証情報、件名テンプレート)を表示
通知チャンネル設定フォーム。Email SMTP設定(サーバー、ポート、暗号化、認証情報、件名テンプレート)を表示
タイプ設定
Email(SMTP)サーバー、ポート、暗号化、認証情報、件名、HTMLテンプレート
汎用WebhookURL、HTTPメソッド(GET/POST/PUT)、ヘッダー、ペイロード
HTTPエンドポイントベースURL、認証(なし/Basic/Bearer/APIキー)、ヘッダー
SNMPトラップIP、バージョン(v1/v2c/v3)、コミュニティ文字列またはv3セキュリティ

各チャンネルはテスト、アクティブ/非アクティブの切り替え編集、または削除(ルールが参照している場合は削除不可)が可能です。ヘッダーが複数必要な場合はカンマ(,)で区切ります。

内部・LANアドレス: Webhook/HTTPチャンネルは、初期設定で内部・LAN上のアドレス(例:オンプレミスのSIEMやパトライト)を宛先に指定できます。

ルール(IF-THEN自動化)

5ステップウィザードを表示した通知ルールビルダー:IFトリガー → 範囲&スケジュール → スロットル → ゲート → THENアクション
5ステップウィザードを表示した通知ルールビルダー:IFトリガー → 範囲&スケジュール → スロットル → ゲート → THENアクション

5ステップでルールを作成します。ルール名(1〜100文字)を入力:

  1. IF(トリガー): AIイベント(炎/煙/転倒/侵入)、カメラ状態(オンライン/オフライン)、またはシステムアラート
  2. 範囲&スケジュール: カメラ/グループを選択 + スケジュール(常時またはカスタム曜日/時間)
  3. スロットル: 配信ケイデンスを次の5つから選択 — 即時 / 1分に1回 / 1時間に1回 / バッチ(5分) / ダイジェスト(毎時)。1日の最大回数(任意)も設定できます。
  4. ゲート(任意): 追加条件(例:信頼度 > 0.5、ボックスサイズ)
  5. THEN(アクション): チャンネルとメール受信者を選択。各ルールには通知音の再生トグルがあり、このルールでの音の有無を切り替えられます。さらに、各ルールで発生時に再生する通知音を選択でき、プレビューボタンで試聴できます。

アラート音の対応: 炎・煙 → アラーム、侵入 → サイレン、転倒 → アラート、その他 → ビープ。音は約2秒間デバウンスされ、各通知ルールの再生トグルでオフにできます。

グローバルポリシー

  • 通知カウントダウン: 同じソースからの同じイベントアラート間の最小秒数
  • 制限: 1分あたり/1時間あたりの最大通知数
  • サイレントタイム: 指定した時間帯にすべての通知を抑制

ポリシーを保存をクリックして適用。初期化をクリックしてデフォルトに戻す。

ユーザー設定

Admin/Super_Adminのみ。設定 → ユーザー設定。

  • ユーザー追加: + 追加 → ユーザー名(3〜20文字)、パスワード(4文字以上)、電子メール、役割 → 保存
  • 編集: 役割、パスワード、または状態を変更(電子メールは変更不可)。状態を「非活性化」に設定すると、削除せずにログインを防止できます。
  • 役割: Admin、User(Super_AdminはUIで割り当てできません)
  • 役割変更の制限:Userは管理者(Admin)に昇格できますが、管理者(Admin)をUserに降格することはできません。

ライセンス管理

ライセンス管理ページ。ライセンスステータス(有効/期限切れ)、有効期限、カメラ数、キー入力欄付きアクティベーションフォームを表示
ライセンス管理ページ。ライセンスステータス(有効/期限切れ)、有効期限、カメラ数、キー入力欄付きアクティベーションフォームを表示

ライセンスステータス

ライセンスページには以下が表示されます:現在のステータス(有効 / 期限間近(残りN日) / 期限切れ)、有効期限、ライセンスカメラ数。

ライセンスはマシンに紐づいており(ハードウェア・デバイスID)、別のマシンへ移すことはできません。

オンラインアクティベーション

  1. キーを入力:XXXXX-XXXXX-XXXXX-XXXXX
  2. ライセンスを有効化をクリック

オフラインアクティベーション

  1. リクエストファイルを生成をクリック → .reqファイルを保存
  2. ファイルをサポートに送信 → ライセンスファイルを受け取る
  3. ライセンスファイルをアップロードをクリック → ライセンスを適用

期限切れ: 有効期限を過ぎても、固定の7日間の猶予期間があります。猶予期間中はシステムは引き続き動作し、「期限間近 — 残りN日」と表示されます。猶予期間が終了するとAI推論は停止しますが、ライブビューと録画は継続します。更新キーについてはサポートにお問い合わせください。

システム設定

ストレージ&保持設定。パス設定欄(録画、キャプチャ、バックアップ)、パステストボタン、保持ポリシー(N日後に自動削除)、ストレージ内訳チャートを表示
ストレージ&保持設定。パス設定欄(録画、キャプチャ、バックアップ)、パステストボタン、保持ポリシー(N日後に自動削除)、ストレージ内訳チャートを表示
サブタブ機能
監査証跡すべてのアクションの不変ログ。重要度/アクション/日付でフィルタ。ユーザー、アクション、リソース、詳細で検索。CSV/TXTでダウンロード。
システムログアプリ/ネットワーク/カメラログ。ログレベルの設定(OFF/INFO/WARNING/ERROR)。日付範囲とフォーマット選択でダウンロード。
ストレージ&保持録画/画像/バックアップパスを設定。パステストでアクセス可能性を確認。新規フォルダ作成。保持ポリシーの設定(N日後に自動削除)。経過日数別ストレージ内訳を表示(過去30日、31〜90日、90日以上)。手動クリーンアップ用の「今すぐクリーン」ボタン。
バックアップ&リストア手動またはスケジュールバックアップ。手動バックアップをトリガー → 含めるカテゴリを個別に選択(すべて選択/すべて解除も可能):
  • データベース — カメラ、ユーザー、ルール、設定、監査証跡、イベントログ
  • AIモデルファイル — modelsディレクトリのモデルウェイトとマニフェスト
  • イベントメディア — キャプチャ画像と録画映像
スケジュールバックアップ(毎日/毎週/毎月)はデータベースカテゴリのみが対象です。最近のバックアップテーブル(日付、サイズ、タイプ、ダウンロードとリストアボタン)。リストア:バックアップを選択 → カテゴリを確認 → システムが変更を適用(完全リストアの場合は再起動の可能性あり)。

バックアッププレビュー: バックアップをトリガーする前に、プレビューダイアログに含まれるカテゴリ、推定ファイル数、合計サイズが正確に表示されます。確認してから実行してください。
更新&レポート現在のバージョンとリリース日。更新の確認 / 更新のダウンロード(プログレスバーとポップアップでリリースノートを表示)。オフライン更新(エアギャップ環境用に.zipをアップロード)。日次レポートのダウンロード。

独立した「システム再起動」「システム停止」ボタンはありません。再起動は、更新の適用後、またはモデル・パイプラインの変更後に、必要に応じてその場で(コンテキストに応じて)促されます。ユーザーがシステムを停止するボタンはありません。

リストア警告: リストアすると、選択したカテゴリの現在の設定が上書きされます。リストア前に必ず新しいバックアップを作成してください。

ヘルプページ

設定 → ヘルプ(すべてのロールで利用可能)。含まれる内容:

  • ユーザーマニュアル — デフォルトブラウザでこのマニュアルを開く
  • サポートに連絡 — MarkAny Co., Ltd.サポート情報(ウェブサイト、電話、メール)
  • キーボードショートカット — すべてのキーボードショートカットのクイックリファレンス
  • サードパーティライセンス — Qt(LGPL v3)、GStreamer(LGPL v2.1+)、OpenCV(Apache 2.0)、Rust crates(MIT/Apache 2.0)

システムメンテナンス

キャッシュデータをクリアしてディスク容量を解放(設定 → システム設定 → 更新&レポート → メンテナンス):

  • アプリケーションキャッシュ、一時ファイル、サムネイルキャッシュ
  • システムログ、録画映像、画像キャプチャ、バックアップストレージ
  • すべてのキャッシュ&ログをクリア: ワンクリッククリーンアップ(確認が必要、キャッシュ再構築中は一時的に動作が遅くなる場合があります)

5. イベントログ

トップナビゲーションのイベントログタブ、またはサーバー/カメラを右クリック → ログ確認からアクセスします。

イベントのフィルタリング

イベントログテーブル。フィルターバー(日付範囲、カメラ、イベント種類、確認)とサムネイル・ステータス付きのページネーション結果を表示
イベントログテーブル。フィルターバー(日付範囲、カメラ、イベント種類、確認)とサムネイル・ステータス付きのページネーション結果を表示
フィルターオプション
日付範囲今日、今週、今月、またはカスタム(カレンダーピッカー)
カメラ特定のカメラまたはすべて
イベント種類炎、煙、転倒、侵入、またはすべて(リストは設定されたイベントタイプに応じて動的に表示されます)
確認確認済み、未確認、すべて

テーブルには以下が表示されます:日時、サムネイル、カメラ、イベント種類、イベント(True/False)、確認者、確認日時。下部にページネーション。

イベント詳細ビュー

イベント詳細ビュー。ビデオプレーヤー、タイムラインスクラバー、バウンディングボックスオーバーレイ、監査コントロールを表示
イベント詳細ビュー。ビデオプレーヤー、タイムラインスクラバー、バウンディングボックスオーバーレイ、監査コントロールを表示

任意の行をクリックして開きます:

  • ビデオ再生(タイムラインスクラバー付き) — 約5秒のプリイベントバッファを含む。再生をクリック、ドラッグでシーク。
  • AIバウンディングボックスオーバーレイ — キャプチャ画像上に検出された内容を表示
  • メタデータ: イベント種類、サーバー名、カメラ名、最終修正日時、イベントT・F

イベントの監査

  1. TrueまたはFalseを選択 — True = 実際のイベントを確認、False = 誤検知
  2. メモを追加(任意) — 観察した内容を記述(最大500文字)
  3. 「チェック」をクリック — イベントに記録されます:確認者、最終修正日時、True/Falseステータス

ヒント: 監査後、評価を変更する必要がある場合は修正をクリックしてください。

画像ライブラリ: イベントを監査すると、検知ボックスを切り出した画像が判定に応じて画像ライブラリに保存されます。確認されたイベントはTrueのセットに、誤検知はFalseのセットに振り分けられ(いずれもカメラおよびイベント種類ごとに整理)、その中でも重要なのはFalseのセットです。AIがこのFalseのセットを参照データとして利用し、今後発生する類似の誤検知を認識して抑制するためで、これがライブラリの主な目的です。画像は常に最新の判定を反映します。TrueとFalseを切り替えると該当するセットへ移動し、判定を解除すると削除されます。同じ場面が繰り返し何度も捉えられて生じる類似重複画像は自動的に整理され、異なるパターンごとに一つだけ保持されるため、古い画像を削除するのではなく重複排除によってライブラリがコンパクトに保たれます。毎日実行されるタスクが現在の判定に合わせてライブラリを同期します。

イベントのダウンロード

  • 詳細ページのダウンロードアイコンをクリック
  • フォーマットを選択:イメージ(PNG/JPG)および/または動画(MP4/AVI)
  • バウンディングボックスを含めるにチェックすると、AI検知ボックスを書き出すイメージ・動画に焼き込みます
  • 保存フォルダを選択 → プログレスインジケーター付きでダウンロード開始

追加エクスポートオプション

  • インシデントレポートを生成: 設定 → システム設定 → 更新&レポート → インシデントレポート生成 → 日付範囲、スタイル、グラフグルーピングを選択 → 生成
  • 日次レポート: 設定 → システム設定 → 更新&レポート → 日次レポートをダウンロード

6. よくある質問

Q: MirAIは何台のカメラに対応できますか?

サーバー:最大100ストリーム(ハードウェアに依存)。クライアントグリッド:最大100の同時フィード。パフォーマンスは解像度、フレームレート、GPU性能に依存します。

Q: リモートからシステムにアクセスできますか?

はい。ポートフォワーディング(サーバーポート7878/7575)またはVPNを使用してください。本番環境ではVPNを強く推奨します。TLS(HTTPS/WSS)はデフォルトで有効です。

Q: どのカメラに対応していますか?

RTSP対応のすべてのカメラ:Hikvision、Dahua、Axis、Hanwha、Boschなど。ONVIFカメラは自動検出可能です。

Q: どのAIイベントを検知できますか?

炎、煙、転倒(人の転倒)、侵入(不正侵入)。各カメラごとにROI/RONIゾーンで設定可能です。

Q: 複数のサーバーに接続するにはどうすればよいですか?

サーバーリストを右クリック → サーバー追加 → IPと認証情報を入力。各サーバーは個別のタブとして表示されます。

Q: 初回起動に15〜30分かかるのはなぜですか?

サーバーがGPUに最適化されたTensorRTエンジンファイルをビルドするためです。これは一度だけ行われます。以降の起動は30秒以内です。

Q: スマートフォンで通知を受け取れますか?

はい。Slack、Teams、LINE、または任意のHTTPサービスを指すWebhookチャンネルを設定してください。SMTP経由のメールもサポートされています。

Q: 設定をバックアップするにはどうすればよいですか?

設定 → システム設定 → バックアップ&リストア。手動またはスケジュール(毎日/毎週/毎月)。すべての設定、カメラ、ユーザー、ルールが含まれます。

Q: ROIとRONIの違いは何ですか?

ROI = 関心領域(この内部のみで検知)。RONI = 非関心領域(検知から除外)。誤報の原因となるエリアにRONIを使用してください。

Q: アプリケーションを更新するにはどうすればよいですか?

設定 → システム設定 → 更新&レポート → 更新の確認。オフライン環境では.zipアップロードオプションを使用してください。常にクライアントより先にサーバーを更新してください。

Q: どのネットワークポートを開放する必要がありますか?

7878 — REST API(HTTPS、クライアント↔サーバー)。7575 — WebSocket(WSS、リアルタイム同期)。8554 — RTSP映像ストリーミング。7979 — TCPファイル転送。サーバーマシンでこれらのポートへの受信トラフィックをファイアウォールで許可してください。

Q: パスワードを変更するにはどうすればよいですか?

設定 → ユーザー設定に移動 → 自分のアカウントの編集ボタンをクリック → 新しいパスワードを入力 → 保存をクリック。管理者は他のユーザーのパスワードも変更できます。

Q: 新しいサーバーに移行するにはどうすればよいですか?

1) 旧サーバーでフルバックアップを作成(設定 → システム設定 → バックアップ&リストア → すべてのカテゴリで手動バックアップ)。2) 新サーバーにMirAIをインストール。3) 新サーバーにログイン。4) バックアップ&リストア → リストア → バックアップファイルをアップロードまたは選択。5) カメラが再接続し、AIパイプラインがアクティブであることを確認。

7. トラブルシューティング

接続の問題

切断&再接続の動作

サーバー接続が失われた場合:

  • メイン画面に「切断されました」オーバーレイが表示されます
  • カメラストリームは最後に受信したフレームでフリーズします
  • クライアントは数秒ごとに自動的に再接続を試みます
  • 再接続されると、ストリームが再開しオーバーレイが消えます
  • 切断中に受信した通知は遡って表示されません

一般的な接続の問題

  • 対象マシンでサーバーアプリケーションが実行中であることを確認
  • IPアドレスとポート(デフォルト:7878)を確認
  • ファイアウォールがサーバーポートへの受信接続を許可していることを確認
  • 両方のマシンが同じネットワーク上にあるか、VPNが設定されていることを確認
  • 使用中に「サーバー切断」→ ネットワークを確認。クライアントは自動再接続します。

カメラの問題

フィードが表示されない

  • まずVLCでRTSP URLをテストし、MirAI外で動作することを確認
  • カメラがサーバーマシンから到達可能であることを確認(クライアントだけでなく)
  • カメラステータスインジケーターを確認(緑=オンライン、赤=オフライン、黄色点滅=停止)
  • サーバーログを確認:logs/server.log

検出中にカメラが見つからない

  • IP範囲が正しく、カメラの電源が入っていることを確認
  • カメラがONVIFをサポートし、有効になっていることを確認
  • 代わりにRTSP URLで手動追加を試す

AI検知の問題

  • カメラの検知が有効であることを確認(右クリック → AI設定)
  • カメラがアクティブなパイプラインが割り当てられたグループに属していることを確認
  • 信頼度閾値を下げる(テスト用に0.3〜0.5を試す)
  • ROI/RONIを確認 — イベントがROIポリゴンの外にある可能性
  • サーバーGPUが過負荷でないことを確認(90%超 → フレームドロップ)
  • 正しいAIモデルがModel Hubでアクティブであることを確認
  • logs/ai_pipeline.logを確認

通知の問題

  • チャンネルがアクティブであることを確認(チャンネルタブでONに切り替え)
  • チャンネルカードのテストボタンをクリックして配信を確認
  • イベントタイプをチャンネルにリンクするルールがあることを確認
  • グローバルポリシーを確認 — サイレントタイムが抑制している可能性
  • レート制限を確認(1分/1時間あたりの最大数が使い果たされている可能性)
  • Email:SMTP設定、ポート、暗号化、認証情報を確認
  • Webhook:URLがサーバーから到達可能であることを確認

一般的なエラーメッセージ

メッセージ原因解決策
"Please check the ID and Password"認証情報が間違い管理者に確認
"IP Invalid"IPの形式が不正形式を使用:192.168.1.100
"Session expired"非アクティブタイムアウト再ログイン;一般設定でタイムアウトを延長
"AI Engine Loading"初回起動モデルビルド15〜30分待機、再起動しない
"No camera found"ONVIF検出失敗IP範囲、カメラ電源、ONVIF有効を確認
"Server disconnected"ネットワーク中断ネットワークを確認;クライアントは自動再接続
"License expired"ライセンス更新が必要サポートに連絡して新しいキーを取得
"Invalid license"キー形式エラーXXXXX-XXXXX-XXXXX-XXXXXを使用、特殊文字なし

パフォーマンスのヒント

  • クライアントのCPU負荷を軽減するために小さいグリッドレイアウトを使用
  • 多数のフィードを監視する場合、ホバーメニューでカメラを低解像度に切り替え
  • 「FPS to AI」スライダーを下げてサーバーGPU使用量を削減
  • 保持ポリシーを設定して古い録画を自動削除し、ディスク容量を解放
  • クライアントマシンで他のリソース集約型アプリケーションを閉じる

サポートに連絡する際: アプリバージョン(設定 → システム設定 → 更新)、OS情報、再現手順、logs/ディレクトリのログファイルを含めてください。

クイックリファレンス:ヒント&ショートカット

操作方法
カメラをフルビューに拡大グリッド内のカメラをダブルクリック
グリッドに戻る再度ダブルクリックまたはEscapeキー
カメラへのクイックアクセスサーバーツリーでカメラを右クリック
サーバーの全カメラでグリッドを埋めるサーバー名をグリッドにドラッグ
カメラIDの表示/非表示グリッドを右クリック → 「カメラIDを表示」
追加前にカメラをテストカメラを右クリック → カメラテスト
イベントのクイックフィルタ今日 / 今週 / 今月ボタンを使用
サーバーの状態を確認サーバーを右クリック → サーバー情報
ログインを送信ログイン画面でEnterキー
フルスクリーンを終了Escapeキーまたはフルスクリーンボタンを再クリック
ドラッグ操作をキャンセルドラッグ中にEscapeキー

8. 用語集

ROI (Region of Interest)
カメラビュー上のユーザー定義ポリゴン。AI検知はこのエリア内で発生したイベントに対してのみトリガーされます。
RONI (Region of Non-Interest)
AI検知からエリアを除外するユーザー定義ポリゴン。RONI内のイベントは誤報を減らすために無視されます。
RTSP (Real-Time Streaming Protocol)
IPカメラからMirAIサーバーへのリアルタイム映像ストリームの制御と配信に使用されるネットワークプロトコル。
ONVIF (Open Network Video Interface Forum)
IPカメラの相互運用性のための業界標準。ベンダー固有の設定なしにカメラの自動検出と設定を可能にします。
TensorRT
NVIDIAの高性能ディープラーニング推論オプティマイザーおよびランタイム。MirAIはTensorRTを使用してNVIDIA GPU上でのAIモデル実行を高速化します。
NSSM (Non-Sucking Service Manager)
MirAIサーバーを起動時に自動的に開始するバックグラウンドWindowsサービスとして実行するために使用されるWindowsサービスマネージャー。
Pipeline
ビデオフレームを処理して検知イベントを生成するAI処理ステージ(Detector → Classifier → Tracker)の設定済みチェーン。
Bounding Box
AIモデルがオブジェクトまたはイベントを検出した場所を示す、ビデオフレーム上に描画される矩形オーバーレイ。
Confidence Threshold
AI検知が報告されるために必要な最小確実性を決定する数値(0.0〜1.0)。低い値は感度を上げ、高い値は誤検知を減らします。
JWT (JSON Web Token)
MirAIクライアントとサーバー間の認証に使用されるセキュアなトークン形式。ログイン時に発行され、以降のすべてのAPIリクエストに含まれます。
SMTP (Simple Mail Transfer Protocol)
メール送信の標準プロトコル。MirAIの通知システムが設定済みメールサーバーを通じてアラートメールを配信するために使用します。
SNMP (Simple Network Management Protocol)
ネットワークデバイス監視用プロトコル。MirAIはSNMPトラップを送信してエンタープライズネットワーク管理システム(NMS)と統合できます。
Webhook
AI検知が発生した際にリアルタイムのイベントデータを外部URLに送信するHTTPコールバック。Slack、Teams、LINE、またはカスタムサービスとの統合に使用されます。