Neolink.NET:Reolink 摄像头桥接与 NVR
将使用 Reolink 私有协议的摄像头转成标准 RTSP,并自带多路摄像头 Web 界面与录像功能的开源服务。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v1.2.2
- 平台
- Windows
详细介绍
项目简介
Neolink.NET 是一个用纯 C#/.NET 编写的自托管摄像头服务,专门面向那些使用 Reolink 私有「Baichuan」协议(TCP 9000 端口)而不是标准 RTSP/ONVIF 的 Reolink 摄像头,例如 B800/D800、B400/D400、E1、Lumus、510A、Duo、TrackMix、Argus Solar、Solar Floodlight 等型号。
它会登录摄像头、解复用其媒体流,再以符合标准的 RTSP 重新提供出去,让 Frigate、Blue Iris、Home Assistant、Shinobi、VLC、ffmpeg 等 NVR 软件直接接入。除此之外,它还内置一个浏览器端 UI:多摄像头墙、低延迟实时画面、事件回看、时间线、服务器监控,并提供面向 Home Assistant 的 MQTT 原生集成。
摄像头本身无需改造,也不需要 Reolink 的 NVR 硬件。整个方案不做转码、不依赖 GStreamer。
┌──────────┐ Baichuan (9000) ┌─────────────────┐ RTSP (8654) ┌──────────────────┐
│ Reolink │ ────────────────► │ │ ─────────────► │ Frigate / VLC / │
│ cameras │ │ Neolink.NET │ │ Blue Iris / HA │
└──────────┘ │ (one process) │ HTTP/WS (8655)┌──────────────────┐
│ │ ─────────────► │ Browser web UI │
└─────────────────┘ └──────────────────┘

主要功能
- RTSP 桥接:把 Baichuan 私有流转换为标准 RTSP,默认监听 8654 端口,地址形如
rtsp://localhost:8654/<camera-name>。 - 内置 Web UI(8655 端口):多摄像头墙,图块可调整大小;实时画面低延迟;无插件、无转码。
- 事件回看:支持深链接的事件页、按摄像头与威胁类型筛选、1–16× 回放。
- 时间线:多摄像头同步拖动,带覆盖条与事件标记,支持仅播放事件片段与导出。
- 录像管理:按摄像头设置事件类型与保留策略、定时抓拍、24/7 录制与素材生命周期。
- 服务器监控:CPU/内存/存储曲线、各摄像头可用性评分、前端健康指标、容量预测。
- 摄像头设置:码流编码表、灯光、画面、侦测灵敏度与区域、警笛,改动可暂存、确认后才下发。
- Home Assistant / MQTT:通过 MQTT Discovery 自动把每台摄像头注册为设备,提供移动/人/车/动物传感器、控制与可用性状态,由摄像头自身的侦测事件驱动;门铃按键也会作为 MQTT 事件上报。
- 轻量设计:不做本地目标检测,不解码、不转码、不逐帧分析,只监听摄像头推来的报警消息;因此无需 GPU/Coral,在树莓派或小型 NAS 容器上即可长期运行。
- 多架构 Docker 镜像(
amd64+arm64),并提供 Home Assistant 插件与 Windows MSI 安装包。
界面截图:事件页、时间线、监控页、录像设置、摄像头设置(截图为合成演示画面)。
安装与使用
先用演示模式试一下(无需摄像头、无需配置)
docker run --rm -p 8655:8655 ghcr.io/borexola/neolink.net:latest --demo
打开 http://localhost:8655,即可看到带四台合成摄像头的完整产品界面:实时运动画面、每 1–2 分钟触发的侦测、预置事件历史、可在时间线上拖动的 24/7 录像。演示世界存放在临时目录,每六小时重置,容器删除即消失。裸机同样可跑:neolink.net --demo(需要 PATH 中有 ffmpeg)。
Docker(推荐)
完整指南见 docs/docker-install.md(镜像标签、docker compose、Unraid 模板、升级、自行构建)。
mkdir -p config
docker run -d --name neolink --restart unless-stopped \
-p 8654:8654 -p 8655:8655 \
-e TZ=Europe/London \
-v "$PWD/config:/config" \
ghcr.io/borexola/neolink.net:latest
首次启动会在 config/ 写入带注释的示例配置,并开放 Web UI(http://localhost:8655)。在「服务器设置」(齿轮图标)里用与 Reolink App 相同的账号添加摄像头,重启后即可通过 rtsp://localhost:8654/<camera-name> 取流。生产环境建议固定版本标签(如 :1.0.1)。
Home Assistant 插件
运行 Home Assistant OS 或 Supervised 时,可直接以原生插件安装:在插件商店添加仓库 https://github.com/borexola/neolink.net,安装 Neolink.NET,在 Configuration 标签页填写摄像头(名称、IP、账号),启动后点击 OPEN WEB UI。若已安装 Mosquitto broker 插件,MQTT 会在每次启动时自动接好,摄像头直接出现在 Home Assistant 中。录像写入 /media/neolink。仅支持 UDP 的电池摄像头需要改用同一商店中的 Neolink.NET (host network) 插件。
不用 Supervisor、以普通容器运行 Home Assistant 时,按上面的 Docker 方式部署即可,MQTT 集成同样可用。
Windows(无需 Docker)
从 releases 页面 下载 Neolink.NET.Desktop-X.Y.Z-win-x64.msi 并运行,有两种安装形态:
- 桌面监控(默认):独立的摄像头墙窗口,托盘弹出真实 Windows 通知,连接你已有的服务器(Docker、插件或另一台机器)。
- 完整独立系统:在功能页勾选 Local server (Windows service),同一个 MSI 会把完整服务端装成 Windows 服务,24/7 录像与推流,桌面端通过
http://localhost:8655连接。
分步图文说明见 docs/windows-install.md 与 docs/desktop-app.md。
从源码构建
需要 .NET 10 SDK。
git clone https://github.com/borexola/neolink.net.git
cd neolink.net
cp src/Neolink.Server/config.example.json src/Neolink.Server/config.json # 然后编辑
dotnet run --project src/Neolink.Server -c Release
生成单文件自包含二进制:
dotnet publish src/Neolink.Server -c Release -r linux-x64 # 或 win-x64、linux-arm64 等
注意事项
- 型号覆盖有限:Reolink 机型众多且固件差异明显,同一功能在不同型号上表现可能不同。项目主要针对作者实际拥有的少数机型开发和测试,未接触过的型号「应该能用」但无法保证;遇到问题建议附日志提 issue,也欢迎提交在真机上验证过的 PR。
- 需要 host network 的场景:仅支持 UDP 的电池摄像头,以及走 UDP 传输的 RTSP,需要
--network host;其余情况普通端口映射即可。 - Windows 安装包尚未代码签名:首次运行 SmartScreen 会提示「Windows 已保护你的电脑」,需点击「更多信息」→「仍要运行」。
- 检测能力取决于摄像头:人/车/动物等标签来自摄像头固件,需先在 Reolink App 中开启相应侦测类型,Neolink.NET 只负责转发;它自身不做任何服务端 AI 分析。
- 许可证:AGPL-3.0。
本作品整理自 GitHub 开源项目 borexola/neolink.net,原作者 @borexola,许可证 AGPL-3.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.2.2当前版本
Auto discovery of cameras on the LAN, cameras followed across an IP change, admin-only recording controls, and recording, security and reliability fixes.
- v1.2.1
新增面向仅支持 UDP 的电池摄像头的 host network Home Assistant 插件,端口被占用时插件拒绝启动;摄像头墙与实时画面启动更快、延迟更低;首次设置仅限局域网访问并开启登录保护、补充安全响应头;修复 AI 连接测试超时与图块卡在connecting的问题。
评论