Provided by: motion_4.2.2-1ubuntu1_amd64 

NAME
motion - Detect motion using a video4linux device or network camera
SYNOPSIS
motion [ -hbnsm ] [ -c config file path ] [ -d level ] [ -k level ] [ -p pid_file ][ -l log_file ]
DESCRIPTION
Motion uses a video4linux device or network camera to detect motion. If motion is detected both normal
and motion pictures can be taken. Motion can also take actions to notify you if needed. Creation of
automated snapshots is also possible.
OPTIONS
-c Full path and filename of config file. For example: /home/kurt/motion.conf The default is
/usr/local/etc/motion unless specified differently when building Motion. Many RPMs and Debian
packages will use /etc or /etc/motion as the default.
-h Show help screen.
-b Run in daemon mode.
-n Run in non-daemon mode.
-s Run in setup mode. Also forces non-daemon mode.
-d Run with message log level 1-9.
-k Run with message log type 1-9.
-l Full path and file name for the log file.
-p Full path and filename for process id file (pid file). E.g /var/run/motion.pid. Default is not
defined. Pid file is only created when Motion is started in daemon mode.
-m Start in pause mode.
CONFIG FILE OPTIONS
These are the options that can be used in the config file. They are overridden by the
commandline! All number values are integer numbers (no decimals allowed). Boolean options can be
on or off (values "1", "yes" and "on" all means true and any other value means false).
daemon
Values: on/off
Default: off
Description:
When specified as ON, Motion goes into daemon (background process) mode and releases the
terminal.
setup_mode
Values: on/off
Default: off
Description:
Start in Setup-Mode, daemon disabled.
pid_file
Values: User specified string
Default: Not defined
Description:
File to store the process ID, also called pid file.
log_file
Values: User specified string
Default: Not Defined
Description:
File to save logs messages, if not defined stderr and syslog is used.
log_level
Values: 1 to 9 (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL)
Default: 6 / NTC
Description:
Specify the level of verbosity in the messages sent to the log.
log_type
Values: COR, STR, ENC, NET, DBL, EVT, TRK, VID, ALL
Default: ALL
Description:
Filter to log messages by type
quiet
Values: on/off
Default: on
Description:
Do not sound beeps when detecting motion
native_language
Values: boolean
Default: on
Description:
Use this option to enable native language on the webcontrol and log message. Specify off
to have messages provided in English.
camera_name
Values: User specified string
Default: Not Defined
Description:
User specified string to describe the camera.
camera_id
Values: Numeric identification number for the camera
Default: The order in which the camera is opened by Motion
Description:
Use this option to assign a number to each camera that is consistent every time that Motion
is started. By default Motion will assign a number based upon the sequence in which it
reads the configuration and this sequence may not be the same every time that Motion
starts.
camera
Values: User specified string
Default: Not Defined
Description:
This option specifies the full path and file name to individual camera files. This option
can be listed multiple times. Each camera file should contain the options that are unique
to that camera/video device. Common options are obtained from the motion.conf file and
values are overwritten from each camera file. While the motion.conf includes four sample
camera files, the actual limit of cameras is only dependent upon the machine capabilities.
Remember: If you have more than one camera you must have one camera file for each one. For
example, 2 cameras would require 3 files: The motion.conf file AND camera1.conf and
camera2.conf. only put the options that are unique to each camera in the camera config
files.
camera_dir
Values: User specified string
Default: Not Defined
Description:
This option specifies the optional subdirectory that contains the camera config files.
target_dir
Values: User specified string
Default: Not defined
Description:
Target base directory for pictures and films. It is recommended to use an absolute path.
If this option is not defined, the current working directory is used. This option accepts
the conversion specifiers included at the end of this manual.
videodevice
Values: User specified string
Default: /dev/video0
Description:
String to specify the videodevice to be used for capturing. The format is usually
/dev/videoX where X varies depending upon the video devices connected to the computer. For
FreeBSD certain devices use the bktr subsystem and they will use /dev/bktr0.
vid_control_params
Values: User specified string
Default: None
Description:
String to specify the parameters to pass in for a videodevice. The parameters permitted
are dependent upon the device. This only applies to V4L2 devices. The Motion log reports
all the available options for the device.
v4l2_palette
Values: 0 to 21
V4L2_PIX_FMT_SN9C10X : 0 'S910'
V4L2_PIX_FMT_SBGGR16 : 1 'BYR2'
V4L2_PIX_FMT_SBGGR8 : 2 'BA81'
V4L2_PIX_FMT_SPCA561 : 3 'S561'
V4L2_PIX_FMT_SGBRG8 : 4 'GBRG'
V4L2_PIX_FMT_SGRBG8 : 5 'GRBG'
V4L2_PIX_FMT_PAC207 : 6 'P207'
V4L2_PIX_FMT_PJPG : 7 'PJPG'
V4L2_PIX_FMT_MJPEG : 8 'MJPEG'
V4L2_PIX_FMT_JPEG : 9 'JPEG'
V4L2_PIX_FMT_RGB24 : 10 'RGB3'
V4L2_PIX_FMT_SPCA501 : 11 'S501'
V4L2_PIX_FMT_SPCA505 : 12 'S505'
V4L2_PIX_FMT_SPCA508 : 13 'S508'
V4L2_PIX_FMT_UYVY : 14 'UYVY'
V4L2_PIX_FMT_YUYV : 15 'YUYV'
V4L2_PIX_FMT_YUV422P : 16 '422P'
V4L2_PIX_FMT_YUV420 : 17 'YU12'
V4L2_PIX_FMT_Y10 : 18 'Y10'
V4L2_PIX_FMT_Y12 : 19 'Y12'
V4L2_PIX_FMT_GREY : 20 'GREY'
V4L2_PIX_FMT_H264 : 21 'H264'
Default: 17
Description:
The v4l2_palette option allows users to choose the preferred palette to be use by motion to
capture from the video device. If the preferred palette is not available from the video
device, Motion will attempt to use palettes that are supported.
input
Values:
-1 : USB Cameras
0 : video/TV cards or uvideo(4) on OpenBSD
1 : video/TV cards
Default: -1
Description:
The video input to be used.
norm
Values:
0 (PAL)
1 (NTSC)
2 (SECAM)
3 (PAL NC no colour)
Default: 0 (PAL)
Description:
The video norm to use when capturing from TV tuner cards
frequency
Values: Dependent upon video device
Default: 0
Description:
The frequency to set the tuner in kHz when using a TV tuner card.
auto_brightness
Values: 0 - 3
Default: 0
Description:
The auto_brightness feature uses the device options to adjust the brightness Only
recommended for cameras without auto brightness. 0-disabled, 1=Use brightness, 2=Use
exposure, 3=Use absolute exposure.
tunerdevice
Values: User Specified String
Default: /dev/tuner0
Description:
Tuner device to be used for capturing images. This is ONLY used for FreeBSD.
roundrobin_frames
Values: 1 to unlimited
Default: 1
Description:
Number of frames to capture in each roundrobin step
roundrobin_skip
Values: 1 to unlimited
Default: 1
Description:
Number of frames to skip before each roundrobin step
roundrobin_switchfilter
Values: on/off
Default: off
Description:
Filter out noise generated by roundrobin
netcam_url
Values: User specified string
Default: None
Description:
Full connection URL string to use to connect to a network camera. The URL must provide a
stream of images instead of only a static image. The following prefixes are recognized
http:// ftp:// mjpg:// rtsp:// rtmp:// mjpeg:// file:// v4l2://
The connection string is camera specific. It is usually the same as what other video
playing applications would use to connect to the camera stream. Motion currently only
supports basic authentication for the cameras. Digest is not currently supported. Basic
authentication can be specified in the URL or via the netcam_userpass option.
netcam_highres
Values: User specified string
Default: None
Description:
Full connection URL string to use to connect to a high resolution network camera. The URL
must provide a stream of images instead of only a static image. The following prefixes are
recognized
rtsp:// rtmp://
The connection string is camera specific. It is usually the same as what other video
playing applications would use to connect to the camera stream. Motion currently only
supports basic authentication for the cameras. Digest is not currently supported. Basic
authentication can be specified in the URL or via the netcam_userpass option.
netcam_userpass
Values: User specified string
Default: Not Defined
Description:
The user id and password required to access the network camera string. Only basic
authentication is supported at this time. Format is in user:password format when both a
user name and password are required.
netcam_keepalive
Values:
off: The historical implementation using HTTP/1.0, closing the socket after each http
request.
force: Use HTTP/1.0 requests with keep alive header to reuse the same connection.
on: Use HTTP/1.1 requests that support keep alive as default.
Default: off
Description:
This setting is to keep-alive (open) the network socket between requests. When used, this
option should improve performance on compatible net cameras. This option is not applicable
for the rtsp://, rtmp:// and mjpeg:// formats.
netcam_proxy
Values: User specified string
Default: Not defined
Description:
If required, the URL to use for a netcam proxy server. For example, "http://myproxy". If
a port number other than 80 is needed, append to the specification. For examplet,
"http://myproxy:1234".
netcam_tolerant_check
Values: on/off
Default: off
Description:
Use a less strict jpeg validation for network cameras. This can assist with cameras that
have poor or buggy firmware.
netcam_use_tcp
Values: on/off
Default: on
Description:
When using a RTSP/RTMP connection for a network camera, use a TCP transport instead of UDP.
The UDP transport frequently results in "smeared" corrupt images.
mmalcam_name
Values: User specified string
Default: Not defined
Description:
Name of camera to use if you are using a camera accessed through OpenMax/MMAL. This value
is used to specify the use of the PI camera. The typical value for the PI camera is
vc.ril.camera
mmalcam_control_params
Values: User specified string
Default: Not defined
Description:
Camera configuration options to use for the OpenMax/MMAL camera. See the
raspivid/raspistill tool documentation for full list of options. Typical value for the PI
camera is -hf
width
Values: Dependent upon video device
Default: 640
Description:
Image width in pixels for the video device.
height
Values: Dependent upon video device
Default: 480
Description:
Image height in pixels for the video device
framerate
Values: 2 - 100
Default: 15
Description:
The maximum number of frames to capture in 1 second. The default of 100 will normally be
limited by the capabilities of the video device. Typical video devices have a maximum rate
of 30.
minimum_frame_time
Values: 0 to unlimited
Default: 0
Description:
The minimum time in seconds between capturing picture frames from the camera. The default
of 0 disables this option and relies upon the capture rate of the camera. This option is
used when you want to capture images at a rate lower than 2 per second.
rotate
Values: 0, 90, 180, 270
Default: 0
Description:
Rotate image this number of degrees. The rotation affects all saved images as well as
movies.
flip_axis
Values: none, v, h
Default: none
Description:
Flip the images vertically or horizontally. The flip affects all saved images as well as
movies.
locate_motion_mode
Values: on/off/preview
Default: off
Description:
When specified as 'on', locate and draw a box around the moving object. When set
'preview', only draw a box in preview_shot pictures.
locate_motion_style
Values:
box : Draw traditional box around the part of the image generating the motion
redbox : Draw a red box around the part of the image generating the motion
cross : Draw a cross on the part of the image generating the motion
redcross : Draw a red cross on the part of the image generating the motion
Default: box
Description:
When locate_motion_mode is enable, this option specifies how the motion will be indicated
on the image.
text_left
Values: User specified string
Default: Not defined
Description:
Text to place in lower left corner of image. Format specifiers follow C function
strftime(3)
text_right
Values: User specified string
Default: %Y-%m-%d\n%T
Description:
Text to place in lower right corner of image. Format specifiers follow C function
strftime(3)
text_changes
Values: on/off
Default: off
Description:
When specified, draw the number of changed pixed on the images. This option will normally
be set to off except when you setup and adjust the motion settings. The text is placed in
upper right corner of the image.
text_scale
Values: 1 to 10
Default: 1
Description:
The scale at which to draw text over the image.
text_event
Values: User specified string
Default: %Y%m%d%H%M%S
Description:
Define the value of the special event conversion specifier %C. The user can use any
conversion specifier in this option except %C. Date and time values are from the timestamp
of the first image in the current event. The %C can be used filenames and text_left/right
for creating a unique identifier for each event.
emulate_motion
Values: on/off
Default: off
Description:
Always save images even if there was no motion.
threshold
Values: 1 to unlimited
Default: 1500
Description:
Threshold for number of changed pixels in an image that triggers motion detection
threshold_maximum
Values: 0, 1 to unlimited
Default: 0
Description:
Maximum of changed pixels in an image that triggers motion detection. A value of zero
disables this option.
threshold_tune
Values: on/off
Default: off
Description:
Automatically tune the threshold down if possible.
noise_level
Values: 1 to unlimited
Default: 32
Description:
Noise threshold for the motion detection.
noise_tune
Values: on/off
Default: on
Description:
Automatically tune the noise threshold
despeckle_filter
Values:
e/E : erode
d/D : dilate
l : label
Default: Not defined
Description:
Despeckle motion image using (e)rode or (d)ilate or (l)abel. The 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
area_detect
Values: 1 to 9
Default: Not Defined
Description:
When motion is detected in the predefined areas indicated below, trigger the script
indicated by the on_area_detected. The trigger is only activated once during an event.
one or more areas can be specified with this option. Note that this option is only used to
trigger the indicated script. It does not limit all motion detection events to only the
area indicated.
Image Areas
123
456
789
mask_file
Values: User specified string
Default: Not defined
Description:
When particular area should be ignored for motion, it can be accomplished using a PGM mask
file. The PGM mask file is a specially constructed mask file that allows the user to
indicate the areas for which motion should be monitored. This option specifies the full
path and name for the mask file.
mask_privacy
Values: User specified string
Default: Not defined
Description:
The PGM mask file is a specially constructed mask file that allows the user to indicate the
areas to remove from all images. This option specifies the full path and name for the
privacy mask file.
smart_mask_speed
Values: 0 to 10
Default: 0 (off)
Description:
Speed of mask changes when creating a dynamic mask file.
lightswitch_percent
Values: 0 to 100
Default: 0
Description:
Ignore sudden massive light intensity changes. Value is a percentage of the picture area
that changed intensity.
lightswitch_frames
Values: 1 to 1000
Default: 5
Description:
Number of frames to ignore when lightswitch has been triggered.
minimum_motion_frames
Values: 1 to unlimited
Default: 1
Description:
The minimum number of picture frames in a row that must contain motion before a event is
triggered. The default of 1 means that all motion is detected. The recommended range is 1
to 5.
event_gap
Values: -1 to unlimited
Default: 60
Description:
The number of seconds of no motion that triggers the end of an event. An event is defined
as a series of motion images taken within a short timeframe. The recommended value is 60
seconds. The value -1 is allowed and disables events causing all Motion to be written to
one single movie file and no pre_capture. If set to 0, motion is running in gapless mode.
Movies don't have gaps anymore. An event ends right after no more motion is detected and
post_capture is over.
pre_capture
Values: 0 to unlimited
Default: 0
Description:
The number of pre-captured (buffered) pictures from before motion was detected that will be
output upon motion detection. The recommended range is 0 to 5. It is not recommended to
use large values since it will cause Motion to skip frames. To smooth movies use larger
values of post_capture instead.
post_capture
Values: 0 to unlimited
Default: 0
Description:
Number of frames to capture after motion is no longer detected.
Script Options
on_event_start, on_event_end, on_picture_save
on_motion_detected, on_area_detected, on_movie_start
on_movie_end, on_camera_lost, on_camera_found
Values: User defined string
Default: Not defined
Description:
Specify the full path and file name for the script to execute when the indicated event
occurs. When a file name is required for the script, append a %f to the script string.
picture_output
Values: on, off, first, best, center
Default: off
Description:
Output pictures when motion is detected. 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'. Picture
with motion nearest center of picture is saved when set to 'center'. Can be used as
preview shot for the corresponding movie.
picture_output_motion
Values: on/off
Default: off
Description:
Output pictures with only the pixels moving object (ghost images)
picture_type
Values: jpeg/ppm/webp
Default: jpeg
Description:
The file type of output images
picture_quality
Values: 1 to 100
Default: 75
Description:
The quality (in percent) to be used by the jpeg and webp compression
picture_exif
Values: User specified string
Default: Not defined
Description:
Text to include in a JPEG EXIF comment
picture_filename
Values: User specified string
Default: %v-%Y%m%d%H%M%S-%q
Description:
The file path for motion triggered images (jpeg, ppm or webp) relative to target_dir. The
file extension .jpg, .ppm or .webp is automatically added so do not include this. Set to
'preview' together with best-preview feature enables special naming convention for preview
shots. This option accepts the conversion specifiers included at the end of this manual.
snapshot_interval
Values: 0 to unlimited
Default: 0
Description:
When specified as 0, the snapshot feature is disabled. When a value is specified, the
value indicates the number of seconds between snapshots.
snapshot_filename
Values: User specified string
Default: %v-%Y%m%d%H%M%S-snapshot
Description:
The file path for snapshots relative to target_dir. The file extension .jpg, .ppm or .webp
is automatically added so do not include this. A symbolic link called lastsnap.jpg created
in the target_dir will always point to the latest snapshot, unless snapshot_filename is
exactly 'lastsnap' This option accepts the conversion specifiers included at the end of
this manual.
movie_output
Values: on/off
Default: on
Description:
Use ffmpeg to encode movies of the motion.
movie_output_motion
Values: on/off
Default: off
Description:
Use ffmpeg to encode movies with only the pixels moving object (ghost images)
movie_max_time
Values: 0 to unlimited
Default: 120
Description:
Maximum length in seconds of a movie. When value is exceeded a new movie file is created.
The value of 0 means that there is no limit.
movie_bps
Values: 0 to unlimited
Default: 400000
Description:
Bitrate to be used by the ffmpeg encoder. This option is ignored if movie_quality is not
0.
movie_quality
Values: 0 to 100
Default: 60
Description:
Enable and define the variable bitrate for the ffmpeg encoder. movie_bps is ignored if
variable bitrate is enabled. When specified as 0, use the fixed bitrate defined by
movie_bps. When defined as 1 - 100 varies the quality of the movie. A value of 1 is worst
quality versus a value of 100 is best quality.
movie_codec
Values:
Motion videos:
mpeg4 - Creates .avi file
msmpeg4 - Creates .avi file
swf - Flash film with extension .swf
flv - Flash video with extension .flv
ffv1 - FF video codec 1 for Lossless Encoding
mov - QuickTime
mp4 - MPEG-4 Part 14 H264 encoding
mkv - Matroska H264 encoding
hevc - H.265 / HEVC (High Efficiency Video Coding)
Default: mkv
Description:
For regular motion videos, the container/codec must be available in the ffmpeg installed on
the computer.
movie_duplicate_frames
Values: on/off
Default: off
Description:
When creating videos, should frames be duplicated in order to keep up with the requested
frames per second
movie_passthrough
Values: on/off
Default: off
Description:
When using a rtsp camera, make movies without decoding the stream.
movie_filename
Values: User specified string
Default: %v-%Y%m%d%H%M%S
Description:
File path for motion triggered ffmpeg films (movies) relative to target_dir. The
extensions(.swf, .avi, etc) are automatically added so do not include them This option
accepts the conversion specifiers included at the end of this manual.
movie_extpipe_use
Values: on/off
Default: off
Description:
Use the external pipe in order to encode videos. This is a replacement option for the
FFMPEG builtin encoder for movie_output only. The options movie_filename and
timelapse_filename are also used from the ffmpeg feature
movie_extpipe
Values: User specified string
Default: Not defined
Description:
Command line string to receive and process a pipe of images to encode. Generally, use '-'
for STDIN
timelapse_interval
Values: 0 to unlimited
Default: 0
Description:
Number of seconds between frame captures for a timelapse movie. Specify 0 to disable the
timelapse.
timelapse_mode
Values:
hourly
daily
weekly-sunday
weekly-monday
monthly
manual
Default: daily
Description:
File rollover mode for the timelapse video.
timelapse_fps
Values: 0 to unlimited
Default: 30
Description:
Frames per second used for playback of the timelapse video.
timelapse_codec
Values:
mpg - Creates mpg file with mpeg-2 encoding.
mpeg4 - Creates avi file with the default encoding.
Default: mpg
Description:
For mpg timelapse videos, if motion is shutdown and restarted, new pics will be appended to
any previously created file with name indicated for timelapse. For mpeg4 timelapse videos,
if motion is shutdown and restarted, new pics will create a new file with the name
indicated for timelapse.
timelapse_filename
Values: User specified string
Default: %Y%m%d-timelapse
Description:
File path for timelapse movies relative to target_dir. The file extensions(.mpg .avi) are
automatically added so do not include them This option accepts the conversion specifiers
included at the end of this manual.
video_pipe
Values: User specified string
Default: Not Defined
Description:
Output images to a video4linux loopback device.
video_pipe_motion
Values: User specified string
Default: Not Defined
Description:
Output motion images to a video4linux loopback device.
webcontrol_port
Values: 0 to maximum port number
Default: 0
Description:
Port number for the web control / preview page.
webcontrol_ipv6
Values: on/off
Default: off
Description:
Listen to IPv6 localhost instead of IPv4. This option is also applicable for all streams.
webcontrol_localhost
Values: on/off
Default: on
Description:
Restrict control connections to localhost only
webcontrol_parms
Values:
0 = No parameters available to change on web control
1 = Limited list of parameters available to change
2 = Advanced list of parameters (usually requires restart to become effective)
3 = Restricted list of parameters (User IDs, passwords, commands to execute, etc)
Default: 0
Description:
The type of parameters that are able to be modified via the web interface. This parameter
can never be modified via the web interface and must be specified directly in the
configuration file.
webcontrol_interface
Values: 0-2
Default: 0
Description:
Specified the web control interface type. 0=css, 1=text, 2=legacy
webcontrol_auth_method
Values:
0 = disabled
1 = Basic authentication
2 = MD5 digest (the safer authentication)
Default: 0
Description:
The authentication method to use for the webcontrol.
webcontrol_authentication
Values: User specified string
Default: Not defined
Description:
The username and password to use for authentication of the webcontrol. The format is
Username:Password
webcontrol_tls
Values: on/off
Default: off
Description:
When specified as on, use SSL/TLS for the webcontrol.
webcontrol_cert
Values: User specified string
Default: Not defined
Description:
The full path to the SSL certification file for webcontrol
webcontrol_key
Values: User specified string
Default: Not defined
Description:
The full path to the SSL key file for webcontrol
webcontrol_cors_header
Values: User specified string
Default: Not defined
Description:
The header to add for cross orgin on the webcontrol
stream_port
Values: 0 to port number limit
Default: 0
Description:
This option is the port number that the mini-http server listens on for streams of the
pictures.
stream_localhost
Values: on/off
Default: on
Description:
Restrict stream connections to localhost only
stream_auth_method
Values:
0 = disabled
1 = Basic authentication
2 = MD5 digest (the safer authentication)
Default: 0
Description:
The authentication method to use for viewing the stream.
stream_authentication
Values: User specified string
Default: Not defined
Description:
The username and password to use for authentication of the stream. The format is
Username:Password
stream_tls
Values: on/off
Default: off
Description:
When specified as on, use SSL/TLS for the stream port.
stream_cors_header
Values: User specified string
Default: Not defined
Description:
The Access-Control-Allow-Origin header value to be sent with the stream. If unspecified,
no Access-Control-Allow-Origin header is sent. The header allows browsers to access the
stream via cross-origin resource sharing (CORS). For example, * allows access from browser
client code served from any domain.
stream_preview_scale
Values: 1 to 100
Default: 25
Description:
This defines what percentage the stream image should be scaled to for the preview page
stream_preview_newline
Values: on/off
Default: off
Description:
When the image is put on the preview page, should the image start on a new line. This
option allows the user to specify whether the preview images should be side by side or
stacked on the page.
stream_preview_method
Values: 0 to 2
Default: 0
Description:
Method to display images on webcontrol page. 0=Full, 1=Substream, 2=Static
stream_quality
Values: 1 to 100
Default: 50
Description:
The quality in percent for the jpg images streamed.
stream_grey
Values: on/off
Default: off
Description:
Send the live stream of the camera in grey (black and white) instead of color.
stream_maxrate
Values: 1 to unlimited
Default: 1
Description:
Maximum frame rate to send to stream
stream_motion
Values: on,off
Default: off
Description:
Limit stream to 1 fps when no motion is being detected.
database_type
Values: mysql, postgresql, sqlite3
Default: Not defined
Description:
The type of database being used.
database_dbname
Values: User defined string
Default: Not defined
Description:
The name of the database being used (dbname). For Sqlite3, the full path to the database.
database_host
Values: User defined string
Default: localhost
Description:
The name of the host on which the database is running.
database_port
Values: 0 to maximum port number
Default: Not defined
Description:
The port to use in order to access the database. Default ports: mysql 3306 , postgresql
5432
database_user
Values: User defined string
Default: Not Defined
Description:
The username to access the database
database_password
Values: User defined string
Default: Not Defined
Description:
The database password for the user to access the database.
database_busy_timeout
Values: 0 to unlimited
Default: 0
Description:
Database wait time in milliseconds for locked database to be unlocked before returning
database locked error
sql_log_picture
Values: on/off
Default: off
Description:
Log to the database when creating motion triggered picture file
sql_log_snapshot
Values: on/off
Default: off
Description:
Log to the database when creating a snapshot image file
sql_log_movie
Values: on/off
Default: off
Description:
Log to the database when creating motion triggered movie file
sql_log_timelapse
Values: on/off
Default: off
Description:
Log to the database when creating timelapse movies file
sql_query_start
Values: User defined string
Default: Not defined
Description:
SQL statement to execute at the start of a event. For mysql databases a unique id is
returned in the dbeventid conversion specifier but for other databases, the dbeventid
conversion specifier is assigned to zero.
sql_query_stop
Values: User defined string
Default: Not defined
Description:
SQL statement to execute at the end of a event.
sql_query
Values: User defined string
Default: Not defined
Description:
SQL statement to execute when a event occurs. Use same conversion specifiers as for text
features Additional special conversion specifiers are
%n = the number representing the file_type %f = filename with full path
Sample table set up (not sql_query):
Mysql: CREATE TABLE security (camera int, filename char(80) not null, frame int,
file_type int, time_stamp timestamp(14), event_time_stamp timestamp(14));
Postgresql: CREATE TABLE security (camera int, filename char(80) not null, frame
int, file_type int, time_stamp timestamp without time zone, event_time_stamp
timestamp without time zone);
Sample sql_query
insert into security(camera, filename, frame, file_type, time_stamp, text_event)
values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')
track_type
Values:
0 = none
1 = stepper
2 = iomojo
3 = pwc
4 = generic
5 = uvcvideo
6 = servo
Default: 0
Description:
This option specifies the type of tracker. The generic type enables the definition of
motion center and motion size to be used with the conversion specifiers for options like
on_motion_detected
track_auto
Values: on/off
Default: off
Description:
Enables/disables the automatic tracking.
track_port
Values: User specified string
Default: Not defined
Description:
The serial port of the motor. For example /dev/ttyS0
Tracking options
track_motorx, track_motorx_reverse, track_motory, track_motory_reverse
track_maxx, track_minx, track_maxy, track_miny, track_homex, track_homey
track_iomojo_id, track_step_angle_x, track_step_angle_y, track_move_wait
track_speed, track_stepsize
Values: device dependent
Default: 0
Description:
These options specify the parameters for cameras with tracking capabilities.
track_generic_move
Values: User specified string
Default: Not defined
Description:
Full path and file name for the script to execute to move a camera in generic tracking
mode.
SIGNALS
Motion responds to the following signals:
SIGHUP The config file will be reread.
SIGTERM
If needed motion will create an movie file of the last event and exit
SIGUSR1
Motion will create an movie file of the current event.
NOTES
Snapshot
A snapshot is a picture taken at regular intervals independently of any movement in the picture.
Motion image
A "motion" image/movie shows the pixels that have actually changed during the last frames. These
pictures are not very useful for normal presentation to the public but they are quite useful for
testing and tuning and making mask files as you can see exactly where motion sees something
moving. Motion is shown in greytones. If labelling is enabled the largest area is marked as blue.
Smart mask is shown in read.
Normal image
A "normal" image is the real image taken by the camera with text overlayed.
Cameras and config files
If Motion was invoked with command line option -c pathname Motion will expect the config file to
be as specified. When you specify the config file on the command line with -c you can call it
anything.
If you do not specify -c or the filename you give Motion does not exist, Motion will search for
the configuration file called 'motion.conf' in the following order:
1. Current directory from where motion was invoked
2. Then in a directory called '.motion' in the current users home directory (shell environment
variable $HOME). E.g. /home/goofy/.motion/motion.conf
3. The motion/ subdirectory inside the directory defined by the --sysconfdir=DIR when running
.configure during installation of Motion (If this option was not defined the default is
/usr/local/etc/)
If you have write access to /usr/local/etc/motion then the editor recommends having only one
motion.conf file in the default /usr/local/etc/motion directory.
Motion has a configuration file in the distribution package called motion-dist.conf. When you run
'make install' this files gets copied to the /usr/local/etc/motion directory.
The configuration file needs to be renamed from motion-dist.conf to motion.conf. The original file
is called motion-dist.conf so that your perfectly working motion.conf file does not accidentally
get overwritten when you re-install or upgrade to a newer version of Motion.
If you have more than one camera you should not try and invoke Motion more times. Motion is made
to work with more than one camera in a very elegant way and the way to do it is to create a number
of camera config files. Motion will then create an extra thread of itself for each camera. If you
only have one camera you only need the motion.conf file. The minute you have two or more cameras
you must have one camera config file per camera besides the motion.conf file.
So if you have for example two cameras you need motion.conf and two camera config files. Total of
3 config files.
An option that is common to all cameras can be placed in motion.conf. (You can also put all
parameters in the camera files but that makes a lot of editing when you change a common thing).
An option that is unique to a camera must be defined in each camera file.
The first camera is defined in the first camera file called from motion.conf. The 2nd camera is
defined in the 2nd camera file called from motion.conf etc.
Any option defined in motion.conf will be used for all cameras except for the cameras in which the
same option is defined in a camera config file.
Motion reads its configuration parameters in the following sequence. If the same parameter exists
more than one place the last one read wins.
1. Motion reads the configuration file motion.conf from the beginning of the file going down line
by line.
2. If the option "camera" is defined in motion.conf, the camera configuration file(s) is/(are)
read.
3. Motion continues reading the rest of the motion.conf file. Any options from here will overrule
the same option previously defines in a camera config file.
4. Motion reads the command line option again overruling any previously defined options.
So always call the camera config files in the end of the motion.conf file. If you define options
in motion.conf AFTER the camera file calls, the same options in the camera files will never be
used. So always put the camera file call at the end of motion.conf.
If motion is built without specific features such as ffmpeg, mysql etc it will ignore the options
that belongs to these features. You do not have to remove them or comment them out.
If you run the http control command http://host:port/0/config/writeyes, motion will overwrite
motion.conf and all the camera.conf files by autogenerated config files neatly formatted and only
with the features included that Motion was built with. If you later re-build Motion with more
features or upgrade to a new version, you can use your old config files, run the motion.conf.write
command, and you will have new config files with the new options included all set to their default
values. This makes upgrading very easy to do.
Conversion Specifiers for Advanced Filename and Text Features
The table below shows all the supported Conversion Specifiers you can use in the options
text_left, text_right, snapshot_filename, jpeg_filename, ffmpeg_filename, timelapse_filename,
on_event_start, on_event_end, on_picture_save, on_movie_start, on_movie_end, and
on_motion_detected.
In text_left and text_right you can additionally use '\n' for new line.
%a The abbreviated weekday name according to the current locale.
%A The full weekday name according to the current locale.
%b The abbreviated month name according to the current locale.
%B The full month name according to the current locale.
%c The preferred date and time representation for the current locale.
%C Text defined by the text_event feature
%d The day of the month as a decimal number (range 01 to 31).
%D Number of pixels detected as Motion. If labelling is enabled the number is the number of pixels in
the largest labelled motion area.
%E Modifier: use alternative format, see below.
%f File name - used in the on_picture_save, on_movie_start, on_movie_end, and sql_query features.
%F Equivalent to %Y-%m-%d (the ISO 8601 date format).
%h The height of the image.
%H The hour as a decimal number using a 24-hour clock (range 00 to 23).
%i Width of the rectangle containing the motion pixels (the rectangle that is shown on the image when
locate is on).
%I The hour as a decimal number using a 12-hour clock (range 01 to 12).
%j The day of the year as a decimal number (range 001 to 366).
%J Height of the rectangle containing the motion pixels (the rectangle that is shown on the image
when locate is on).
%k The hour (24-hour clock) as a decimal number (range 0 to 23); single digits are preceded by a
blank. (See also %H.)
%K X coordinate in pixels of the center point of motion. Origin is upper left corner.
%l The hour (12-hour clock) as a decimal number (range 1 to 12); single digits are preceded by a
blank. (See also %I.)
%L Y coordinate in pixels of the center point of motion. Origin is upper left corner and number is
positive moving downwards (I may change this soon).
%m The month as a decimal number (range 01 to 12).
%M The minute as a decimal number (range 00 to 59).
%n Filetype as used in the on_picture_save, on_movie_start, on_movie_end, and sql_query features.
%N Noise level.
%o Threshold. The number of detected pixels required to trigger motion. When threshold_tune is 'on'
this can be used to show the current tuned value of threshold.
%p Either 'AM' or 'PM' according to the given time value, or the corresponding strings for the
current locale. Noon is treated as `pm' and midnight as `am'.
%P Like %p but in lowercase: `am' or `pm' or a corresponding string for the current locale.
%q Picture frame number within current second. For jpeg filenames this should always be included in
the filename if you save more then 1 picture per second to ensure unique filenames. It is not
needed in filenames for mpegs.
%Q Number of detected labels found by the despeckle feature
%r The time in a.m. or p.m. notation.
%R The time in 24-hour notation (%H:%M).
%s The number of seconds since the Epoch, i.e., since 1970-01-01 00:00:00 UTC.
%S The second as a decimal number (range 00 to 61).
%t Camera ID number
%T The time in 24-hour notation (%H:%M:%S).
%u The day of the week as a decimal, range 1 to 7, Monday being 1. See also %w.
%U The week number of the current year as a decimal number, range 00 to 53, starting with the first
Sunday as the first day of week 01. See also %V and %W.
%v Event number. An event is a series of motion detections happening with less than 'gap' seconds
between them.
%V The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week
1 is the first week that has at least 4 days in the current year, and with Monday as the first day
of the week. See also %U and %W.
%w The day of the week as a decimal, range 0 to 6, Sunday being 0. See also %u.
%W The week number of the current year as a decimal number, range 00 to 53, starting with the first
Monday as the first day of week 01.
%x The preferred date representation for the current locale without the time.
%X The preferred time representation for the current locale without the date.
%y The year as a decimal number without a century (range 00 to 99).
%Y The year as a decimal number including the century.
%z The time-zone as hour offset from GMT.
%Z The time zone or name or abbreviation.
%$ The camera name.
%{host}
The computer host name
%{fps} The frame per seconds.
%{dbeventid}
The id number returned from mysql_insert_id.
%{ver} The version number of Motion.
More information
Motion homepage: https://motion-project.github.io/
Motion Guide (user and installation guide):
AUTHORS
Jeroen Vreeken (pe1rxq@amsat.org), Folkert van Heusden, Kenneth Lavrsen (kenneth@lavrsen.dk), Juan Angulo
Moreno <juan@apuntale.com>, the motion-project team, and many others
Motion 2019-02-02 MOTION(1)