#
# This file contains every possible PySceneDetect config option.
#
# A config file path can be specified via the -c/--config option, or
# creating a `scenedetect.cfg` file the following location:
#
# Windows: C:/Users/%USERNAME%/AppData/Local/PySceneDetect/scenedetect.cfg
#
# Linux: ~/.config/PySceneDetect/scenedetect.cfg
# $XDG_CONFIG_HOME/scenedetect.cfg
#
# Mac: ~/Library/Preferences/PySceneDetect/scenedetect.cfg
#
# Run `scenedetect 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).
#
#
# GLOBAL OPTIONS
#
[global]
# Output directory for written files. If unset, defaults to working directory.
#output = /usr/tmp/scenedetect/
# Video backend interface, must be one of: opencv, pyav.
#backend = opencv
# Downscale frame using a ratio of N. Set to 1 for no downscaling. If unset, applied
# automatically based on input video resolution. Must be an integer value.
#downscale = 1
# Method to use for downscaling (nearest, linear, cubic, area, lanczos4).
#downscale-method = linear
# Minimum length of a given scene (shorter scenes will be merged).
#min-scene-len = 0.6s
# Merge last scene if it is shorter than min-scene-len (yes/no)
#merge-last-scene = no
# Drop scenes shorter than min-scene-len instead of merging (yes/no)
#drop-short-scenes = no
# Verbosity of console output (debug, info, warning, error, or none).
# Set to none for the same behavior as specifying -q/--quiet.
#verbosity = debug
# Amount of frames to skip between performing scene detection. Not recommended.
#frame-skip = 0
#
# DETECTOR OPTIONS
#
[detect-content]
# Sensitivity threshold from 0 to 255. Lower values are more sensitive.
#threshold = 27
# Weight to place on each component when calculating frame score (the value
# `threshold` is compared against). The components are in the order
# (delta_hue, delta_sat, delta_lum, delta_edges). Description of components:
# - delta_hue: Difference between hue values of adjacent frames
# - delta_sat: Difference between saturation values of adjacent frames
# - delta_lum: Difference between luma/brightness values of adjacent frames
# - delta_edges: Difference between calculated edges of adjacent frames
# The score of each frame ('content_val' in the statsfile) is calculated as
# the weighted sum of all components.
#weights = 1.0 1.0 1.0 0.0
# Discard colour information and only use luminance (yes/no).
# If yes, overrides weights with (0.0, 0.0, 1.0, 0.0).
#luma-only = no
# Size of kernel for expanding detected edges. Must be odd integer greater
# than or equal to 3. If None, automatically set using video resolution.
#kernel-size = -1
# Minimum length of a given scene (overrides [global] option).
#min-scene-len = 0.6s
[detect-threshold]
# Average pixel intensity from 0-255 at which a fade event is triggered.
#threshold = 12
# Percent from -100.0 to 100.0 of timecode skew for where cuts should be placed.
# -100 indicates start frame, +100 indicates end frame, and 0 is the center.
#fade-bias 0
# Generate a scene from the end of the last fade out to the end of the video.
#add-last-scene = yes
# Discard colour information and only use luminance (yes/no).
#luma-only = no
# Minimum length of a given scene (overrides [global] option).
#min-scene-len = 0.6s
[detect-adaptive]
# Frame score threshold, refers to the `adaptive_ratio` metric in stats file.
#threshold = 27
# Minimum threshold that `content_val` metric from detect-content must exceed.
#min-content-val = 15
# Window size (number of frames) before and after each frame to average together.
#frame-window = 2
# Minimum length of a given scene (overrides [global] option).
#min-scene-len = 0.6s
# The following parameters are the those used to calculate `content_val`.
# See [detect-content] for detailed descriptions of these parameters.
#weights = 1.0, 1.0, 1.0, 0.0
#luma-only = no
#kernel-size = -1
#
# COMMAND OPTIONS
#
[split-video]
# Folder to output videos. Overrides [global] output option.
#output = /usr/tmp/encoded
# Filename template to use as output.
#filename = $VIDEO_NAME-Scene-$SCENE_NUMBER
# Suppress output from split tool.
#quiet = no
# Use higher bitrate for better output quality (y/n), equivalent to setting
# rate-factor = 17 and preset = slow.
#high-quality = no
# Use codec copying instead of encoding. Significantly faster, but can result
# in inaccurate splits due to keyframe positioning.
#copy = no
# Use mkvmerge for copying instead of encoding. Has the same drawbacks as copy = yes.
#mkvmerge = no
# x264 rate-factor, higher indicates lower quality / smaller filesize.
# 0 = lossless, 17 = visually identical, 22 = default.
#rate-factor = 22
# One of the ffmpeg x264 presets (e.g. veryfast, fast, medium, slow, slower).
#preset = veryfast
# Arguments to specify to ffmpeg for encoding. Quotes are not required.
#args = -map 0 -c:v libx264 -preset veryfast -crf 22 -c:a aac
[save-images]
# Folder to output videos. Overrides [global] output option.
#output = /usr/tmp/images
# Filename format of created images. Can use $VIDEO_NAME, $SCENE_NUMBER,
# and $IMAGE_NUMBER in the name. Extension not required.
#filename = $VIDEO_NAME-Scene-$SCENE_NUMBER-$IMAGE_NUMBER
# Number of images to generate for each scene.
#num-images = 3
# Image format (jpeg, png, webp).
#format = jpeg
# Image quality (jpeg/webp). Default is 95 for jpeg, 100 for webp
#quality = 95
# Compression amount for png images (0 to 9). Does not affect quality.
#compression = 3
# Number of frames to skip at beginning/end of scene.
#frame-margin = 1
# Factor to resize images by (0.5 = half, 1.0 = same, 2.0 = double).
#scale = 1.0
# Override image height and/or width. Mutually exclusive with scale.
#height = 0
#width = 0
# Method to use for image scaling (nearest, linear, cubic, area, lanczos4).
#scale-method = linear
[export-html]
# Filename format of created HTML file. Can use $VIDEO_NAME in the name.
#filename = $VIDEO_NAME-Scenes.html
# Override element width/height.
#image-height = 0
#image-width = 0
# Do not generate elements in resulting table (yes/no).
#no-images = no
[list-scenes]
# Folder to output scene list. Overrides [global] output option.
#output = /usr/tmp/images
# Filename format of created scene list. Can use $VIDEO_NAME in the name.
#filename = $VIDEO_NAME-Scenes.csv
# Skip the cutting list as the first row in the CSV file (yes/no).
# Set this option if compliance with RFC 4180 is required.
#skip-cuts = no
# Output only to command-line, don't write file (yes/no).
#no-output-file = no
# Suppress printing of scene list.
#quiet = no
#
# BACKEND OPTIONS
#
[backend-opencv]
# Number of times to keep reading frames after one fails to decode.
# If set to 0, processing will stop on the first decode failure.
#max-decode-attempts = 5
[backend-pyav]
# Threading mode to use (none, slice, frame, auto). Slice mode is the
# PyAV default, and auto/frame are the fastest.
#threading-mode = auto
# Suppress ffmpeg log output. Default is `no`.
#
# WARNING: When threading-mode is set to auto/frame, setting
# `suppress-output = yes` can cause the the program to not exit properly
# on Linux/OSX (press Ctrl+C to quit if this occurs).
#suppress-output = no