table of contents
MOTION(1) | Motion Options and Config Files | MOTION(1) |
NAME¶
motion - Detect motion using a video4linux device or network cameraSYNOPSIS¶
motion [ -hbnsm ] [ -c config file path ] [ -d level ] [ -k level ] [ -p process_id_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.
- process_id_file
Values: User specified string Default: Not defined Description:
File to store the process ID, also called pid file.
- setup_mode
Values: on/off Default: off Description:
Start in Setup-Mode, daemon disabled.
- logfile
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
- 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_name
Values: User specified string Default: Not Defined Description:
User specified string to describe the camera.
- videodevice
Values: User specified string Default: /dev/video0 Description:
String to specify the videodevice to be used for
capturing. For Linux, the format is usually /dev/videoX where X varies
depending upon the video devices connected to the computer. For FreeBSD the
default device would be /dev/bktr0.
- v4l2_palette
Values: 0 to 17
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'
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.
- tunerdevice
Values: User Specified String Default: /dev/tuner0 Description:
Tuner device to be used for capturing images. This is
ONLY used for FreeBSD.
- 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.
- power_line_frequency
Values:
-1 : Do not modify device setting 0 : Power line frequency Disabled 1 : 50hz 2 : 60hz 3 : Auto
Default: -1 Description:
Override the power line frequency for the video
device.
- 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.
- width
Values: Dependent upon video device Default: 352 Description:
Image width in pixels for the video device.
- height
Values: Dependent upon video device Default: off Description:
Image height in pixels for the video device
- framerate
Values: 2 - 100 Default: 100 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.
- 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
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:
- 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.
- rtsp_uses_tcp
Values: on/off Default: on Description:
When using a RTSP 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
- auto_brightness
Values: on/off Default: off Description:
The auto_brightness feature uses the brightness option as
its target value. If brightness is zero auto_brightness will adjust to average
brightness value 128. only recommended for cameras without auto
brightness.
- brightness
Values: 0 to 255 Default: 0 (Disabled) Description:
The initial brightness of a video device. If
auto_brightness is enabled, this value defines the average brightness level
which Motion will try and adjust to.
- contrast
Values: 0 to 255 Default: 0 (Disabled) Description:
The contrast value to set for the video device.
- saturation
Values: 0 to 255 Default: 0 (Disabled) Description:
The saturation value to set for the video device.
- hue
Values: 0 to 255 Default: 0 (Disabled) Description:
The hue value to set for the video device.
- 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
- switchfilter
Values: on/off Default: off Description:
Filter out noise generated by roundrobin
- threshold
Values: 1 to unlimited Default: 1500 Description:
Threshold for number of changed pixels in an image that
triggers motion detection
- 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: EedDl 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.
- smart_mask_speed
Values: 0 to 10 Default: 0 (off) Description:
Speed of mask changes when creating a dynamic mask
file.
- lightswitch
Values: 0 to 100 Default: 0 Description:
Ignore sudden massive light intensity changes. Value is a
percentage of the picture area that changed intensity.
- 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.
- 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.
- 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.
- max_movie_time
Values: 0 to unlimited Default: 0 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.
- emulate_motion
Values: on/off Default: off Description:
Always save images even if there was no motion.
- output_pictures
Values: on, off, first, best, center Default: on 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.
- output_debug_pictures
Values: on/off Default: off Description:
Output pictures with only the pixels moving object (ghost
images)
- quality
Values: 1 to 100 Default: 75 Description:
The quality (in percent) to be used by the jpeg
compression
- picture_type
Values: jpeg/ppm Default: jpeg Description:
The file type of output images
- ffmpeg_output_movies
Values: on/off Default: off Description:
Use ffmpeg to encode movies of the motion.
- ffmpeg_output_debug_movies
Values: on/off Default: off Description:
Use ffmpeg to encode movies with only the pixels moving
object (ghost images)
- ffmpeg_timelapse
Values: 0 to unlimited Default: 0 Description:
Number of seconds between frame captures for a timelapse
movie. Specify 0 to disable the timelapse.
- ffmpeg_timelapse_mode
Values:
hourly
daily
weekly-sunday
weekly-monday
monthly
manual
Default: daily Description:
File rollover mode for the timelapse video.
- ffmpeg_bps
Values: 0 to unlimited Default: 400000 Description:
Bitrate to be used by the ffmpeg encoder. This option is
ignored if ffmpeg_variable_bitrate is not 0.
- ffmpeg_variable_bitrate
Values: 0 to 100 Default: 0 Description:
Enable and define the variable bitrate for the ffmpeg
encoder. ffmpeg_bps is ignored if variable bitrate is enabled. When specified
as 0, use the fixed bitrate defined by ffmpeg_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.
- ffmpeg_video_codec
Values:
Timelapse videos:
mpg - Creates mpg file with mpeg-2 encoding. mpeg4 - Creates avi file with the default encoding.
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: mpeg4 Description:
The container and codec to use when creating videos. When
creating timelapse videos, there are only two options and the processing
varies due to container/codec limitations. 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. For regular motion videos, the container/codec must
be available in the ffmpeg installed on the computer.
- ffmpeg_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
- sdl_threadnr
Values: 0 to unlimited Default: 0 Description:
Number of motion thread to show in SDL Window
- use_extpipe
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 ffmpeg_output_movies
only. The options movie_filename and timelapse_filename are also used from the
ffmpeg feature
- 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
- 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.
- 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_right
Values: User specified string Default: %Y-%m-%d0T-%q Description:
Text to place in lower right corner of image. Format
specifiers follow C function strftime(3)
- text_left
Values: User specified string Default: CAMERA %t Description:
Text to place in lower left 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_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.
- text_double
Values: on/off Default: off Description:
Draw characters at twice normal size on images.
- exif_text
Values: User specified string Default: Not defined Description:
Text to include in a JPEG EXIF comment
- 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.
- 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 or .ppm 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.
- picture_filename
Values: User specified string Default: %v-%Y%m%d%H%M%S-%q Description:
The file path for motion triggered images (jpeg or ppm)
relative to target_dir. The file extension of .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. This option
accepts the conversion specifiers included at the end of this manual.
- 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.
- 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.
- ipv6_enabled
Values: on/off Default: off Description:
Listen to IPv6 localhost instead of IPv4
- 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_quality
Values: 1 to 100 Default: 50 Description:
The quality in percent for the jpg images streamed.
- stream_motion
Values: on/off Default: off Description:
Output frames at 1 fps when no motion is detected and
increase to the rate given by stream_maxrate when motion is detected
- stream_maxrate
Values: 1 to unlimited Default: 1 Description:
Maximum frame rate to send to stream
- stream_localhost
Values: on/off Default: off Description:
Restrict stream connections to localhost only
- stream_limit
Values: 0 to unlimited Default: 0 Description:
Limits the number of images per connection. The default
value of 0 means unlimited. The number can be defined by multiplying actual
stream rate by the desired number of seconds. The actual stream rate is the
smallest of the framerate and stream_maxrate.
- 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_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: yes/no Default: no 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.
- webcontrol_port
Values: 0 to maximum port number Default: 0 Description:
Port number for the web control / preview page.
- webcontrol_localhost
Values: on/off Default: off Description:
Restrict control connections to localhost only
- webcontrol_html_output
Values: on/off Default: on Description:
Specified whether the web control/preview page should be
raw or html format. Preview page is always html.
- webcontrol_authentication
Values:
0 = disabled 1 = Basic authentication 2 = MD5 digest (the safer authentication)
Default: 0 Description:
The authentication method to use for viewing the web
control.
- 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.
- quiet
Values: on/off Default: on Description:
Do not sound beeps when detecting motion
- 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
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.
- sql_log_picture
Values: on/off Default: on Description:
Log to the database when creating motion triggered
picture file
- sql_log_snapshot
Values: on/off Default: on 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
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')
- 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: Not Defined Description:
The name of the host on which the database is
running.
- 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_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_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
- video_pipe
Values: User specified string Default: Not Defined Description:
Output images to a video4linux loopback device. The value
'-' means next available
- motion_video_pipe
Values: User specified string Default: Not Defined Description:
Output motion images to a video4linux loopback device.
The value '-' means next available
- camera_dir
Values: User specified string Default: Not Defined Description:
This option specifies the optional subdirectory that
contains the camera config files.
- 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.
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 tread 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 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.
- 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>, and many others2016-09-28 | Motion |