Release Notes
- Significant performance improvements on multicore systems
- Support wildcards/globs as inputs for scanning entire folders (
-i folder/*.mp4
) - Allow use of ffmpeg for better output quality (
-m ffmpeg
) or codec-copying mode (-m copy
) - Configuration files are now supported, see documentation for details
- Can specify config file path with
-c
/--config
, or create advr-scan.cfg
file in your user config folder
- Can specify config file path with
- Windows binaries are now signed, thanks SignPath.io (certificate by SignPath Foundation)
- Experimental Nvidia CUDA® support has been added (set
-b MOG2_CUDA
)- If installing via
pip
, requires manual installation of OpenCV compiled with CUDA support - If downloading Windows version, make sure to download the GPU-enabled build (
dvr-scan-1.5-win64-cuda.zip
) - CUDA-enabled builds only support GTX 900-series and above GPUs, do not include the
CNT
method, and are not yet code signed
- If installing via
- Minimum supported Python version is now 3.7
- Minimum supported OpenCV version is now 3.x
Command-Line Changes
- New options:
-c
/--config
- set path to config file-d
/--output-dir
- set directory to write output files (default is working directory)-m
/--output-mode
- set output mode (one of:opencv
,ffmpeg
,copy
)-mo
/--mask-output
- path to write motion mask for analysis--verbosity
,--logfile
- control output verbosity, path to save log output
-i
/--input
now supports globs/wildcards to scan entire folders, e.g.-i folder/*.mp4
- Change default value for
-l
/--min-event-length
to 0.1 seconds, previously was 2 frames - Long form of
-roi
has been renamed to--region-of-interest
(previously was--rectangle-of-interest
) -c
is now used for--config
, previously was for--codec
- Add experimental
MOG2_CUDA
option for-b
/--bg-subtractor
- Rename existing
MOG
option toMOG2
--codec
has been removed, the value should now be set using config file optionopencv-fourcc
Changelog
- [feature] Configuration file support and new
-c
/--config
argument to specify path to config files (#77)- Breaks existing behavior of
-c
(was previously the shortform of--codec
)
- Breaks existing behavior of
- [feature] Add support for multiple output modes via
-m
/--output-mode
argument (#27, #42) - [feature] Experimental support for GPU-based CUDA MOG2 filter (#12)
- [feature] Video encoding and decoding are now done in parallel with the scanning logic leading to improved performance on most systems (#52)
- [feature] Add support for exporting motion masks via
-mo
/--mask-output
argument- Useful for detailed analysis or tuning of detection parameters
- ffmpeg can be used to generate output videos by specifying
-m ffmpeg
- Codec-copy mode, using ffmpeg, can be used by specifying
-m copy
- [feature] Add
--verbosity
and--logfile
arguments to provide more control over program output - [feature] Allow scanning entire folders using wildcards with
-i
/--input
(#5)- Glob expansion is also performed on each input path directly, so quoted globs also function correctly
- [bugfix] Fix incorrect results when
-st
/--start-time
is set - [bugfix] Event start times are now correctly calculated when using
-fs
/--frame-skip
(#68, #70)- Note that all skipped frames within the event window are included in motion event, thus the calculated start time may be slightly earlier
- [bugfix] Only get screen resolution when required (was causing issues on headless machines)
- [bugfix] Fix output messages conflicting with progress bar shown during scanning
- [bugfix] Output events now start from 1 to align with the event list
- [bugfix] Event end times now include the presentation duration of the last frame
- [bugfix] Small values for
-l
/--min-event-length
are now handled correctly, previously would cause an error - [enhancement] Progress bar now indicates how many events have been detected so far
- [enhancement] Change default value for
min_event_len
to 0.1 seconds, previously was 2 frames (#91)
Known Issues
- Attempting to open multiple input videos will cause DVR-Scan to crash, fixed in v1.5.1 (#95)
- Variable framerate videos (VFR) are not fully supported, and will yield incorrect timestamps (#20)
- Video output when using frame skip and
-m opencv
(default output mode) will result in frames missing from the exported videos (#81)- Use
-m ffmpeg
or-m copy
as a workaround
- Use
- Multiple input videos are not supported with
-m ffmpeg
or-m copy
(#86)- Use ffmpeg to concatenate/merge input videos before processing as a workaround
- CUDA builds do not include the
CNT
option for-b
/--bg-subtractor