|
NAMEmotion - Detect motion using a video4linux device or network cameraSYNOPSISmotion [ -hbnsm ] [ -c config file path ] [ -d level ] [ -k level ] [ -p pid_file ][ -l log_file ]DESCRIPTIONMotion 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
CONFIG FILE OPTIONSThese 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).
Values: on/off Default: off Description: When specified as ON, Motion goes into daemon (background
process) mode and releases the terminal.
Values: on/off Default: off Description: Start in Setup-Mode, daemon disabled.
Values: User specified string Default: Not defined Description: File to store the process ID, also called pid file.
Values: User specified string Default: Not Defined Description: File to save logs messages, if not defined stderr and
syslog is used.
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.
Values: COR, STR, ENC, NET, DBL, EVT, TRK, VID, ALL Default: ALL Description: Filter to log messages by type
Values: on/off Default: on Description: Do not sound beeps when detecting motion
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.
Values: User specified string Default: Not Defined Description: User specified string to describe the camera.
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.
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.
Values: User specified string Default: Not Defined Description: This option specifies the optional subdirectory that
contains the camera config files.
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.
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.
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.
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.
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.
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
Values: Dependent upon video device Default: 0 Description: The frequency to set the tuner in kHz when using a TV
tuner card.
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.
Values: User Specified String Default: /dev/tuner0 Description: Tuner device to be used for capturing images. This is
ONLY used for FreeBSD.
Values: 1 to unlimited Default: 1 Description: Number of frames to capture in each roundrobin step
Values: 1 to unlimited Default: 1 Description: Number of frames to skip before each roundrobin
step
Values: on/off Default: off Description: Filter out noise generated by roundrobin
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.
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.
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.
Values: User specified string Default: Not Defined Description: User requested decoder to use for network cameras.
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.
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".
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.
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.
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
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
Values: Dependent upon video device Default: 640 Description: Image width in pixels for the video device.
Values: Dependent upon video device Default: 480 Description: Image height in pixels for the video device
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.
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.
Values: 0, 90, 180, 270 Default: 0 Description: Rotate image this number of degrees. The rotation affects
all saved images as well as movies.
Values: none, v, h Default: none Description: Flip the images vertically or horizontally. The flip
affects all saved images as well as movies.
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.
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.
Values: User specified string Default: Not defined Description: Text to place in lower left corner of image. Format
specifiers follow C function strftime(3)
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)
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.
Values: 1 to 10 Default: 1 Description: The scale at which to draw text over the image.
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.
Values: on/off Default: off Description: Always save images even if there was no motion.
Values: 1 to unlimited Default: 1500 Description: Threshold for number of changed pixels in an image that
triggers motion detection
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.
Values: on/off Default: off Description: Automatically tune the threshold down if possible.
Values: 1 to unlimited Default: 32 Description: Noise threshold for the motion detection.
Values: on/off Default: on Description: Automatically tune the noise threshold
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
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
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.
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.
Values: 0 to 10 Default: 0 (off) Description: Speed of mask changes when creating a dynamic mask
file.
Values: 0 to 100 Default: 0 Description: Ignore sudden massive light intensity changes. Triggers
when the percentage of the picture area that changed intensity is greater than
this value.
Values: 1 to 1000 Default: 5 Description: Number of frames to ignore when lightswitch has been
triggered.
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.
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.
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.
Values: 0 to unlimited Default: 0 Description: Number of frames to capture after motion is no longer
detected.
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.
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.
Values: on/off Default: off Description: Output pictures with only the pixels moving object (ghost
images)
Values: jpeg/ppm/webp Default: jpeg Description: The file type of output images
Values: 1 to 100 Default: 75 Description: The quality (in percent) to be used by the jpeg and webp
compression
Values: User specified string Default: Not defined Description: Text to include in a JPEG EXIF comment
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.
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.
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.
Values: on/off Default: on Description: Use ffmpeg to encode movies of the motion.
Values: on/off Default: off Description: Use ffmpeg to encode movies with only the pixels moving
object (ghost images)
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.
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.
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.
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.
Values: on/off Default: off Description: When creating videos, should frames be duplicated in
order to keep up with the requested frames per second
Values: on/off Default: off Description: When using a rtsp camera, make movies without decoding
the stream.
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.
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
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
Values: 0 to unlimited Default: 0 Description: Number of seconds between frame captures for a timelapse
movie. Specify 0 to disable the timelapse.
Values: hourly Default: daily Description: File rollover mode for the timelapse video.
Values: 0 to unlimited Default: 30 Description: Frames per second used for playback of the timelapse
video.
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.
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.
Values: User specified string Default: Not Defined Description: Output images to a video4linux loopback device.
Values: User specified string Default: Not Defined Description: Output motion images to a video4linux loopback
device.
Values: 0 to maximum port number Default: 0 Description: Port number for the web control / preview page.
Values: on/off Default: off Description: Listen to IPv6 localhost instead of IPv4. This option is
also applicable for all streams.
Values: on/off Default: on Description: Restrict control connections to localhost only
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.
Values: 0-2 Default: 0 Description: Specified the web control interface type. 0=css, 1=text,
2=legacy
Values: 0 = disabled 1 = Basic authentication 2 = MD5 digest (the safer authentication) Default: 0 Description: The authentication method to use for the
webcontrol.
Values: User specified string Default: Not defined Description: The username and password to use for authentication of
the webcontrol. The format is Username:Password
Values: on/off Default: off Description: When specified as on, use SSL/TLS for the
webcontrol.
Values: User specified string Default: Not defined Description: The full path to the SSL certification file for
webcontrol
Values: User specified string Default: Not defined Description: The full path to the SSL key file for webcontrol
Values: User specified string Default: Not defined Description: The header to add for cross orgin on the webcontrol
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.
Values: on/off Default: on Description: Restrict stream connections to localhost only
Values: 0 = disabled 1 = Basic authentication 2 = MD5 digest (the safer authentication) Default: 0 Description: The authentication method to use for viewing the
stream.
Values: User specified string Default: Not defined Description: The username and password to use for authentication of
the stream. The format is Username:Password
Values: on/off Default: off Description: When specified as on, use SSL/TLS for the stream
port.
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.
Values: 1 to 100 Default: 25 Description: This defines what percentage the stream image should be
scaled to for the preview page
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.
Values: 0 to 2 Default: 0 Description: Method to display images on webcontrol page. 0=Full,
1=Substream, 2=Static
Values: 1 to 100 Default: 50 Description: The quality in percent for the jpg images streamed.
Values: on/off Default: off Description: Send the live stream of the camera in grey (black and
white) instead of color.
Values: 1 to unlimited Default: 1 Description: Maximum frame rate to send to stream
Values: on,off Default: off Description: Limit stream to 1 fps when no motion is being
detected.
Values: mysql, postgresql, sqlite3 Default: Not defined Description: The type of database being used.
Values: User defined string Default: Not defined Description: The name of the database being used (dbname). For
Sqlite3, the full path to the database.
Values: User defined string Default: localhost Description: The name of the host on which the database is
running.
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
Values: User defined string Default: Not Defined Description: The username to access the database
Values: User defined string Default: Not Defined Description: The database password for the user to access the
database.
Values: 0 to unlimited Default: 0 Description: Database wait time in milliseconds for locked database to
be unlocked before returning database locked error
Values: on/off Default: off Description: Log to the database when creating motion triggered
picture file
Values: on/off Default: off Description: Log to the database when creating a snapshot image
file
Values: on/off Default: off Description: Log to the database when creating motion triggered movie
file
Values: on/off Default: off Description: Log to the database when creating timelapse movies
file
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.
Values: User defined string Default: Not defined Description: SQL statement to execute at the end of a event.
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')
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
Values: on/off Default: off Description: Enables/disables the automatic tracking.
Values: User specified string Default: Not defined Description: The serial port of the motor. For example
/dev/ttyS0
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.
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.
SIGNALSMotion responds to the following signals:
NOTES
AUTHORSJeroen 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
Visit the GSP FreeBSD Man Page Interface. |