MirAI ユーザーマニュアル
VERSION 2.0.81. 概要
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アラート。クリックでイベント詳細を表示。 |
システム要件
| コンポーネント | 最小 | 推奨 |
|---|---|---|
| OS | Windows 10(64ビット) | Windows 11(64ビット) |
| CPU | Intel i5 / Ryzen 5 | Intel i7 / Ryzen 7+ |
| RAM | 8 GB | 16 GB+ |
| GPU(サーバー) | NVIDIA GTX 1060 | NVIDIA RTX 3060+(AI推論) |
| ネットワーク | 100 Mbps LAN | 1 Gbps LAN |
| ディスク | 500 MB(アプリ)+ 20 GB | 50+ GB SSD |
ユーザーロール
| ロール | アクセスレベル |
|---|---|
| Super_Admin | フルアクセス。AIパイプラインの作成、変更、有効化/無効化、削除が可能。 |
| Admin | パイプライン変更(作成/編集/削除/有効化/無効化)を除くすべてにフルアクセス。パイプラインの閲覧は可能。カメラ、AIモデル、ユーザー、システム設定、更新、通知、その他すべての機能を管理可能。 |
| User | ライブストリームとイベントログ(読み取り専用)。一般設定とヘルプのみアクセス可能。 |
注意: Super_AdminとAdminの唯一の権限の違いは、AIパイプラインの追加と変更ができるかどうかです。その他のすべての機能(モデル管理、システム再起動、更新、ユーザー登録、バックアップ/リストア)は両方のロールで同等にアクセスできます。
2. はじめに
ログイン

- MirAIを起動 — デスクトップアイコンをダブルクリックします。
- サーバーIPを入力 — サーバーのIPアドレスを入力します(例:
192.168.1.100)。デフォルトポート:7878(HTTPS)。 - IDとパスワードを入力 — システム管理者から提供された認証情報を使用します。
- 「IDとパスワードを記憶」にチェック(任意) — 次回の自動ログインが有効になります。
- 「ログイン」をクリック — サーバーが起動中の場合、「サーバー待機中...」ダイアログが表示されます。
ヒント: Enterキーを押すと、ボタンをクリックせずにログインフォームを送信できます。
3. ライブビュー
グリッド操作
グリッドへのカメラ追加
- カメラをドラッグ — サーバーリストから空のグリッドセルにドロップ
- サーバーをドラッグ — そのサーバーのすべてのカメラでグリッドを埋める
- カメラグループをドラッグ — グループ内のすべてのカメラでグリッドを埋める
- 並べ替え — セル間でドラッグしてカメラを並べ替え
グリッドナビゲーション
グリッドのサイズは配置されたカメラの台数に応じて自動的に調整されます(例:カメラを追加すると1×2が1×3に拡大)。ズーム操作はありません。
カメラをドラッグ中は、ライブプレビューで配置先のセルがハイライト表示され、変更後のグリッドサイズ(例:「3 × 2」)が表示されます。すでにグリッド上にあるカメラを再度追加した場合は、新しいタイルを作らず、既存のタイルがハイライトされます。
| 操作 | 方法 |
|---|---|
| カメラをフルビューに拡大 | カメラをダブルクリック |
| フルビューからグリッドに戻る | 再度ダブルクリック、またはEscapeキー |
| カメラIDバッジを表示 | グリッドを右クリック → 「カメラIDを表示」 |
| ドラッグ操作をキャンセル | Escapeキーを押す |
カメラホバーメニュー

カメラタイルにマウスを合わせるとコントロールバーが表示されます:
| ボタン | 機能 |
|---|---|
| バウンディングボックス表示 | AI検知オーバーレイの表示/非表示(検出オブジェクト周囲の色付きボックス) |
| 高画質/低画質 | 高解像度と低解像度ストリームの切り替え |
| キャプチャ | 現在のフレームのスクリーンショットをディスクに保存 |
| 全画面表示 | このカメラをグリッドエリア全体に拡大 |
| 情報表示 | カメラ情報オーバーレイの表示/非表示(名前、IP、解像度、FPS、コーデック) |
| 閉じる | このカメラをグリッドセルから削除 |
通知パネル(右サイドバー)
AIがイベントを検知した場合:
- 右パネルに通知カードが表示されます:イベントタイプアイコン、カメラ名、サーバー、タイムスタンプ、サムネイル
- 通知をクリックするとイベント詳細ビューに直接移動します
- 「すべてクリア」をクリックしてすべての通知を消去
- ミュートボタン(右上、スピーカーアイコン)でアラート音を消音
レート制限: 高アクティビティ期間中のフラッディングを防ぐため、右パネルの通知は1秒あたり2件に制限されています。レート制限は右パネルの表示にのみ適用され、すべてのイベントはイベントログに正常に記録されます。
パネルにマウスを合わせている間は、新しいカードが届いてもスクロール位置が固定され、確認中のカードを見失いません。パネルは最大50枚のカードを保持し、それを超えると古いカードから削除されます。パネルを折りたたんでいるときに新しいアラートが届くと、再表示アイコンが赤く点滅します。
サーバー管理
サーバーリストツリー構造

ツリー内の表示の見方:
- カメラ名の色: 現在グリッドに表示中のカメラは明るい白、グリッドに表示していないカメラはグレーで表示されます。
- AIチップ(紫):そのカメラでAI検知が有効です。
- ベル(黄):そのカメラを対象にした通知ルールが存在します。
- 録画ドット: 赤=録画中、黄=保留中、オレンジ=エラー。
カメラグループを右クリックするとすべて展開/すべて折りたたみを選択できます。また、カメラをグループ上にドラッグすると、確認のうえそのグループへ割り当てを変更できます。
サーバーコンテキストメニュー(サーバーを右クリック)
- サーバー情報 — CPU・GPUの製品名を表示
- カメラ追加 — カメラ追加ダイアログを開く
- カメラテスト — ストリームの動作確認用テストビデオウィンドウを開く
- ログ確認 — このサーバーのイベントログを開く
カメラコンテキストメニュー(カメラを右クリック)
- カメラ設定 — カメラ名、解像度、プロファイルを編集
- ログ確認 — このカメラのイベントのみを表示
- AI設定 — このカメラのAI検知を設定
- フロー表示 — AIパイプラインフロー図を表示(読み取り専用)
すべてのコンテキストメニューにはカメラID表示トグルが含まれており、グリッドのカメラIDバッジを表示/非表示にできます。
サーバーの追加
- サーバーリストエリアを右クリック → サーバー追加
- サーバーのIPアドレス、ユーザーID、パスワードを入力
- テストをクリックして接続を確認
- 追加をクリック
- 新しいサーバーが上部に新しいタブとして表示されます
サーバー情報ダイアログ
サーバーを右クリック → サーバー情報で表示される内容:
- サーバー名 — 編集できるのは現在ログイン中のサーバーで、かつ管理者権限(Admin/Super_Admin)がある場合のみです。それ以外では読み取り専用となり、保存ボタンは表示されません。
- CPU・GPUの製品名
- サーバー削除ボタン — このサーバーから切断
複数サーバーの利用
MirAIは1つのクライアントから複数のサーバーを監視できます。サインインしたサーバーがログインサーバーで、(上記の手順で)追加したサーバーは追加サーバーとなり、上部に独立したタブとして表示されます。タブをクリックしてサーバーを切り替えます。
追加サーバーでもすべてを監視できます。カメラをグリッドに配置し、ライブ映像を表示し、サーバーリストのツリーを参照し、イベントログを開き、AIイベントを確認できます。各カメラには、そのカメラが属するサーバーで定義されたAIイベントの種類が表示されます。
追加サーバーは読み取り専用です。カメラのグループ分け、AI設定、通知ルール、ユーザー管理、その他ほとんどの設定は、現在ログイン中のサーバーでのみ変更できます。追加サーバーを設定するには、そのサーバーに直接ログインしてください。(追加サーバーではサーバー名などの項目は読み取り専用となり、グループへのドラッグ&ドロップも無効になります。)
追加サーバーの監視を終了するには、サーバーを右クリック → サーバー情報 → サーバー削除を選択します。これはクライアントの接続を切断するだけで、サーバー自体には影響しません。
カメラステータスインジケーター
以下の状態はライブビューのグリッド内の各カメラタイルに表示されます:
| ステータス | 表示 | 意味 |
|---|---|---|
| オンライン | 通常映像、復旧時に緑色フラッシュ | 正常にストリーミング中 |
| 停止 | 黄色点滅ボーダー、フリーズフレーム | ストリームが一時的に中断 |
| 再接続中 | より速い黄色点滅、「再接続中 (n/50)」の試行回数を表示 | サーバーが接続を再確立中 |
| オフライン | 赤色点滅ボーダー、オフラインアイコンオーバーレイ | カメラに到達不可 |
| 接続中 | 「接続中...」テキスト点滅 | 初期接続進行中 |
| 変更中 | 「設定更新中...」テキスト | 設定を適用中 |
| エラー | 赤色点滅ボーダー、エラーアイコンオーバーレイ、「接続失敗」テキスト | 回復不可能なストリームエラー |
アラート時の画面フラッシュ: AIイベントが発生すると、該当するカメラタイルのボーダーがそのイベントの色(検知ボックスと同じ色。色が未設定の場合は赤)で点滅します。
4. 設定&構成
トップナビゲーションバーの設定ボタンからアクセスします。左サイドバーに設定カテゴリが表示されます。
注意: Userは一般設定とヘルプのみ利用できます。
一般設定

すべてのユーザーロールで利用可能。外観と設定を構成:
| 設定 | オプション |
|---|---|
| 言語 | 英語、韓国語、日本語 |
| フォントサイズ | 小、デフォルト、大 |
| タイムゾーン | システムリストから選択 |
| 日付&時刻形式 | 複数のフォーマットオプション |
| デフォルトランディング | ライブビュー、イベントログ、または設定 |
| セッションタイムアウト | 15分 / 30分 / 1時間 / なし |
| Windows起動時に開始 | システム起動時に自動起動 |
| アラート時の画面フラッシュ | AI検知時に、カメラのグリッドタイルのボーダーを色付きで点滅させます(初期値:ON)。 |
| アラート音量 | 通知音の音量を制御(0〜100のスライダー)。 |
| すべてのアラートをミュート | 通知音をすべて消音します。 |
ヘルプページ
設定 → ヘルプ(すべてのロールで利用可能)。含まれる内容:
- ユーザーマニュアル — デフォルトブラウザでこのマニュアルを開く
- サポートに連絡 — 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
イベントのダウンロード
- 詳細ページのダウンロードアイコンをクリック
- フォーマットを選択:イメージ(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、またはカスタムサービスとの統合に使用されます。