
############################################################
# Daemon
############################################################

# Start in daemon (background) mode and release terminal (default: off)
#daemon on

# File to store the process ID, also called pid file. (default: not defined)
process_id_file /var/run/motion/motion.pid

############################################################
# Basic Setup Mode
############################################################

# Start in Setup-Mode, daemon disabled. (default: off)
setup_mode off

############################################################
# Capture device options:
############################################################

# Videodevice to be used for capturing  (default /dev/video0)
# for FreeBSD default is /dev/bktr0
videodevice /dev/null

# Tuner device to be used for capturing using tuner as source (default /dev/tuner0)
# This is ONLY used for FreeBSD. Leave it commented out for Linux
; tunerdevice /dev/tuner0

# The video input to be used (default: 8)
# Should normally be set to 1 for video/TV cards, and 8 for USB cameras
; input 8

# The video norm to use (only for video capture and TV tuner cards)
# Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL)
norm 1

# The frequency to set the tuner to (kHz) (only for TV tuner cards) (default: 0)
; frequency 0

# Rotate image this number of degrees. The rotation affects all saved images as
# well as mpeg movies. Valid values: 0 (default = no rotation), 90, 180 and 270.
rotate 0

# Image width (pixels). Valid range: Camera dependent, default: 352
width 704

# Image height (pixels). Valid range: Camera dependent, default: 288
height 480

# Maximum number of frames to be captured per second.
# Valid range: 2-100. Default: 100 (almost no limit).
framerate 6

# Minimum time in seconds between capturing picture frames from the camera.
# Default: 0 = disabled - the capture rate is given by the camera framerate.
# This option is used when you want to capture images at a rate lower than 2 per second.
minimum_frame_time 0

# Let motion regulate the brightness of a video device (default: off)
# Only recommended for cameras without auto brightness
; auto_brightness off

# Set the initial brightness of a video device.
# Valid range 0-255, default 0 = disabled
brightness 0

# Set the contrast of a video device.
# Valid range 0-255, default 0 = disabled
contrast 0

# Set the saturation of a video device.
# Valid range 0-255, default 0 = disabled
saturation 0

# Set the hue of a video device (NTSC feature).
# Valid range 0-255, default 0 = disabled
hue 0

############################################################
# Round Robin (multiple inputs on same video device name)
############################################################

# Number of frames to capture in each roundrobin step (default: 1)
roundrobin_frames 0

# Number of frames to skip before each roundrobin step (default: 1)
roundrobin_skip 0

# Try to filter out noise generated by roundrobin (default: 0)
switchfilter 0

############################################################
# Motion detection settings:
############################################################

# Enables motion to adjust its detection/noise level for very dark frames
# Don't use this with noise_tune on. (default: off)
night_compensate off

# Despeckle motion image using (e)rode or (d)ilate or (l)abel (Default: not defined)
# Recommended value is EedDl. Any combination (and number of) of E, e, d, and D is valid.
# (l)abeling must only be used once and the 'l' must be the last letter.
# Comment out to disable
despeckle EedDl

# Dynamically create a mask file during operation (default: 0)
# Adjust speed of mask changes from 0 (off) to 10 (fast)
smart_mask_speed 7

# Ignore sudden massive light intensity changes given as a percentage of the picture
# area that changed intensity. Valid range: 0 - 100 , default: 0 = disabled
lightswitch 0

# Picture frames must contain motion at least the specified number of frames
# in a row before they are detected as true motion. At the default of 1, all
# motion is detected. Valid range: 1 to thousands, recommended 1-10
minimum_motion_frames 2

# Specifies the number of pre-captured (buffered) pictures from before motion
# was detected that will be output at motion detection (default: 0)
#
# You can have up to 1000s of pre-captured frames but naturally this 
# makes motion leave a larger footprint in the memory of the computer. More 
# important Motion is processing all the buffered images including saving 
# jpegs, encoding mpegs, writing to databases and executing external 
# programs after the first image is detected as Motion. Motion will not 
# grab another image until this is done. This means that even moderate 
# values for pre_capture combined with high framerates will mean that you 
# will miss quite many frames of Motion. It is therefore recommended to 
# use relative small values for pre_capture. Depending on your chosen 
# framerate and depending on the features enabled values from 1-10 are 
# sensible. If you wish to create smooth mpegs during events it is better 
# to use a large value for post_capture. 
pre_capture 2

# Number of frames to capture after motion is no longer detected (default: 0)
post_capture 15

# Gap is the seconds of no motion detection that triggers the end of an event
# An event is defined as a series of motion images taken within a short timeframe.
# Recommended value is 60 seconds (Default). The value 0 is allowed and disables
# events causing all Motion to be written to one single mpeg file and no pre_capture.
gap 30

# Maximum length in seconds of an mpeg movie (common for ffmpeg and Berkeley types)
# When value is exceeded a new mpeg file is created. (Default: 0 = infinite)
;max_mpeg_time 300
max_mpeg_time 180

# Number of frames per second to capture when not detecting
# motion (saves CPU load) (Default: 0 = disabled)
#low_cpu 2

# Always save images even if there was no motion (default: off)
output_all off

############################################################
# Image File Output
############################################################

# Output 'normal' pictures when motion is detected (default: on)
# Valid values: on, off, first, best
# When set to 'first', only the first picture of an event is saved.
# Picture with most motion of an event is saved when set to 'best'.
# Can be used as preview shot for the corresponding movie.
output_normal on

# Output pictures with only the pixels moving object (green ghost images) (default: off)
output_motion on

# The quality (in percent) to be used by the jpeg compression (default: 75)
quality 75

# Output ppm images instead of jpeg (default: off)
ppm off

############################################################
# Film (mpeg) File Output - ffmpeg based
############################################################

# Use ffmpeg's libavcodec to encode mpeg movies in realtime (default: off)
ffmpeg_cap_new on

# Use ffmpeg to make movies with only the pixels moving
# object (green ghost images) (default: off)
;ffmpeg_cap_motion off
ffmpeg_cap_motion on

# Use ffmpeg to encode a timelapse movie
# Default value 0 = off - else save frame every Nth second
ffmpeg_timelapse 60

# The file rollover mode of the timelapse video
# Valid values: hourly, daily (default), weekly-sunday, weekly-monday, monthly, manual
ffmpeg_timelapse_mode daily

# Bitrate to be used by the ffmpeg encoder (default: 400000)
# This option is ignored if ffmpeg_variable_bitrate is not 0 (disabled)
ffmpeg_bps 500000

# Enables and defines variable bitrate for the ffmpeg encoder.
# ffmpeg_bps is ignored if variable bitrate is enabled.
# Valid values: 0 (default) = fixed bitrate defined by ffmpeg_bps,
# or the range 2 - 31 where 2 means best quality and 31 is worst.
; 20 was ok - 2005/03/12
; 25 was a bit pixelated - 2005/03/13
; ffmpeg_variable_bitrate 22

# Codec to used by ffmpeg for the video compression.
# Supported formats are: mpeg1 (default), mpeg4, and msmpeg4
# mpeg1 gives you files with extension .mpg
# mpeg4 or msmpeg4 give you files with extension .avi
# msmpeg4 is recommended for use with Windows Media Player because
# it requires with no installation of codec on the Windows client.
ffmpeg_video_codec msmpeg4
;ffmpeg_video_codec mpeg1

############################################################
# Snapshots (Traditional Periodic Webcam File Output)
############################################################

# Make automated snapshot every N seconds (default: 0 = disabled)
; snapshot_interval 3600

############################################################
# Text Display
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second, %T = HH:MM:SS
# %v = event, %q = frame number, \n = new line
# You can put quotation marks around the text to allow
# leading spaces
############################################################

# Locate and draw a box around the moving object.
# Valid values: on, off and preview (default: off)
# Set to 'preview' will only draw a box in preview_shot pictures.
locate off

# Draws the timestamp using same options as C function strftime(3)
# Default: %Y-%m-%d\n%T = date in ISO format and time in 24 hour clock
# Text is placed in lower right corner
text_right "%Y-%m-%d\n%T-%q-%v"

# Draw a user defined text on the images using same options as C function strftime(3)
# Default: Not defined = no text
# Text is placed in lower left corner
; text_left value

# Draw the number of changed pixed on the images (default: off)
# Will normally be set to off except when you setup and adjust the motion settings
# Text is placed in upper right corner
text_changes on

############################################################
# Target Directories and filenames For Images And Films
# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename
# you can use conversion specifiers
# %Y = year, %m = month, %d = date,
# %H = hour, %M = minute, %S = second,
# %v = event, %q = frame number
# Quotation marks round string are allowed.
############################################################

# File path for snapshots (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-snapshot
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-snapshot
# File extension .jpg or .ppm is automatically added so do not include this.
# Note: A symbolic link called lastsnap.jpg created in the target_dir will always
# point to the latest snapshot, unless snapshot_filename is exactly 'lastsnap'
;snapshot_filename %Y/%m/%d/%H/%M/%S-snapshot
snapshot_filename %Y/%m/%d/jpg/%H/%H%M%S-snapshot

# File path for motion triggered images (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-%q
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-%q
# File extension .jpg or .ppm is automatically added so do not include this
# Set to 'preview' together with best-preview feature enables special naming
# convention for preview shots. See motion guide for details
;jpeg_filename %Y/%m/%d/%H/%M/%S-%q
jpeg_filename %Y/%m/%d/jpg/%H/%H%M%S-%q

# File path for motion triggered ffmpeg films (mpeg) relative to target_dir
# Default: %v-%Y%m%d%H%M%S
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H%M%S
# File extension .mpg or .avi is automatically added so do not include this
movie_filename %Y/%m/%d/%H%M%S

# File path for timelapse mpegs relative to target_dir (ffmpeg only)
# Default: %v-%Y%m%d-timelapse
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d-timelapse
# File extension .mpg or .avi is automatically added so do not include this
timelapse_filename %Y/%m/%d-timelapse

############################################################
# Live Webcam Server
############################################################

# The mini-http server listens to this port for requests (default: 0 = disabled)
; ** Must set in each thread!! **

# Quality of the jpeg images produced (default: 30)
;webcam_quality 50

# Only output frames if motion is detected (default: off)
webcam_motion off

# Maximum framerate for webcam streams (default: 100)
; webcam_maxrate 2

# Restrict webcam connections to localhost only (default: on)
; webcam_localhost off

# Limits the number of images per connection (default: 0 = unlimited)
# Number can be defined by multiplying actual webcam rate by desired number of seconds
# Actual webcam rate is the smallest of the numbers framerate and webcam_maxrate
webcam_limit 0

############################################################
# HTML Based Control
############################################################

# TCP/IP port for the http server to listen on (default: 0 = disabled)
; control_port 8080

# Restrict control connections to localhost only (default: on)
; control_localhost off

# Output for http server , select off to choose raw text plain (default: on)
; html_output on

############################################################
# Tracking (Pan/Tilt)
############################################################

#Type of tracker (0=none (default), 1=stepper, 2=iomojo, 3=pwc)
track_type 0

#Serial port of motor (default: none)
; track_port value

#Motor number for x-axis (default: -1)
track_motorx -1

#Maximum value on x-axis (default: 0)
track_maxx 0

#ID of an iomojo camera if used (default: 0)
track_iomojo_id 0

#Speed to set the motor to (default: 255)
track_speed 255

#Number of steps to make (default: 40)
track_stepsize 0


############################################################
# External Commands, Warnings and Logging:
############################################################

# Do not sound beeps when detecting motion (default: off)
# Note: Motion never beeps when running in daemon mode.
quiet on

# Command to be executed when an event starts. (default: none)
# An event starts at first motion detected after a period of no motion defined by gap
; on_event_start value

# Command to be executed when an event ends after a period of no motion
# (default: none). The period of no motion is defined by option gap.
; on_event_end value

# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
# The filename of the picture is appended as an argument for the command.
; on_picture_save value

# Command to be executed when a motion frame is detected (default: none)
; on_motion_detected value

# Command to be executed when a movie file (.mpg|.avi) is created. (default: none)
# Filename of movie is appended as an argument for the command.
; on_movie_start value

# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none)
# Filename of movie is appended as an argument for the command.
; on_movie_end value

############################################################
# Debugging for Programmers - Ignore
# Thread Config Files - One for each camera
# If Only One Camera - Use default values in this file
############################################################

# Remember: If you have more than one camera you must have one
# thread file for each camera. E.g. 2 cameras requires 3 files:
# This motion.conf file AND thread1.conf and thread2.conf.
# Only put the options that are unique to each camera in the
# thread config files.

# Cam 1
thread thread1.conf

# Cam 2
thread thread2.conf

# Cam 3
;thread thread3.conf

