# # This file contains all possible DVR-Scan config options. Lines beginning # with a # are treated as comments and ignored. Remove them when setting a # config value. # # A config file path can be specified via the -c/--config option. # DVR-Scan also looks for a `dvr-scan.cfg` file in the following locations: # # Windows: C:/Users/%USERNAME%/AppData/Local/DVR-Scan/dvr-scan.cfg # # Linux: ~/.config/DVR-Scan/dvr-scan.cfg # ($XDG_CONFIG_HOME/DVR-Scan/dvr-scan.cfg if XDG_CONFIG_HOME is set) # # macOS: ~/Library/Application Support/DVR-Scan/dvr-scan.cfg # # Run `dvr-scan --help` to see the exact path on your system which will be # used (it will be listed under the help text for the -c/--config option). # # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # APPLICATION # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # Which mode the DVR-Scan app (dvr-scan-app) starts in: WIZARD or ADVANCED. # The Scan Wizard provides a simplified step-by-step workflow, while Advanced # Mode shows all settings at once. If this option is not set, the app starts # in ADVANCED mode. Can also be changed from File -> Startup Mode in the app, # or overridden for one launch with `dvr-scan-app --startup-mode`. Has no # effect on the command line. startup-mode = WIZARD # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # INPUT # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # Which mode to use for decoding frames. Possible values are: PYAV, OPENCV, # MOVIEPY. #input-mode = PYAV # Integer factor to shrink video before processing. Values <= 1 have no effect. #downscale-factor = 0 # Number of frames to skip between processing when looking for motion events. #frame-skip = 0 # Always show the region editor window (-r/--region-editor) before scanning. #region-editor = no # Load region data from a file. Each line must be a list of points in the # format specified by -a/--add-region. Each line is treated as a polygon. #load-region = regions.txt # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # OUTPUT # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # Directory to output all created files. If unset, files will be created # in the current working directory. #output-dir = /usr/tmp/somedir # Open output directory on completion. Only applicable to the UI. #open-output-dir = yes # Method of generating output videos. Possible values are: SCAN_ONLY, OPENCV, # FFMPEG, COPY, ENCODE. The default (ENCODE) produces MP4 (H.264) output with # overlay and audio support, and requires ffmpeg (OPENCV is used as a fallback # if ffmpeg is missing). Not all features are supported in FFMPEG/COPY mode. #output-mode = ENCODE # Encoder parameters used when generating output files in ENCODE mode. Stream # mappings are generated automatically and must not be set here. If no -pix_fmt # is given, -pix_fmt yuv420p is added and odd frame sizes are padded to even. #encode-args = -c:v libx264 -preset veryfast -crf 22 -c:a aac # Arguments to add before the input when calling ffmpeg in output-mode FFMPEG # or COPY. Note that `-y` and `-nostdin` are always added. #ffmpeg-input-args = -v error # Encoder parameters used when generating output files in FFMPEG mode. #ffmpeg-output-args = -map 0:v:0 -map 0:a? -map 0:s? -c:v libx264 -preset veryfast -crf 22 -c:a aac # Four-letter identifier of the encoder/video codec to use in OPENCV mode. # Possible values are: XVID, MP4V, MP42, H264 #opencv-codec = XVID # Only perform motion detection without writing any files to disk. If set, # output-mode is ignored. #scan-only = no # Produce thumbnail image(s) for each event. Possible values are: HIGHSCORE # (saves the frame with the highest motion score). #thumbnails = HIGHSCORE # Format of event list printed at the end of a scan (this is exactly what is # output in quiet mode). Must be one of: # parts: start-end,start-end,... (syntax of `mkvmerge --split parts:`) # timecodes: start,end,start,end,... (syntax of `mkvmerge --split timecodes:`) # lines: one start-end pair per line (accepted as file input) #timecode-list-format = timecodes # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # MOTION # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # Maximum number of motion events to detect before stopping the scan early # (0 for no limit). #max-events = 0 # Amount of time which must have motion in each frame to trigger an event. #min-event-length = 0.1s # Maximum length of a single event, including pre/post-event padding. Longer # events are split into consecutive events of at most this length (no padding # is added at a split; if motion continues the next event starts there). #max-event-length = 999999s # Amount of time to include before an event. #time-before-event = 1.5s # Amount of time to include after an event. Cannot be larger than merge-window. #time-post-event = 2.0s # Merge groups of motion which occur less than this amount of time apart into # the same event. The default (auto) uses the same value as time-post-event, # which matches the behavior of previous versions. #merge-window = auto # Threshold representing amount of motion in a frame (or in the detection # regions, if set) for a motion event to be triggered. Lower values require # less movement, and are more sensitive to motion. If too high, some movement # may not be detected, while too low of a threshold can result in false # detection events. #threshold = 0.15 # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # ADVANCED # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # Type of background subtraction to use, one of: MOG2, CNT, MOG2_CUDA #bg-subtractor = MOG2 # Size (in pixels) of the noise reduction kernel. Can be odd integer starting # from 3, 0 to disable, or -1 to auto-set using video resolution. #kernel-size = -1 # Scores of this amount or higher are ignored. 255.0 is the maximum score, so # values greater than 255.0 will disable the filter. #max-threshold = 255.0 # Events whose bounding boxes with relative area bigger than this are ignored. 1.0 is # the relative area of the whole frame, so values equal or greater than 1.0 will disable # the filter. #max-area = 1.0 # Events whose bounding boxes with relative width bigger than this are ignored. 1.0 is # the relative width of the whole frame, so values equal or greater than 1.0 will disable # the filter. #max-width = 1.0 # Events whose bounding boxes with relative height bigger than this are ignored. 1.0 is # the relative height of the whole frame, so values equal or greater than 1.0 will disable # the filter. #max-height = 1.0 # Value between 0.0 and 1.0 indicating how fast the background model is updated, # or set to -1 to set rate automatically based on history length. A value of 0.0 # will not update the model at all, and 1.0 would re-initialize it on every frame. #learning-rate = -1 # Threshold on the distance between the pixel and the model to decide whether # a pixel is well described by the background model. This parameter does not affect # the background update. # The threshold is not used by the CNT subtractor. #variance-threshold = 16 # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # BOUNDING BOX OVERLAY # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # Enable/disable overlay. #bounding-box = yes # Box edge color in the form (R,G,B) or 0xFFFFFF #bounding-box-color = 255, 0, 0 # Thickness of bounding box, relative to largest edge of input video. #bounding-box-thickness = 0.0032 # Amount of temporal smoothing to apply. #bounding-box-smooth-time = 0.1s # Minimum side length of bounding box, relative to largest edge of input video. #bounding-box-min-size = 0.032 # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # TEXT OVERLAYS # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # Enable/disable timecode overlay in top-left of video frame. #time-code = yes # Enable/disable frame metrics overlay in top right of video frame. #frame-metrics = yes # Padding between the text and the edge of its background box, in pixels. #text-border = 4 # Margin between the background box and the edge of the frame, in pixels. #text-margin = 4 # Font scale factor. #text-font-scale = 1.0 # Thickness of font (integer values only). #text-font-thickness = 2 # Text color in the form (R,G,B) or 0xFFFFFF #text-font-color = 255, 255, 255 # Text background color in the form (R,G,B) or 0xFFFFFF #text-bg-color = 0, 0, 0 # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # LOGGING # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # Suppress all console output except for the final event list (see # timecode-list-format). Output can still be saved using the --logfile option. #quiet-mode = no # Verbosity of log output (debug, info, warning, error). Applies to the console # and to --logfile. If quiet-mode is enabled, nothing except the final event # list is printed to the console regardless of verbosity. #verbosity = info # Automatically save rolling logs. Useful for bug reports. # The path to logs for your system can be found under the help entry for # `--logfile` after running `dvr-scan --help` or `dvr-scan-app --help`. #save-log = yes # Max number of debug logs to keep. If more than this amount are found # on startup, the oldest ones are purged. #max-log-files = 15