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.
MIT License
Published by roflcoopter almost 3 years ago
Fix a deadlock that appears when using a substream
Full Changelog: https://github.com/roflcoopter/viseron/compare/v1.10.1...v1.10.2
Published by roflcoopter about 3 years ago
Bugfix release, see autogenerated changelog below
Full Changelog: https://github.com/roflcoopter/viseron/compare/v1.10.0...v1.10.1
Published by roflcoopter about 3 years ago
The work on a UI has started thanks to @danielperna84
As of now you can view your MJPEG streams, watch recordings and also change the config.yaml file from the interface.
There are also new Contribution guidelines which hopefully makes it easier for folks to dive into the project.
Breaking changes
h264_nvv4l2dec
and hevc_nvv4l2dec
is no longer available for the Jetson Nano.h264_nvmpi
or hevc_nvmpi
instead.max_frame_age
config option.New features
device
for edgetpu
detector.mask
under a cameras object_detection
block.disconnected
, when cameras cant be reached.max_frame_age
. Frames that are older than this number will be dropped from the detection queue.Changes
h264_nvmpi
and hevc_nvmpi
decoders.amd64-cuda-*
imagesFixes
Docker images will be on Docker Hub shortly
Full Changelog: https://github.com/roflcoopter/viseron/compare/v1.9.0...v1.10.0
Published by roflcoopter over 3 years ago
This release brings support for DeepStack object detection aswell as face detection.
Another exciting feature is the support for the Jetson Nano!
Other than that I have spent a lot of effort to increase the stability of Viseron.
Viseron now handles missbehaving cameras in a much better way.
If a camera is unavailable during startup, Viseron will continue to try and reconnect. This is to help against temporarily unavailable cameras.
Viseron carefully monitors any subprocesses or threads that are started, and in the case of one crashing, it will be restarted accordingly.
There are a few more goodies in this one, aswell as some breaking changes. Make sure to read the changelog below.
Enjoy!
Breaking changes
triggers_recording
under labels
has been deprecated.trigger_recorder
instead. A warning will be printed if you still use triggers_recording
, reminding you to change your config./<camera>/stream
has been renamed to /<camera>/mjpeg-stream
. If you still use the old endpoint Viseron will warn you and then redirect to the new URL. In the future this will produce an error.New features
roflcoopter/jetson-nano-viseron
.filename_pattern
under recorder
and thumbnail
. Allows you to change the output filename of recordings and thumbnails.ffprobe_loglevel
front_door
instead of ffmpeg
color_logs
which controls if logs are colored or not. Enabled by default.trigger_recorder
under motion_detection
which allows motion to start recordings.enable
under object_detection
which allows you to disable object detection if you want to run motion_detection only.Changes
amd64-viseron
image now once again defaults to YOLOv3.Fixes
require_motion: true
on a label inside a zone while not tracking it in the entire field of view.Docker images will be on Docker Hub shortly
Published by roflcoopter over 3 years ago
This release brings a huge revamp to the Docker containers.
This was a very big change and some bugs might still be present.
There is also experimental support for the RPi4 which might not work as expected in this first version.
The support for RPi4 will improve in the coming version, but i need your help with testing and reporting bugs.
Breaking changes
Docker image names have changed according to this table.
Note that roflcoopter/viseron
is now a multiarch image which means you dont need to pick between the images yourself, unless you want CUDA support.
Old | New |
---|---|
roflcoopter/viseron |
roflcoopter/amd64-viseron |
roflcoopter/viseron-cuda |
roflcoopter/amd64-cuda-viseron |
roflcoopter/viseron-vaapi |
Removed, same as roflcoopter/amd64-viseron
|
roflcoopter/viseron-rpi3 |
roflcoopter/rpi3-viseron |
N/A | roflcoopter/aarch64-viseron |
port
is now required for substream
Changes and new Features
New config option require_motion
for labels.
If set to true, the recorder will stop when motion is no longer detected, even if the object still is.
This is useful to avoid never ending recordings of stationary objects, such as a car on a driveway.
Complete rewrite of all Dockerfiles(!).
Multistage builds are now used extensively which dramatically reduces the size of the containers.
All containers are now built on Azure Pipelines which means i no longer have to build them all locally(!!).
Cross-building is done using Balenalibs baseimages, which means we now have (experimental) support for the RPi4(!!!).
This new way of working with containers mean i can easily support different hardware, such as the Jetson Nano in the near future.
Multiarch images are also in play, which means you dont need to pull different images based on your architecture, unless you want a specific one, like the amd64 CUDA version. Closes #1, closes #66
Static MJPEG streams can now be configured, which provides better performance due to processing only happening once
See the new section on Static MJPEG Streams in the README for more information. Closes #23
An MJPEG stream is now served for each camera.
A number of query parameters are available to control resolution, what is drawn on the frames etc.
See the new section in the README for more information. Closes #23
stream_format
and port
is now supported for substream
. Closes #112
Viseron no longer runs as root in the containers. You can now set PUID and PGID as environment variables to control the user.
If you are using docker-compose it might look like this:
version: "2.4"
services:
viseron:
image: roflcoopter/viseron:latest
container_name: viseron
volumes:
- <recordings path>:/recordings
- <config path>:/config
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=1000
- PGID=1000
Pin libedgetpu-max
to avoid version mismatch
New config option save_unknown_faces
for dlib face recognition.
If set, unknown faces will be saved in a folder named unknown next to your regular faces folders.
These can then be manually moved to the folder of the correct person to improve accuracy. Closes #90, Closes #96
Audio is now recorded by default if the camera supports it. If you want you can specify the audio codec with audio_codec
under recorder
. This feature is experimental and i need some testers on it.
Default to YOLOv4 instead of YOLOv4-tiny. You can go back yo using YOLOv4-tiny by changing model_path
.
Fixes
Docker images will be on Docker Hub shortly
Published by roflcoopter over 3 years ago
Changes and new Features
Pin libedgetpu-max
to avoid version mismatch
New config option save_unknown_faces
for dlib face recognition.
If set, unknown faces will be saved in a folder named unknown next to your regular faces folders.
These can then be manually moved to the folder of the correct person to improve accuracy. Closes #90, Closes #96
Audio is now recorded by default if the camera supports it. If you want you can specify the audio codec with audio_codec
under recorder
. This feature is experimental and i need some testers on it.
Default to YOLOv4 instead of YOLOv4-tiny
Fixes
/dev/dri
to utilize VAAPIBreaking changes
port
is now required for substream
Changes and new Features
New config option require_motion
for labels.
If set to true, the recorder will stop when motion is no longer detected, even if the object still is.
This is useful to avoid never ending recordings of stationary objects, such as a car on a driveway.
Complete rewrite of all Dockerfiles(!).
Multistage builds are now used extensively which dramatically reduces the size of the containers.
All containers are now built on Azure Pipelines which means i no longer have to build them all locally(!!).
Cross-building is done using Balenalibs baseimages, which means we now have (experimental) support for the RPi4(!!!).
This new way of working with containers mean i can easily support different hardware, such as the Jetson Nano in the near future.
Multiarch images are also in play, which means you dont need to pull different images based on your architecture, unless you want a specific one, like the amd64 CUDA version. Closes #1, closes #66
Static MJPEG streams can now be configured, which provides better performance due to processing only happening once
See the new section on [Static MJPEG Streams(https://github.com/roflcoopter/viseron#static-mjpeg-streams) in the README for more information. Closes #23
An MJPEG stream is now served for each camera.
A number of query parameters are available to control resolution, what is drawn on the frames etc.
See the new section in the README for more information. Closes #23
stream_format
and port
is now supported for substream
. Closes #112
Viseron no longer runs as root in the containers. You can now set PUID and PGID as environment variables to control the user.
If you are using docker-compose it might look like this:
version: "2.4"
services:
viseron:
image: roflcoopter/viseron:latest
container_name: viseron
volumes:
- <recordings path>:/recordings
- <config path>:/config
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=1000
- PGID=1000
Fixes
Docker images will be on Docker Hub shortly
Published by roflcoopter over 3 years ago
Changes and new Features
require_motion
for labels.Fixes
Breaking changes
port
is now required for substream
Changes and new Features
Complete rewrite of all Dockerfiles(!).
Multistage builds are now used extensively which dramatically reduces the size of the containers.
All containers are now built on Azure Pipelines which means i no longer have to build them all locally(!!).
Cross-building is done using Balenalibs baseimages, which means we now have (experimental) support for the RPi4(!!!).
This new way of working with containers mean i can easily support different hardware, such as the Jetson Nano in the near future.
Multiarch images are also in play, which means you dont need to pull different images based on your architecture, unless you want a specific one, like the amd64 CUDA version. Closes #1, closes #66
Static MJPEG streams can now be configured, which provides better performance due to processing only happening once
See the new section on [Static MJPEG Streams(https://github.com/roflcoopter/viseron#static-mjpeg-streams) in the README for more information. Closes #23
An MJPEG stream is now served for each camera.
A number of query parameters are available to control resolution, what is drawn on the frames etc.
See the new section in the README for more information. Closes #23
stream_format
and port
is now supported for substream
. Closes #112
Viseron no longer runs as root in the containers. You can now set PUID and PGID as environment variables to control the user.
I you are using docker-compose it might look like this:
version: "2.4"
services:
viseron:
image: roflcoopter/viseron:latest
container_name: viseron
volumes:
- <recordings path>:/recordings
- <config path>:/config
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=1000
- PGID=1000
Fixes
Docker images will be on Docker Hub shortly
Published by roflcoopter over 3 years ago
Note: Re-release of 1.8.0b3 due to errors in pipeline.
Breaking changes
port
is now required for substream
Changes and new Features
Complete rewrite of all Dockerfiles(!).
Multistage builds are now used extensively which dramatically reduces the size of the containers.
All containers are now built on Azure Pipelines which means i no longer have to build them all locally(!!).
Cross-building is done using Balenalibs baseimages, which means we now have (experimental) support for the RPi4(!!!).
This new way of working with containers mean i can easily support different hardware, such as the Jetson Nano in the near future.
Multiarch images are also in play, which means you dont need to pull different images based on your architecture, unless you want a specific one, like the amd64 CUDA version. Closes #1, closes #66
Static MJPEG streams can now be configured, which provides better performance due to processing only happening once
See the new section on [Static MJPEG Streams(https://github.com/roflcoopter/viseron#static-mjpeg-streams) in the README for more information. Closes #23
An MJPEG stream is now served for each camera.
A number of query parameters are available to control resolution, what is drawn on the frames etc.
See the new section in the README for more information. Closes #23
stream_format
and port
is now supported for substream
. Closes #112
Viseron no longer runs as root in the containers. You can now set PUID and PGID as environment variables to control the user.
I you are using docker-compose it might look like this:
version: "2.4"
services:
viseron:
image: roflcoopter/viseron:latest
container_name: viseron
volumes:
- <recordings path>:/recordings
- <config path>:/config
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=1000
- PGID=1000
Docker images will be on Docker Hub shortly
Published by roflcoopter over 3 years ago
Removed, see next release
Published by roflcoopter over 3 years ago
Published by roflcoopter over 3 years ago
Fixes
filter_args
now works again @olekenneth (#126 ), fixes #123Docker images are available on Docker Hub
roflcoopter/viseron:1.7.3
roflcoopter/viseron-cuda:1.7.3
roflcoopter/viseron-vaapi:1.7.3
roflcoopter/viseron-rpi:1.7.3
Published by roflcoopter almost 4 years ago
Changes and new Features
Fixes
Docker images are available on Docker Hub
roflcoopter/viseron:1.8.0b1
roflcoopter/viseron-cuda:1.8.0b1
roflcoopter/viseron-vaapi:1.8.0b1
roflcoopter/viseron-rpi:1.8.0b1
Published by roflcoopter almost 4 years ago
Fixes
Docker images are available on Docker Hub
roflcoopter/viseron:1.7.2
roflcoopter/viseron-cuda:1.7.2
roflcoopter/viseron-vaapi:1.7.2
roflcoopter/viseron-rpi:1.7.2
Published by roflcoopter almost 4 years ago
Fixes
/recordings/thumbnails//latest_thumbnail.jpg
, fixes #91Docker images are available on Docker Hub
roflcoopter/viseron:1.7.1
roflcoopter/viseron-cuda:1.7.1
roflcoopter/viseron-vaapi:1.7.1
roflcoopter/viseron-rpi:1.7.1
Published by roflcoopter almost 4 years ago
Breaking changes
global_args
can no longer be specifiedChanges and new Features
/tmp
, then moved to target directory when done. Closes #49tzdata
package. Closes #55thumbnail
is available under recorder
.recording
, scanning_for_motion
or scanning_for_objects
Fixes
Docker images are available on Docker Hub
roflcoopter/viseron:1.7.0
roflcoopter/viseron-cuda:1.7.0
roflcoopter/viseron-vaapi:1.7.0
roflcoopter/viseron-rpi:1.7.0
Published by roflcoopter almost 4 years ago
Changes and new Features
recording
, scanning_for_motion
or scanning_for_objects
Docker images are available on Docker Hub
roflcoopter/viseron:1.7.0b3
roflcoopter/viseron-cuda:1.7.0b3
roflcoopter/viseron-vaapi:1.7.0b3
roflcoopter/viseron-rpi:1.7.0b3
Published by roflcoopter almost 4 years ago
Changes and new Features
tzdata
package. Closes #55thumbnail
is available under recorder
.Fixes
Docker images are available on Docker Hub
roflcoopter/viseron:1.7.0b2
roflcoopter/viseron-cuda:1.7.0b2
roflcoopter/viseron-vaapi:1.7.0b2
roflcoopter/viseron-rpi:1.7.0b2
Published by roflcoopter almost 4 years ago
Breaking changes
global_args
can no longer be specifiedChanges and new Features
/tmp
, then moved to target directory when done. Closes #49Fixes
Docker images are available on Docker Hub
roflcoopter/viseron:1.7.0b1
roflcoopter/viseron-cuda:1.7.0b1
roflcoopter/viseron-vaapi:1.7.0b1
roflcoopter/viseron-rpi:1.7.0b1
Published by roflcoopter about 4 years ago
Fixes a crash which was detected during troubleshooting of #62 which occurs when MQTT is not connected.
Note: Due to some unfortunate circumstances the cuda
image will not be built with this fix.
Instead the fix will be included in 1.7.0 which should come a long shortly.
Docker images are available on Docker Hub
roflcoopter/viseron:1.6.2
roflcoopter/viseron-vaapi:1.6.2
roflcoopter/viseron-rpi:1.6.2
Published by roflcoopter about 4 years ago
Fixes #60 through #61
Docker images are available on Docker Hub
roflcoopter/viseron:1.6.1
roflcoopter/viseron-cuda:1.6.1
roflcoopter/viseron-vaapi:1.6.1
roflcoopter/viseron-rpi:1.6.1