クイックスタート
CCNVR は、機器接続・ライブ視聴・録画の保存と再生を 1 つのプロセスでこなすネットワークビデオレコーダーです。
以下の 3 通りから 1 つ選んでください。初回アクセス時は必ず初期設定ウィザードが開きますので、言語・自機アドレス・管理者パスワードを設定します。
| 方式 | 用途 | 配布物 |
|---|---|---|
| Windows | デスクトップ、産業用 PC | ccnvr-windows-amd64.zip |
| Linux | 本番運用、自動起動が必要な場合 | ccnvr-linux-amd64-<バージョン>.tar.gz |
| Docker | サーバー、NAS、お試し | イメージ ccnvr/ccnvr:latest |
Windows での導入
ccnvr-windows-amd64.zipを任意のディレクトリに展開します。start.batをダブルクリックします。- ブラウザで
http://127.0.0.1:16188を開きます。
停止するときは stop.bat をダブルクリックします。
ccnvr.exeを直接ダブルクリックせず、start.batを使ってください。start.batは監視プロセス付きで起動し、クラッシュ時に自動で再起動します。- タスクマネージャーで
ccnvr.exeだけを終了しないでください。 監視プロセスが復帰させてしまいます。停止は必ずstop.batで行います(監視プロセスと MediaServer も同時に終了します)。 - 初回起動時に Windows ファイアウォールの確認が出ます。必ず許可してください。許可しないと LAN 内の他の端末からアクセスできません。
- 必要なのは Windows 標準のシステム DLL のみで、.NET / VC++ ランタイムのインストールは不要です。
Linux での導入
1. 展開して起動
tar -xzf ccnvr-linux-amd64-<バージョン>.tar.gz
cd ccnvr-linux-amd64
sudo ./start.sh
起動スクリプトが本機の全 NIC のアクセス先を表示します。http://<IP>:16188 を開いてください。
2. よく使うコマンド
./start.sh # バックグラウンド起動(ターミナルを閉じても継続)
./stop.sh # 停止
./start.sh status # プロセス状態とヘルスチェック
sudo ./start.sh service # systemd サービスを登録:自動起動 + クラッシュ時の自動復帰
アップグレードは Web 画面の システム情報 → バージョンとアップグレード から行います。パッケージを再展開して上書きする必要はありません。
- root 権限が必要です。 RTSP の既定ポート 554 は特権ポート(<1024)で、一般ユーザーはバインドできません。
sudo ./start.shを使うか、sudo setcap 'cap_net_bind_service=+ep' ./MediaServer/MediaServerを実行すれば以後 sudo 不要になります。 - sudo と一般ユーザーを混在させないでください。 sudo で一度起動すると
configs/config.tomlの所有者が root になり、以後は一般ユーザーで設定を読めなくなります。常に sudo で統一するか、sudo chown -R $(id -un):$(id -gn) .で戻してください。 - glibc ≥ 2.31 が必要です:Ubuntu 20.04+ / Debian 11+ / CentOS Stream 9+。
- 静的版 ffmpeg を同梱しているため、システムへのインストールは不要です。
Docker での導入
docker run -d --name ccnvr --restart always \
-p 16188:16188 \
-p 15060:15060 -p 15060:15060/udp \
-p 31100-31200:31100-31200 -p 31100-31200:31100-31200/udp \
-p 3702:3702/udp \
-v /opt/ccnvr/data:/opt/media/bin/configs \
ccnvr/ccnvr:latest
ブラウザで http://<ホストのIP>:16188 を開きます。
RTSP / RTMP 配信が必要な場合のみ -p 2554:2554 -p 1935:1935 を追加します(既定では無効)。
/opt/media/bin/configsのマウントは必須です。 設定・データベース・機器情報・マシン ID・ライセンスファイルはすべてこのディレクトリにあります。マウントしないとコンテナ再作成時にすべて失われ、ライセンスも再発行が必要になります。- GB28181 の機器登録は UDP 15060 を使います。TCP だけをマッピングすると、機器側は「登録タイムアウト」を繰り返し、サーバーログには 1 行も残りません。
- ONVIF の自動検出は LAN マルチキャストに依存するため、bridge ネットワークでは機器を検出できません。Linux では
--network hostを使ってください(その場合は-pをすべて外します)。Windows / macOS の Docker Desktop は host ネットワークに非対応なので、RTSP アドレスを手入力して追加します。 - 録画は既定でコンテナ内に書き込まれます。ホスト側に残す場合は
-v /opt/ccnvr/records:/opt/media/bin/recordsを追加します。
初回の初期設定
初回アクセスで初期設定ウィザードが開きます。順に設定します。
- 言語
- ネットワーク確認 — GB28181 SIP の広告 IP(LAN 構成なら内部 IP、インターネット公開ならグローバル IP)、メディアサーバー IP(ローカル構成なら既定の
127.0.0.1で可) - 製品名
- 管理者パスワード — 既定のアカウントは
admin、パスワードもadmin。既定パスワードのままでは続行できません
ウィザードは以後表示されません。
ライセンスは システム情報 → ライセンス から .lic ファイルをアップロードすると即時有効になります(再起動不要)。未認証の場合は無償版として動作します(既定 5 チャンネル)。上限を超えたチャンネルは管理・削除はできますが、プレビューと再生はできません。
ポート一覧
クラウドサーバーでは、OS のファイアウォールに加えてクラウド事業者のセキュリティグループでも開放してください。セキュリティグループの設定漏れが最も多い原因です。
| 用途 | ポート | プロトコル | 必須 |
|---|---|---|---|
| Web 管理 + ONVIF SOAP | 16188 | TCP | 必須 |
| GB28181 SIP シグナリング | 15060 | TCP + UDP | GB28181 利用時 |
| GB28181 受信ストリーム | 31100-31200 | TCP + UDP | GB28181 利用時 |
| ONVIF WS-Discovery | 3702 | UDP | 任意 |
| RTSP 配信 | 2554 | TCP | 任意 |
| RTMP 配信 | 1935 | TCP | 任意 |
メディア API(16198)は本機内部専用です。外部へ開放しないでください。
任意ポートは既定ですべて無効で、設定 → ストリーム配信 で必要に応じて有効化します。Web 再生・スナップショット・録画はこれらに依存しません。
よくあるトラブル
| 現象 | 原因 |
|---|---|
| GB28181 機器が登録タイムアウトを繰り返し、サーバーログに SIP 記録が一切ない | セキュリティグループ / ファイアウォールで UDP 15060 が未開放 |
| LAN 内で ONVIF 機器が検出されない | Docker が bridge ネットワーク。--network host に変更する |
| 登録は成功するが映像が出ない | RTP ポート帯(31100-31200)の UDP が未開放、または Sip.Host / Media.SDPIP がグローバル IP になっていない |
ライセンスのアップロードが invalid になる | サーバーに公開鍵が組み込まれていない、またはライセンスと機器コードが一致していない |
Linux 起動時に config.toml を読めないと表示される | 過去に sudo で起動し、ファイルの所有者が root になっている |