#
# 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.cfg
#
#   Mac:     ~/Library/Preferences/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).
#

# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
#  INPUT
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

# Which mode to use for decoding frames. Possible values are: OPENCV, PYAV,
# MOVIEPY.
#input-mode = OPENCV

# Use presentation time instead of frame number for timestamps. May improve
# timestamp accuracy with videos and network streams that may skip frames.
#use-pts = no

# 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


# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
#  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. Not all features are supported in FFMPEG/COPY mode.
#output-mode = OPENCV

# 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 -c:v libx264 -preset fast -crf 21 -c:a aac -sn

# Four-letter identifier of the encoder/video codec to use in OPENCV mode.
# Possible values are: XVID, MP4V, MP42, H264
#opencv-codec = XVID


# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
#  MOTION
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

# Amount of time which must have motion in each frame to trigger an event.
#min-event-length = 2

# Amount of time to include before an event.
#time-before-event = 1.5s

# Amount of time to include after an event.
#time-post-event = 2.0s

# Threshold representing amount of motion in a frame (or the ROI, 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

# Size of border around text, in pixels. Must be <= text-margin.
#text-border = 4

# Size of margin around border, in pixels.
#text-margin = 4

# Font scale factor.
#text-font-scale = 2.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. Output can still be saved using
# the -l/--logfile option.
#quiet-mode = no

# Verbosity of console output (debug, info, warning, error).
# If set to debug, overrides quiet-mode unless set via command line.
#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
