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
underlabels
has been deprecated.
Usetrigger_recorder
instead. A warning will be printed if you still usetriggers_recording
, reminding you to change your config.- The endpoint
/<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
- DeepStack object detection is now available.
See the new section in the README - The post processor class is now more general which means adding new processors is a piece of cake.
- DeepStack face recognition is now available.
See the new section in the README - Jetson Nano support.
An image specifically made for the Jetson Nano is now available:roflcoopter/jetson-nano-viseron
.
Hardware accelerated decoding of cameras is supported, aswell as YOLOv4 with CUDA backend. - New config option
filename_pattern
underrecorder
andthumbnail
. Allows you to change the output filename of recordings and thumbnails. - New config option
ffprobe_loglevel
- An alias is created for each ffmpeg process to make it easy to spot which ffmpeg process belongs to which camera.
If you have a camera called Front Door, your ffmpeg command will start withfront_door
instead offfmpeg
- New config option
color_logs
which controls if logs are colored or not. Enabled by default. - New config option
trigger_recorder
undermotion_detection
which allows motion to start recordings. - New config option
enable
underobject_detection
which allows you to disable object detection if you want to run motion_detection only.
Changes
- All docker images are now based on Ubuntu Focal(20.04) which ships Python 3.8
- OpenCV upgraded to 4.5.2
- FFmpeg upgraded to 4.4
- dlib upgraded to 19.22
- OpenCL upgraded to 21.15.19533
- The detector class is now more general which means adding new detectors is a piece of cake.
amd64-viseron
image now once again defaults to YOLOv3.
This is done because YOLOv4 has performance issues that are not present when running CUDA.
YOLOv4 models are still provided so you can pick and choose which one you like if YOLOv3 does not suit you.- Username and passwords are now redacted from logs in the FFmpeg command
- All long-running theads are now monitored and automatically restarted in case of an exception.
The FFmpeg process is also monitored. Closes #109. Closes #11. Closes #113 - Permissions are now automatically set when not running as root for EdgeTPU and all hardware acceleration methods. Closes #173. Closes #176
- Viseron now once again runs as root by default. This is to make sure Viseron always works for new users.
Setting PUID and PGID to something other than root works almost always so if you rather not run as root it should work fine. - Subprocesses like the one used for segments only is now monitored and restarted accordingly.
- ffmpeg errors will now be logged to the standard python logging instead of being suppressed
- Cameras are now setup completely independent of eachother.
Previously if one camera was blocking, no other camera would process frames. - If setup of a camera fails, the setup process will be retried indefinitely.
This is done to guard against cameras that are temporarily unavailable at startup.
Fixes
- Fix a crash caused by using
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