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.cfgfile 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
CNTmethod, 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/--inputnow supports globs/wildcards to scan entire folders, e.g.-i folder/*.mp4- Change default value for
-l/--min-event-lengthto 0.1 seconds, previously was 2 frames - Long form of
-roihas been renamed to--region-of-interest(previously was--rectangle-of-interest) -cis now used for--config, previously was for--codec- Add experimental
MOG2_CUDAoption for-b/--bg-subtractor - Rename existing
MOGoption toMOG2 --codechas been removed, the value should now be set using config file optionopencv-fourcc
Changelog
- [feature] Configuration file support and new
-c/--configargument 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-modeargument (#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-outputargument- 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
--verbosityand--logfilearguments 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-timeis 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-lengthare 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_lento 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 ffmpegor-m copyas a workaround
- Use
- Multiple input videos are not supported with
-m ffmpegor-m copy(#86)- Use ffmpeg to concatenate/merge input videos before processing as a workaround
- CUDA builds do not include the
CNToption for-b/--bg-subtractor