Bluecherry 介绍与选型指南

Bluecherry(Linux 自托管 NVR 网络视频录像机,C++/PHP/MySQL)介绍与选型指南:项目身份与 v3 开源/v4 买断授权脉络、bc-server+nginx+MySQL 架构、功能特性、同类对比(ZoneMinder/Shinobi/Frigate)与选型建议,官方渠道溯源(2026-10-28)。

BluecherryBluecherry视频监控2026/10/28

Bluecherry 介绍与选型指南

目标:全面认识 Bluecherry 这款 Linux 自托管 NVR 网络视频录像机,掌握其架构、功能、授权模式与同类产品的定位差异,为自建视频监控系统选型提供依据。本篇为认知篇,全部信息来自官方渠道联网溯源(查询日期 2026-10-28),不含本地实测内容;部署、配置与运维的实测内容见后续三篇。

一、环境信息

本篇信息来源与查询环境说明:

项目内容
查询日期2026-10-28
官网https://www.bluecherrydvr.com
服务端源码仓库https://github.com/bluecherrydvr/bluecherry-apps
客户端源码仓库https://github.com/bluecherrydvr/unity
官方社区论坛https://forums.bluecherrydvr.com
社区频道Matrix #bluecherry:matrix.org、Discord discord.gg/Cx2FeVE(两网实时互通)
官方安装引导https://install.bluecherrydvr.com/packages
取证方式官网首页/下载页、GitHub 组织仓库页、官方论坛发布帖(均为当日实际访问取证)

💡 技术拓展:NVR(Network Video Recorder,网络视频录像机)与 VMS(Video Management System,视频管理系统)常被混用。NVR 的核心职责是「拉取摄像头视频流 → 落盘存储 → 提供回放」,强调录像的可靠性;VMS 则在此基础上叠加更多管理面能力(多级用户、电视墙、门禁联动等)。Bluecherry 官方自称 video surveillance system,功能上是一个带完整 Web 管理面的 NVR,介于纯录像机与大型 VMS 之间。

二、软件概述

2.1 项目身份

Bluecherry 是一款运行在 Linux 服务器上的自托管网络视频录像机(NVR),视频全部保存在本地存储,不依赖云服务,官方口号是 "Your cameras. Your recordings. Your control."(你的摄像头、你的录像、你的控制权)。

项目的几个关键身份信息(2026-10-28 实查):

维度信息
服务端技术栈C++(录像核心 bc-server)+ PHP(Web 管理界面)+ MySQL/MariaDB(元数据)+ nginx(Web 前端)
服务端许可GPLv2(GitHub 仓库 bluecherrydvr/bluecherry-apps)
服务端最新稳定版3.1.14(2025-08-31 发布,官方论坛发布公告)
当前规模276 stars / 80 forks(GitHub 仓库页实查,2026-10-28)
客户端Flutter 跨平台客户端 bluecherrydvr/unity(GPLv3),另有旧版 C++ 桌面客户端 bluecherrydvr/bluecherry-client
商业主体Bluecherry(创始人 Curtis Hall),2025 年宣布回归全职开发
部署形态官方 .deb 包(APT 仓库)/ Docker Compose 脚本

2.2 发展脉络

Bluecherry 是开源视频监控领域的老牌项目,发展史上有明显的三个阶段:

  1. 商业硬件时代(约 2010—2016):Bluecherry 公司销售配套的 PCIe 视频采集卡(solo6x10 芯片,内核驱动仓库 bluecherrydvr/solo6x10 至今仍在),软件与硬件绑定,采用商业授权。
  2. 低谷与重启(约 2017—2024):项目一度放缓。2025 年 8 月发布服务端 3.1.14,官方公告明确 "License system has been removed - this is now a free and open source release"(授权系统已移除,转为免费开源版本),设备数量限制代码也已在源码中移除(checkLimitDevices() 恒返回 true)。
  3. v4 时代(2025 至今):官网宣布 "BLUECHERRY IS BACK"(回归活跃开发)。Version 4 处于 Community Preview 阶段,引入新 Web UI、事件证据包(incident evidence bundles)与本地车辆/人员检测;商业模式调整为前 4 路摄像头免费、每增加一路 10 美元买断(perpetual,永久授权)、无订阅费。

💡 技术拓展:Bluecherry 的授权模式属于典型的「核心开源 + 新版商业」双轨制:v3.1.x 是完整的免费开源版本(GPLv2),可以无限制地自托管使用;v4 的增值能力(本地 AI 检测等)则通过买断制授权回收成本。选型时应明确自己用的是哪个大版本——本专栏后续三篇均基于 v3.1.14 实测,属于完全免费开源的一支。

三、核心架构

3.1 组件构成

Bluecherry 服务端由四个协作组件构成(依据官方仓库与发行包结构整理):

组件技术职责
bc-serverC++(基于 libav/ffmpeg 库)核心守护进程:RTSP 拉流、移动侦测、持续/事件录像、MP4 落盘、RTSP 转发流、HLS 直播流、存储阈值管理
Web 管理界面PHP + nginx + PHP-FPM设备管理、录像计划、用户权限、事件回放、系统设置(HTTPS 7001 端口)
MySQL/MariaDB关系数据库元数据中心:设备、用户、事件、媒体索引、全局配置(24 张表)
rrdtool时序数据库3.1.14 起新增的系统监控图表(CPU/内存/磁盘历史曲线)

3.2 数据流与端口

一次典型的录像流程:

RTSP 摄像头 ──RTSP拉流──▶ bc-server ──移动侦测/计划判定──▶ MP4 录像落盘
                              │                               (按 年/月/日/设备ID 分层)
                              ├──▶ RTSP 转发流(7002 端口,/live/<设备ID>,供客户端直连观看)
                              └──▶ HLS 切片(Web 实时预览用)
Web 浏览器 ──HTTPS 7001──▶ nginx + PHP ──读写──▶ MySQL(事件/媒体索引)

核心端口与访问入口(官方发行包默认值):

端口协议用途
7001 (TCP)HTTPSWeb 管理界面与回放(nginx 承载,默认自签名证书)
7002 (TCP)RTSP摄像头流转发/重分发(客户端观看直播,需认证)
3306 (TCP)MySQL数据库(仅本机访问的默认收口)

3.3 摄像头接入方式

Bluecherry 支持两类视频源,这也是它作为 NVR 的硬件前置要求:

  1. 网络摄像头(主推):RTSP 协议直连,支持 ONVIF 自动发现(内置 Node.js ONVIF 实现 bluecherrydvr/onvif),填写 IP、端口、RTSP 路径即可接入,可选主/副码流双流配置;
  2. 本地采集卡(传统):V4L2 设备,历史上主要服务自家 solo6x10 系列 PCIe 采集卡,面向模拟摄像头场景。

没有摄像头也能验证功能:任何能产出标准 RTSP 流的软件源都可以充当"虚拟摄像头"(如 ffmpeg 的 testsrc 合成流),本专栏 B2/D1 两篇正是用 ffmpeg 合成 RTSP 流完成全链路实测的,这是无硬件条件下验证 NVR 的标准做法。

四、功能特性

依据官网特性区与 3.1.14 版本公告(2026-10-28 溯源):

功能说明
持续录像7×24 小时按周计划(168 小时格)逐设备/逐全局配置,单文件时长上限可配(默认 900 秒轮转)
移动侦测录像服务端软件侦测(基于帧差/时序分析),可配置灵敏度区域图(motion map)、最小/最大触发面积、预录与后录缓冲(默认各 3 秒)
双流支持主码流录像 + 副码流预览,节省带宽与解码压力
RTSP 转发流摄像头流在 7002 端口重分发,桌面/移动客户端直连观看,减轻摄像头并发压力
HLS 实时预览Web 端实时观看默认走 HLS(G_LIVEVIEW_VIDEO_METHOD=HLS)
事件系统录像事件/系统事件分级(info/warn/alrm/crit),支持事件标签、评论、归档
用户权限多用户 + 细粒度权限位(Web 访问、设备列表、PTZ、录像计划、备份等),支持通知时间计划
通知邮件通知(SMTP)、移动端推送、Webhook 出站调用
存储治理多存储路径按优先级管理,95% 高水位触发清理至 90%,数据库与文件系统自动同步(防"孤儿"索引)
系统监控3.1.14 起内置 rrdtool 图表 + JSON Stats API(/ajax/stats.php)与健康检查接口(/ajax/health.php/ping)
PTZ 控制支持预置位管理(PTZPresets)
客户端矩阵Windows/macOS/Linux 桌面 + Android/iOS 移动端(Flutter 客户端 unity)

3.1.14 版本公告中的关键修复/改进(原文摘录,2026-10-28):录像与流系统的空指针保护(防段错误)、PHP mysqli 连接致命错误修复、HLS 清理竞态修复、线程互斥锁超时保护、数据库超时防死循环、TP-Link 等问题摄像头的音频流校验、VM 恢复后缺失录像的扫描补录脚本、XML 统计接口替换为健壮的 JSON API。

五、快速开始(最小可用示例)

以下流程来自官方下载页与官方安装引导脚本(溯源,未在本篇验证;本专栏 B2 篇在真实环境逐条实测过):

  1. 准备一台受支持的发行版:Ubuntu 20.04/22.04/24.04 或 Debian 11/12(官方脚本还支持 Linux Mint 21.x/22.x);
  2. 执行官方一键引导脚本(自动完成官方 APT 源配置、PHP 7.4 依赖与 bluecherry 包安装):
curl -s https://install.bluecherrydvr.com/packages | sudo bash
  1. 安装完成后访问 https://<服务器IP>:7001(HTTPS),默认管理员账号 admin/bluecherry,登录后立即修改密码;
  2. 在设备管理中添加 RTSP 摄像头(IP + 端口 + RTSP 路径),默认计划即 7×24 持续录像,录像文件落盘于 /var/lib/bluecherry/recordings。

Docker Compose 形态官方同样提供引导脚本(配套 MariaDB 与持久化卷):

curl -s https://install.bluecherrydvr.com/docker | sudo bash

六、适用场景与限制

6.1 适用场景

  1. 中小规模本地化监控:8~64 路摄像头规模的商铺、仓库、家庭、园区,要求录像数据不出内网;
  2. 有全平台客户端诉求:需要桌面 + 手机客户端(而非纯浏览器访问)的私有监控;
  3. 传统 NVR 使用习惯:持续录像 + 移动侦测的 classic NVR 工作流,计划式管理,不依赖 AI;
  4. Debian/Ubuntu 标准化交付:官方 .deb + systemd 托管,适合纳入标准化运维流程(见本专栏《Bluecherry .deb 裸机部署实战》)。

6.2 限制与注意

  1. 摄像头硬件是硬前置:没有 RTSP 摄像头(或合成的 RTSP 流源)就没有可录像的输入,选型前先盘点摄像头协议(RTSP/ONVIF);
  2. v3 无内置 AI 检测:v3.1.x 只提供服务端移动侦测,人员/车辆识别要等 v4(或外挂);
  3. 平台支持面较窄:官方仅发行 Debian/Ubuntu 系 .deb 包,CentOS/RHEL 系无官方包;
  4. Web 管理面为自签名 HTTPS:正式环境需要自行替换证书(发行包已内置 ssl 目录与证书脚本);
  5. 移动侦测为软件实现:多路高分辨率同时侦测对 CPU 有要求,核数与主频需按路数预留(官方未给出量化基准,建议实测,参见本专栏后续运维篇的实测环境)。

七、同类选型对比

7.1 量化对比表

同类自托管 NVR/VMS 对比(信息为各官方仓库/官网 2026-10-28 前后状态,星数为 shields.io 实时徽章):

维度BluecherryZoneMinderShinobiFrigate
GitHub 星数
技术栈C++ + PHP + MySQLC++ + PHP + MySQL/MariaDBNode.js + MySQLPython + go2rtc
许可GPLv2(v3 全免费开源,v4 买断制增值)GPLv2GPLv3(Open)/ 商业(Pro)MIT(核心)+ 许可证限制条款
定位传统完整 NVR(录像可靠性优先)老牌开源 NVR/VMS(2002 年起)中间件式多用户 NVRAI 实时物体检测 NVR
侦测能力服务端移动侦测 + 周计划录像Zone 区域移动侦测(可联动)移动侦测 + 内嵌事件 API内置 AI 模型实时检测人/车/宠物等
AI 支持v3 无,v4 规划本地车辆/人员检测无内置(靠外挂)无内置(靠外挂)原生核心能力(Coral/OpenVINO/CPU TPU 加速)
客户端桌面三平台 + Android/iOSWeb 为主 + 第三方 zmNinjaWeb 为主Web 为主 + Home Assistant 深度集成
部署形态官方 .deb / Docker Compose.deb / RPM / 容器.deb / 容器容器为主(官方 Compose)
授权/商业模式v3 免费;v4 前 4 路免费 + $10/路买断社区免费 + 商业支持Open 免费;Pro 按节点收费完全免费(Bluesky 许可争议见官方说明)

Frigate 的详细选型与部署实测可参考站内专栏:《Frigate 0.18.2 介绍与选型指南》、《Frigate 0.18.2 Docker Compose 部署指南》。

7.2 选型建议

  • 要"传统 NVR 的完整闭环"(录像 + 计划 + 客户端 + 权限)且团队熟悉 Debian/Ubuntu:选 Bluecherry,一条 .deb 安装路径走到底,运维模型与普通系统服务一致;
  • 要 AI 物体检测(人/车识别、告警降噪):优先 Frigate,AI 是其原生核心能力;Bluecherry 需等 v4;
  • 要多租户/多用户分权运营:Shinobi 的中间件式架构更贴合;
  • 要 Zone 级精细化侦测联动与最长社区沉淀:ZoneMinder 生态最老牌,但 Web 体验与部署复杂度都更"古典";
  • 数据主权优先:四者皆可自托管,Bluecherry 的差异化在于"本地存储 + 无云依赖"被写进产品主张,且客户端矩阵完整。

八、参考链接

  1. Bluecherry 官网(产品特性/定价/客户端下载):https://www.bluecherrydvr.com
  2. 服务端源码仓库 bluecherry-apps:https://github.com/bluecherrydvr/bluecherry-apps
  3. 官方论坛服务端 3.1.14 发布公告(2025-08-31):https://forums.bluecherrydvr.com/t/server-release-3-1-14/1050
  4. 官方 APT 安装引导脚本:https://install.bluecherrydvr.com/packages
  5. Flutter 客户端 unity 仓库:https://github.com/bluecherrydvr/unity
  6. Docker Compose 引导脚本:https://install.bluecherrydvr.com/docker
  7. 官方社区论坛:https://forums.bluecherrydvr.com