README 未给出具体启动命令和配置细节,需先查阅官方文档;功能依赖组件启用,需在配置中按需开启对应组件;配置通过内置 Web 界面编辑,首次使用需先完成初始化配置
viseron
roflcoopterMIT活跃维护自托管的本地 NVR 与 AI 视觉监控软件,支持目标检测、移动侦测、人脸识别和车牌识别,可接入 IP 摄像头并利用 Coral、CUDA 等硬件加速,数据不出本地。
Self-hosted, local only NVR and AI Computer Vision software. With features such as object detection, motion detection, face recognition and more, it gives you the power to keep an eye on your home, office or any other place you want to monitor.
docker run 启动 Viseron 容器(README 未给出完整命令,需按官方文档 https://viseron.netlify.app 操作)README 未说明具体硬件要求,仅提到以 Docker 容器方式运行
自托管纯本地 NVR 与 AI 计算机视觉软件,帮你在家或办公室做监控
自托管的本地 NVR 与 AI 视觉监控软件,支持目标检测、移动侦测、人脸识别和车牌识别,可接入 IP 摄像头并利用 Coral、CUDA 等硬件加速,数据不出本地。
核心能力
- 用 Docker 容器一键部署,内置 Web 界面编辑配置
- 通过组件机制按需启用功能,可在 Component Explorer 查看全部组件
- 支持目标检测与运动检测
- 支持人脸识别
- 纯本地运行,数据不出本机
容易踩的坑
- v3.7.03.7.0 - ONVIF support最新正式版2026-09-17 · 2026-09-17 14:16 UTC
The main highlight of this release is the new ONVIF component which is a big leap forward for the project. There are some other goodies as well so keep reading.
There is now a dedicated Discord channel for Viseron that I encourage you to join! Here you can ask questions and get help from fellow users. The community is very small at the moment but I hope we can grow it together. You can join at this link
Breaking changes
- RPi3 support is no longer included in Viseron and new versions (this one included) will not publish the
roflcoopter/rpi3-viseronimage. I decided to do this because it is an older platform which is very hard to maintain and I believe that not many are using it anymore. If this causes trouble for you, please reach out through an issue on GitHub and we can discuss solutions. - The old
ptzcomponent has been removed in favor of the newonvifcomponent. You can read more about the ONVIF component further down in these release notes.
New features
ONVIF!
Viseron finally has ONVIF support! A huge thanks to @kaburagisec who has been working on this for a long time. The implementation is quite extensive so I won't go into detail here, but it allows you to set a multitude of options in a camera's configuration, basically turning Viseron into a central configuration hub of all your ONVIF cameras. The settings can be controlled directly from the frontend via the Camera Tuning interface, and can be applied without restarting Viseron.
The documentation is quite extensive and I encourage you to read it. You can find it here
PTZ in frontend
With the new ONVIF component comes the possibility to control your PTZ cameras from the frontend as well. Manual control as well as setting/recalling presets is supported.
FastALPR
@kilodelta1 added support for running FastALPR for license plate recognition. This is the only component that provides LPR locally in Viseron and does not require an external server like CodeProject.AI does.
You can find the documentation here
Logs in UI
The logs can now be read from the frontend by going to
Settings > LogsYou can filter on specific log levels or search for text, as well as tailing the log file live.
Recording schedule
You can now set a schedule for recordings. The schedule can be configured independently for event and continuous recordings. Each camera has its own schedule and is configured via cron expressions.
You can find the documentation here
Other notable features
- New config option
require_motion_overlap, contributed by @mvanhorn. Motion overlap helps to reduce false positives by making sure detected objects overlap with a region that also has motion detected. Without it, if a tree blowing in the wind triggers motion in one region, and an object is detected in another region, a recording will start. - Docker images are published to GHCR as well as Docker Hub
- Object detectors and post processors now save a
latest_snapshot.jpg, similar to thelatest_thumbnail.jpg. The snapshots are exposed over MQTT and to Home Assistant for use in notifications. - New PWA configuration
- Option to disable chown during startup, for faster restarts of the container. You can find the documentation [here](https://viseron.netlify.app/docs/documentation/installation?_highlight
- RPi3 support is no longer included in Viseron and new versions (this one included) will not publish the
- v3.6.23.6.2 - Hotfix for recordings not loading2026-09-07 · 2026-09-07 13:14 UTC
查看更新说明
This release fixes an issue that caused recordings to never start loading after pressing play (on the Recordings pages, Events and Timeline unaffected)
Full Changelog: https://github.com/roflcoopter/viseron/compare/v3.6.1...v3.6.2
- v3.6.13.6.1 - FFmpeg drawtext filter fix2026-08-27 · 2026-08-27 07:37 UTC
查看更新说明
This is a patch release to fix an error with the
drawtextFFmpeg filter. With the update to FFmpeg 8.1, a dependency onHarfbuzzwas introduced which was missing during build time so the filter was silently dropped.No changes in the runtime code of Viseron, this is simply a re-tag of
3.6.0to trigger new builds which will pick up the latest FFmpeg build.If you have any questions, issues or just want to share your setup, please join our new Discord server!
- v3.6.03.6.0 - Reload config without restart2026-08-10 · 2026-08-10 06:09 UTC
查看更新说明
A special thanks to @neagix, @vanhorn and @fluffyspace for their contributions to this release.
Breaking changes
The Viseron Docker container images uses Ubuntu as its base, and with this version it has been upgraded to 24.04. This should not necessarily break anything, but since a lot of drivers and other packages are upgraded as well, there is a possibility that some custom setups may be affected.
PostgreSQL 16
With the Ubuntu upgrade, PostgreSQL has been updated to version 16, which will require a database migration when upgrading from a previous version. This migration will be done automatically on first startup, so please be patient and avoid restarting the container during this process.
FFmpeg 8.1
FFmpeg has been upgraded to 8.1 from 5, which has some breaking changes that may affect some users. Please see the FFmpeg 8.1 release notes for more information.
New features
Reloading config without restarting
This release introduces the ability to reload the config without restarting the Viseron container.
Every component has been updated and tested to support this, but reloading should still be considered experimental until it has been tested in the wild. If you encounter any issues, please report them on GitHub.
For information on how to reload the config, please see the documentation.
External motion detector
Support for external motion detectors has been added, and the MQTT component has been updated to support this. This allows you to use any MQTT enabled device as a motion detector, and have it trigger recordings or object detection in Viseron, just like any other frame based motion detector.
For more information on how to set this up, visit the documentation.
Date and time format
The date and time format used in the web interface can now be configured per user from the
Profilepage. Previously the browsers locale was used to determine the format, but this was not always accurate and could lead to confusion.Other notable features
- Personal access tokens for API access. How to use a token is described here
- Viseron can now finally run as a Home Assistant App. Documentation on how to set this up can be found here.
Changes
- OpenCV has been upgraded to 4.13
- FFmpeg has been upgraded to 8.1
- Dlib has been upgraded to 20.0.1
- When no cameras are configured, properly guide users to the config page instead of showing "Waiting for cameras to register"
- Harden the API by introducing rate limiting for sensitive endpoints.
- Revoke refresh token after use.
- Storage tier check performance improvements for continuous recordings.
- Deleting recordings now has a confirmation dialog to avoid accidental deletion of recordings.
- Disable Ultralytics telemetry
- You can now download a recording directly from the Recording page in the web interface.
- Deprecate
detection_labelin favor ofdetection_labelsin the config for thediscordandtelegramcomponents. - Dispatch events and entities in Home Assistant for unknown faces during face recognition.
- Camera picker dialog now has a
Clear Selectionbutton to clear all selected cameras.
Fixes
- Fix timezone issues with local folders for recordings
- Use
-stimeouton Jetson Nano for RTSP streams - Fix headers not working in webhook component
- Encode payload in utf-8 for webhook component to avoid issues with special characters
- Allow a custom CA certificate to be used for webhook component
- Properly respect configured labels for the
discord
- v3.5.33.5.3 - Recording video controls visibility2026-04-30 · 2026-04-30 20:26 UTC
查看更新说明
Hotfix to properly show the player controls on hybrid devices, for instance a laptop with a touch screen.
Fixes #1329,
What's Changed
- fix(azure): improve build process by @roflcoopter in https://github.com/roflcoopter/viseron/pull/1309
- fix(frontend): make sure controls show on hybrid devices by @roflcoopter in https://github.com/roflcoopter/viseron/pull/1332
Full Changelog: https://github.com/roflcoopter/viseron/compare/v3.5.2...v3.5.3
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Getting started
Getting started is easy! You simply spin up a Docker container and edit the configuration file using the built in web interface.
Head over to the documentation and follow the instructions on how to get started.
Components
Viserons functionality is enabled by components.
You can find all the available components by using the Component Explorer.
Community
Join the Viseron Discord server to ask for help, share your setup and follow along with development.
Discord is the best place to get help with configuration and troubleshooting. If you have found a confirmed bug or want to request a feature, open an issue instead.
Contributing
Contributors to the project are very much appreciated. See the contribution guidelines on how to get started.
Some things you can help with:
- Implement an open feature request or issue from the issue tracker
- Improve the documentation
- Answer questions in issues, discussions or on Discord
You can also use the links below to sponsor Viseron or make a one time donation.