Documentation: DVR-Scan v1.5-beta Documentation
Install from pip
via:
pip install dvr-scan[opencv] --pre --upgrade
Windows builds (regular and with experimental GPU support) are available below.
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)
- Shout-out to Paul from SignPath, you were awesome and a huge help in making this happen
- Experimental CUDA® support has been added (set
-b mog_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.dev1-win64-cuda.zip
) - CUDA-enabled builds are not signed and should be considered experimental
- Minimum supported Python version is now 3.7
- Minimum supported OpenCV version is now 3.x
Changelog
Command-Line Interface
- New features/arguments (see below for more details):
-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
and--logfile
- control output verbosity and path to save output
-i
/--input
now supports globs/wildcards to scan entire folders, e.g.-i folder/*.mp4
- 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
mog_cuda
option for-b
/--bg-subtractor
--codec
has been removed, the value should now be set using a config file
General
- [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
- [api] Remove
dvr_scan.timecode
andFrameTimecode
, replace withscenedetect.FrameTimecode
Known Issues
- 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, can use-m ffmpeg
or-m copy
as a workaround) - Multiple input videos are not supported yet when using
-m ffmpeg
or-m copy
(#86) - Fixed in latest beta: Crash with timecode framenumber must be greater than zero (#90)
Code Signing Policy
Windows EXE/MSI Builds: Free code signing provided by SignPath.io, certificate by SignPath Foundation.