diff --git a/Makefile.in b/Makefile.in index 229340d..7dd6ecd 100644 --- a/Makefile.in +++ b/Makefile.in @@ -12,7 +12,6 @@ CC = @CC@ INSTALL = install -VERSION = @VERSION@ ################################################################################ # Install locations, controlled by setting configure flags. # @@ -24,14 +23,14 @@ mandir = @mandir@ sysconfdir = @sysconfdir@ datadir = @datadir@ datarootdir = @datarootdir@ -docdir = $(datadir)/doc/motion-$(VERSION) +docdir = @DOC_DIR@ examplesdir = $(docdir)/examples ################################################################################ # These variables contain compiler flags, object files to build and files to # # install. # ################################################################################ -CFLAGS = @CFLAGS@ -Wall -DVERSION=\"$(VERSION)\" -D_REENTRANT \ +CFLAGS = @CFLAGS@ -Wall -D_REENTRANT -DVERSION=\"@PACKAGE_VERSION@\" \ -Dsysconfdir=\"$(sysconfdir)\" -Ddocdir=\"$(docdir)\" LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ @@ -68,7 +67,7 @@ pre-build-info: @echo "Motion Guide contains all information you should need to get Motion up and running." @echo "Run \"make updateguide\" to download the latest version of the Motion Guide." @echo - @echo "Version: $(VERSION)" + @echo "Version: @PACKAGE_VERSION@" ifneq (,$(findstring freebsd,$(VIDEO_OBJ))) @echo "Platform: FreeBSD" else diff --git a/configure b/configure index 7d738c4..9d60c16 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61. +# Generated by GNU Autoconf 2.61 for motion 3.2.10. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. @@ -570,11 +570,11 @@ MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= +PACKAGE_NAME='motion' +PACKAGE_TARNAME='motion' +PACKAGE_VERSION='3.2.10' +PACKAGE_STRING='motion 3.2.10' +PACKAGE_BUGREPORT='' ac_unique_file="motion.c" # Factoring default headers for most tests. @@ -650,7 +650,6 @@ LIBS build_alias host_alias target_alias -VERSION VIDEO CC CFLAGS @@ -663,6 +662,7 @@ CPP GREP EGREP FFMPEG_OBJ +DOC_DIR BIN_PATH LIBOBJS LTLIBOBJS' @@ -714,7 +714,7 @@ sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE}' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' @@ -1178,7 +1178,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. +\`configure' configures motion 3.2.10 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1226,7 +1226,7 @@ Fine tuning of the installation directories: --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --docdir=DIR documentation root [DATAROOTDIR/doc/motion] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1238,7 +1238,9 @@ _ACEOF fi if test -n "$ac_init_help"; then - + case $ac_init_help in + short | recursive ) echo "Configuration of motion 3.2.10:";; + esac cat <<\_ACEOF Optional Packages: @@ -1362,7 +1364,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -configure +motion configure 3.2.10 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1376,7 +1378,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by $as_me, which was +It was created by motion $as_me 3.2.10, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -1709,6 +1711,14 @@ fi + + + + + + + + @@ -1725,9 +1735,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" -VERSION=3.2.10 - - THREAD_CFLAGS="" THREAD_CHECK="pthread.h" @@ -6971,17 +6978,21 @@ if test $prefix = "NONE";then else BIN_PATH="$BIN_PATH/$bindir" fi + DOC_DIR="$ac_default_prefix/share/doc/${PACKAGE_NAME}-${PACKAGE_VERSION}" else if test $exec_prefix = "NONE";then BIN_PATH="$prefix/bin" else BIN_PATH="$prefix/$bindir" fi + DOC_DIR="$prefix/share/doc/${PACKAGE_NAME}-${PACKAGE_VERSION}" fi -ac_config_files="$ac_config_files motion.init-FreeBSD.sh motion.init-Debian motion.init-RH motion.spec Makefile" + + +ac_config_files="$ac_config_files motion-help.conf thread1.conf thread2.conf thread3.conf thread4.conf motion-dist.conf motion.init-FreeBSD.sh motion.init-Debian motion.init-RH motion.spec Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -7379,7 +7390,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by $as_me, which was +This file was extended by motion $as_me 3.2.10, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7428,7 +7439,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -config.status +motion config.status 3.2.10 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" @@ -7536,6 +7547,12 @@ for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "motion-help.conf") CONFIG_FILES="$CONFIG_FILES motion-help.conf" ;; + "thread1.conf") CONFIG_FILES="$CONFIG_FILES thread1.conf" ;; + "thread2.conf") CONFIG_FILES="$CONFIG_FILES thread2.conf" ;; + "thread3.conf") CONFIG_FILES="$CONFIG_FILES thread3.conf" ;; + "thread4.conf") CONFIG_FILES="$CONFIG_FILES thread4.conf" ;; + "motion-dist.conf") CONFIG_FILES="$CONFIG_FILES motion-dist.conf" ;; "motion.init-FreeBSD.sh") CONFIG_FILES="$CONFIG_FILES motion.init-FreeBSD.sh" ;; "motion.init-Debian") CONFIG_FILES="$CONFIG_FILES motion.init-Debian" ;; "motion.init-RH") CONFIG_FILES="$CONFIG_FILES motion.init-RH" ;; @@ -7639,7 +7656,6 @@ LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim -VERSION!$VERSION$ac_delim VIDEO!$VIDEO$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim @@ -7652,6 +7668,7 @@ CPP!$CPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim FFMPEG_OBJ!$FFMPEG_OBJ$ac_delim +DOC_DIR!$DOC_DIR$ac_delim BIN_PATH!$BIN_PATH$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim @@ -8083,9 +8100,10 @@ fi echo "" -echo " ************************" -echo " * Configure status *" -echo " ************************" +echo " *********************" +echo " Configure status " +echo " ${PACKAGE_NAME} ${PACKAGE_VERSION}" +echo " *********************" echo "" diff --git a/configure.in b/configure.in index 3dd3426..4e812aa 100644 --- a/configure.in +++ b/configure.in @@ -1,11 +1,8 @@ dnl Process this file with autoconf to produce a configure script -AC_INIT +AC_INIT(motion,3.2.10) AC_CONFIG_SRCDIR([motion.c]) AC_CONFIG_HEADERS(config.h) -VERSION=3.2.10 -AC_SUBST(VERSION) - THREAD_CFLAGS="" THREAD_CHECK="pthread.h" @@ -974,17 +971,27 @@ if test $prefix = "NONE";then else BIN_PATH="$BIN_PATH/$bindir" fi + DOC_DIR="$ac_default_prefix/share/doc/${PACKAGE_NAME}-${PACKAGE_VERSION}" else if test $exec_prefix = "NONE";then BIN_PATH="$prefix/bin" else BIN_PATH="$prefix/$bindir" fi + DOC_DIR="$prefix/share/doc/${PACKAGE_NAME}-${PACKAGE_VERSION}" fi + +AC_SUBST(DOC_DIR) AC_SUBST(BIN_PATH) -AC_CONFIG_FILES([motion.init-FreeBSD.sh +AC_CONFIG_FILES([motion-help.conf +thread1.conf +thread2.conf +thread3.conf +thread4.conf +motion-dist.conf +motion.init-FreeBSD.sh motion.init-Debian motion.init-RH motion.spec @@ -993,9 +1000,10 @@ Makefile AC_OUTPUT echo "" -echo " ************************" -echo " * Configure status *" -echo " ************************" +echo " *********************" +echo " Configure status " +echo " ${PACKAGE_NAME} ${PACKAGE_VERSION}" +echo " *********************" echo "" diff --git a/motion-dist.conf.in b/motion-dist.conf.in new file mode 100644 index 0000000..5a8c781 --- /dev/null +++ b/motion-dist.conf.in @@ -0,0 +1,620 @@ +# Rename this distribution example file to motion.conf +# +# This config file was generated by @PACKAGE_NAME@ @PACKAGE_VERSION@ + + +############################################################ +# Daemon +############################################################ + +# Start in daemon (background) mode and release terminal (default: off) +daemon on + +# File to store the process ID, also called pid file. (default: not defined) +process_id_file /var/run/motion/motion.pid + +############################################################ +# Basic Setup Mode +############################################################ + +# Start in Setup-Mode, daemon disabled. (default: off) +setup_mode off + +########################################################### +# Capture device options +############################################################ + +# Videodevice to be used for capturing (default /dev/video0) +# for FreeBSD default is /dev/bktr0 +videodevice /dev/video0 + +# v4l2_palette allow to choose preferable palette to be use by motion +# to capture from those supported by your videodevice. ( default: 8) +# i.ex if your videodevice supports V4L2_PIX_FMT_SBGGR8 and +# V4L2_PIX_FMT_MJPEG by default motion will use V4L2_PIX_FMT_MJPEG so +# set v4l2_palette 1 to force motion use V4L2_PIX_FMT_SBGGR8 instead. +# +# Values : +# +# V4L2_PIX_FMT_SN9C10X : 0 'S910' +# V4L2_PIX_FMT_SBGGR8 : 1 'BA81' +# V4L2_PIX_FMT_MJPEG : 2 'MJPEG' +# V4L2_PIX_FMT_JPEG : 3 'JPEG' +# V4L2_PIX_FMT_RGB24 : 4 'RGB3' +# V4L2_PIX_FMT_UYVY : 5 'UYVY' +# V4L2_PIX_FMT_YUYV : 6 'YUYV' +# V4L2_PIX_FMT_YUV422P : 7 '422P' +# V4L2_PIX_FMT_YUV420 : 8 'YU12' +v4l2_palette 8 + +# Tuner device to be used for capturing using tuner as source (default /dev/tuner0) +# This is ONLY used for FreeBSD. Leave it commented out for Linux +; tunerdevice /dev/tuner0 + +# The video input to be used (default: 8) +# Should normally be set to 1 for video/TV cards, and 8 for USB cameras +input 8 + +# The video norm to use (only for video capture and TV tuner cards) +# Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL) +norm 0 + +# The frequency to set the tuner to (kHz) (only for TV tuner cards) (default: 0) +frequency 0 + +# Rotate image this number of degrees. The rotation affects all saved images as +# well as mpeg movies. Valid values: 0 (default = no rotation), 90, 180 and 270. +rotate 0 + +# Image width (pixels). Valid range: Camera dependent, default: 352 +width 320 + +# Image height (pixels). Valid range: Camera dependent, default: 288 +height 240 + +# Maximum number of frames to be captured per second. +# Valid range: 2-100. Default: 100 (almost no limit). +framerate 2 + +# Minimum time in seconds between capturing picture frames from the camera. +# Default: 0 = disabled - the capture rate is given by the camera framerate. +# This option is used when you want to capture images at a rate lower than 2 per second. +minimum_frame_time 0 + +# URL to use if you are using a network camera, size will be autodetected (incl http:// ftp:// or file:///) +# Must be a URL that returns single jpeg pictures or a raw mjpeg stream. Default: Not defined +; netcam_url value + +# Username and password for network camera (only if required). Default: not defined +# Syntax is user:password +; netcam_userpass value + +# URL to use for a netcam proxy server, if required, e.g. "http://myproxy". +# If a port number other than 80 is needed, use "http://myproxy:1234". +# Default: not defined +; netcam_proxy value + +# Let motion regulate the brightness of a video device (default: off). +# 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 +auto_brightness off + +# Set 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. +# Valid range 0-255, default 0 = disabled +brightness 0 + +# Set the contrast of a video device. +# Valid range 0-255, default 0 = disabled +contrast 0 + +# Set the saturation of a video device. +# Valid range 0-255, default 0 = disabled +saturation 0 + +# Set the hue of a video device (NTSC feature). +# Valid range 0-255, default 0 = disabled +hue 0 + + +############################################################ +# Round Robin (multiple inputs on same video device name) +############################################################ + +# Number of frames to capture in each roundrobin step (default: 1) +roundrobin_frames 1 + +# Number of frames to skip before each roundrobin step (default: 1) +roundrobin_skip 1 + +# Try to filter out noise generated by roundrobin (default: off) +switchfilter off + + +############################################################ +# Motion Detection Settings: +############################################################ + +# Threshold for number of changed pixels in an image that +# triggers motion detection (default: 1500) +threshold 1500 + +# Automatically tune the threshold down if possible (default: off) +threshold_tune off + +# Noise threshold for the motion detection (default: 32) +noise_level 32 + +# Automatically tune the noise threshold (default: on) +noise_tune on + +# Despeckle motion image using (e)rode or (d)ilate or (l)abel (Default: not defined) +# Recommended value is EedDl. Any combination (and number of) of E, e, d, and D is valid. +# (l)abeling must only be used once and the 'l' must be the last letter. +# Comment out to disable +despeckle EedDl + +# Detect motion in predefined areas (1 - 9). Areas are numbered like that: 1 2 3 +# A script (on_area_detected) is started immediately when motion is 4 5 6 +# detected in one of the given areas, but only once during an event. 7 8 9 +# One or more areas can be specified with this option. (Default: not defined) +; area_detect value + +# PGM file to use as a sensitivity mask. +# Full path name to. (Default: not defined) +; mask_file value + +# Dynamically create a mask file during operation (default: 0) +# Adjust speed of mask changes from 0 (off) to 10 (fast) +smart_mask_speed 0 + +# Ignore sudden massive light intensity changes given as a percentage of the picture +# area that changed intensity. Valid range: 0 - 100 , default: 0 = disabled +lightswitch 0 + +# Picture frames must contain motion at least the specified number of frames +# in a row before they are detected as true motion. At the default of 1, all +# motion is detected. Valid range: 1 to thousands, recommended 1-5 +minimum_motion_frames 1 + +# Specifies the number of pre-captured (buffered) pictures from before motion +# was detected that will be output at motion detection. +# Recommended range: 0 to 5 (default: 0) +# Do not use large values! Large values will cause Motion to skip video frames and +# cause unsmooth mpegs. To smooth mpegs use larger values of post_capture instead. +pre_capture 0 + +# Number of frames to capture after motion is no longer detected (default: 0) +post_capture 0 + +# Gap is the seconds of no motion detection that triggers the end of an event +# An event is defined as a series of motion images taken within a short timeframe. +# Recommended value is 60 seconds (Default). The value 0 is allowed and disables +# events causing all Motion to be written to one single mpeg file and no pre_capture. +gap 60 + +# Maximum length in seconds of an mpeg movie +# When value is exceeded a new mpeg file is created. (Default: 0 = infinite) +max_mpeg_time 0 + +# Always save images even if there was no motion (default: off) +output_all off + + +############################################################ +# Image File Output +############################################################ + +# Output 'normal' pictures when motion is detected (default: on) +# Valid values: on, off, first, best, center +# 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_normal on + +# Output pictures with only the pixels moving object (ghost images) (default: off) +output_motion off + +# The quality (in percent) to be used by the jpeg compression (default: 75) +quality 75 + +# Output ppm images instead of jpeg (default: off) +ppm off + + +############################################################ +# FFMPEG related options +# Film (mpeg) file output, and deinterlacing of the video input +# The options movie_filename and timelapse_filename are also used +# by the ffmpeg feature +############################################################ + +# Use ffmpeg to encode mpeg movies in realtime (default: off) +ffmpeg_cap_new on + +# Use ffmpeg to make movies with only the pixels moving +# object (ghost images) (default: off) +ffmpeg_cap_motion off + +# Use ffmpeg to encode a timelapse movie +# Default value 0 = off - else save frame every Nth second +ffmpeg_timelapse 0 + +# The file rollover mode of the timelapse video +# Valid values: hourly, daily (default), weekly-sunday, weekly-monday, monthly, manual +ffmpeg_timelapse_mode daily + +# Bitrate to be used by the ffmpeg encoder (default: 400000) +# This option is ignored if ffmpeg_variable_bitrate is not 0 (disabled) +ffmpeg_bps 500000 + +# Enables and defines variable bitrate for the ffmpeg encoder. +# ffmpeg_bps is ignored if variable bitrate is enabled. +# Valid values: 0 (default) = fixed bitrate defined by ffmpeg_bps, +# or the range 2 - 31 where 2 means best quality and 31 is worst. +ffmpeg_variable_bitrate 0 + +# Codec to used by ffmpeg for the video compression. +# Timelapse mpegs are always made in mpeg1 format independent from this option. +# Supported formats are: mpeg1 (ffmpeg-0.4.8 only), mpeg4 (default), and msmpeg4. +# mpeg1 - gives you files with extension .mpg +# mpeg4 or msmpeg4 - gives you files with extension .avi +# msmpeg4 is recommended for use with Windows Media Player because +# it requires no installation of codec on the Windows client. +# swf - gives you a flash film with extension .swf +# flv - gives you a flash video with extension .flv +# ffv1 - FF video codec 1 for Lossless Encoding ( experimental ) +ffmpeg_video_codec mpeg4 + +# Use ffmpeg to deinterlace video. Necessary if you use an analog camera +# and see horizontal combing on moving objects in video or pictures. +# (default: off) +ffmpeg_deinterlace off + + +############################################################ +# Snapshots (Traditional Periodic Webcam File Output) +############################################################ + +# Make automated snapshot every N seconds (default: 0 = disabled) +snapshot_interval 0 + + +############################################################ +# Text Display +# %Y = year, %m = month, %d = date, +# %H = hour, %M = minute, %S = second, %T = HH:MM:SS, +# %v = event, %q = frame number, %t = thread (camera) number, +# %D = changed pixels, %N = noise level, \n = new line, +# %i and %J = width and height of motion area, +# %K and %L = X and Y coordinates of motion center +# %C = value defined by text_event - do not use with text_event! +# You can put quotation marks around the text to allow +# leading spaces +############################################################ + +# Locate and draw a box around the moving object. +# Valid values: on, off and preview (default: off) +# Set to 'preview' will only draw a box in preview_shot pictures. +locate off + +# Draws the timestamp using same options as C function strftime(3) +# Default: %Y-%m-%d\n%T = date in ISO format and time in 24 hour clock +# Text is placed in lower right corner +text_right %Y-%m-%d\n%T-%q + +# Draw a user defined text on the images using same options as C function strftime(3) +# Default: Not defined = no text +# Text is placed in lower left corner +; text_left CAMERA %t + +# Draw the number of changed pixed on the images (default: off) +# Will normally be set to off except when you setup and adjust the motion settings +# Text is placed in upper right corner +text_changes off + +# This option defines the value of the special event conversion specifier %C +# You 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. +# Default: %Y%m%d%H%M%S +# The idea is that %C can be used filenames and text_left/right for creating +# a unique identifier for each event. +text_event %Y%m%d%H%M%S + +# Draw characters at twice normal size on images. (default: off) +text_double off + + +############################################################ +# Target Directories and filenames For Images And Films +# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename +# you can use conversion specifiers +# %Y = year, %m = month, %d = date, +# %H = hour, %M = minute, %S = second, +# %v = event, %q = frame number, %t = thread (camera) number, +# %D = changed pixels, %N = noise level, +# %i and %J = width and height of motion area, +# %K and %L = X and Y coordinates of motion center +# %C = value defined by text_event +# Quotation marks round string are allowed. +############################################################ + +# Target base directory for pictures and films +# Recommended to use absolute path. (Default: current working directory) +target_dir /usr/local/apache2/htdocs/cam1 + +# File path for snapshots (jpeg or ppm) relative to target_dir +# Default: %v-%Y%m%d%H%M%S-snapshot +# Default value is equivalent to legacy oldlayout option +# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-snapshot +# File extension .jpg or .ppm is automatically added so do not include this. +# Note: A symbolic link called lastsnap.jpg created in the target_dir will always +# point to the latest snapshot, unless snapshot_filename is exactly 'lastsnap' +snapshot_filename %v-%Y%m%d%H%M%S-snapshot + +# File path for motion triggered images (jpeg or ppm) relative to target_dir +# Default: %v-%Y%m%d%H%M%S-%q +# Default value is equivalent to legacy oldlayout option +# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-%q +# File extension .jpg or .ppm is automatically added so do not include this +# Set to 'preview' together with best-preview feature enables special naming +# convention for preview shots. See motion guide for details +jpeg_filename %v-%Y%m%d%H%M%S-%q + +# File path for motion triggered ffmpeg films (mpeg) relative to target_dir +# Default: %v-%Y%m%d%H%M%S +# Default value is equivalent to legacy oldlayout option +# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H%M%S +# File extension .mpg or .avi is automatically added so do not include this +# This option was previously called ffmpeg_filename +movie_filename %v-%Y%m%d%H%M%S + +# File path for timelapse mpegs relative to target_dir +# Default: %Y%m%d-timelapse +# Default value is near equivalent to legacy oldlayout option +# For Motion 3.0 compatible mode choose: %Y/%m/%d-timelapse +# File extension .mpg is automatically added so do not include this +timelapse_filename %Y%m%d-timelapse + + +############################################################ +# Live Webcam Server +############################################################ + +# The mini-http server listens to this port for requests (default: 0 = disabled) +webcam_port 8081 + +# Quality of the jpeg images produced (default: 50) +webcam_quality 50 + +# Output frames at 1 fps when no motion is detected and increase to the +# rate given by webcam_maxrate when motion is detected (default: off) +webcam_motion off + +# Maximum framerate for webcam streams (default: 1) +webcam_maxrate 1 + +# Restrict webcam connections to localhost only (default: on) +webcam_localhost on + +# Limits the number of images per connection (default: 0 = unlimited) +# Number can be defined by multiplying actual webcam rate by desired number of seconds +# Actual webcam rate is the smallest of the numbers framerate and webcam_maxrate +webcam_limit 0 + + +############################################################ +# HTTP Based Control +############################################################ + +# TCP/IP port for the http server to listen on (default: 0 = disabled) +control_port 8080 + +# Restrict control connections to localhost only (default: on) +control_localhost on + +# Output for http server, select off to choose raw text plain (default: on) +control_html_output on + +# Authentication for the http based control. Syntax username:password +# Default: not defined (Disabled) +; control_authentication username:password + + +############################################################ +# Tracking (Pan/Tilt) +############################################################ + +# Type of tracker (0=none (default), 1=stepper, 2=iomojo, 3=pwc, 4=generic, 5=uvcvideo) +# 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_type 0 + +# Enable auto tracking (default: off) +track_auto off + +# Serial port of motor (default: none) +; track_port value + +# Motor number for x-axis (default: -1) +track_motorx -1 + +# Motor number for y-axis (default: -1) +track_motory -1 + +# Maximum value on x-axis (default: 0) +track_maxx 0 + +# Maximum value on y-axis (default: 0) +track_maxy 0 + +# ID of an iomojo camera if used (default: 0) +track_iomojo_id 0 + +# Angle in degrees the camera moves per step on the X-axis +# with auto-track (default: 10) +# Currently only used with pwc type cameras +track_step_angle_x 10 + +# Angle in degrees the camera moves per step on the Y-axis +# with auto-track (default: 10) +# Currently only used with pwc type cameras +track_step_angle_y 10 + +# Delay to wait for after tracking movement as number +# of picture frames (default: 10) +track_move_wait 10 + +# Speed to set the motor to (stepper motor option) (default: 255) +track_speed 255 + +# Number of steps to make (stepper motor option) (default: 40) +track_stepsize 40 + + +############################################################ +# External Commands, Warnings and Logging: +# You can use conversion specifiers for the on_xxxx commands +# %Y = year, %m = month, %d = date, +# %H = hour, %M = minute, %S = second, +# %v = event, %q = frame number, %t = thread (camera) number, +# %D = changed pixels, %N = noise level, +# %i and %J = width and height of motion area, +# %K and %L = X and Y coordinates of motion center +# %C = value defined by text_event +# %f = filename with full path +# %n = number indicating filetype +# Both %f and %n are only defined for on_picture_save, +# on_movie_start and on_movie_end +# Quotation marks round string are allowed. +############################################################ + +# Do not sound beeps when detecting motion (default: on) +# Note: Motion never beeps when running in daemon mode. +quiet on + +# Command to be executed when an event starts. (default: none) +# An event starts at first motion detected after a period of no motion defined by gap +; on_event_start value + +# Command to be executed when an event ends after a period of no motion +# (default: none). The period of no motion is defined by option gap. +; on_event_end value + +# Command to be executed when a picture (.ppm|.jpg) is saved (default: none) +# To give the filename as an argument to a command append it with %f +; on_picture_save value + +# Command to be executed when a motion frame is detected (default: none) +; on_motion_detected value + +# Command to be executed when motion in a predefined area is detected +# Check option 'area_detect'. (default: none) +; on_area_detected value + +# Command to be executed when a movie file (.mpg|.avi) is created. (default: none) +# To give the filename as an argument to a command append it with %f +; on_movie_start value + +# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none) +# To give the filename as an argument to a command append it with %f +; on_movie_end value + + +############################################################ +# Common Options For MySQL and PostgreSQL database features. +# Options require the MySQL/PostgreSQL options to be active also. +############################################################ + +# Log to the database when creating motion triggered image file (default: on) +sql_log_image on + +# Log to the database when creating a snapshot image file (default: on) +sql_log_snapshot on + +# Log to the database when creating motion triggered mpeg file (default: off) +sql_log_mpeg off + +# Log to the database when creating timelapse mpeg file (default: off) +sql_log_timelapse off + +# SQL query string that is sent to the database +# Use same conversion specifiers has for text features +# Additional special conversion specifiers are +# %n = the number representing the file_type +# %f = filename with full path +# Default value: +# insert into security(camera, filename, frame, file_type, time_stamp, text_event) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C') +sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C') + + +############################################################ +# Database Options For MySQL +############################################################ + +# Mysql database to log to (default: not defined) +; mysql_db value + +# The host on which the database is located (default: localhost) +; mysql_host value + +# User account name for MySQL database (default: not defined) +; mysql_user value + +# User password for MySQL database (default: not defined) +; mysql_password value + + +############################################################ +# Database Options For PostgreSQL +############################################################ + +# PostgreSQL database to log to (default: not defined) +; pgsql_db value + +# The host on which the database is located (default: localhost) +; pgsql_host value + +# User account name for PostgreSQL database (default: not defined) +; pgsql_user value + +# User password for PostgreSQL database (default: not defined) +; pgsql_password value + +# Port on which the PostgreSQL database is located (default: 5432) +; pgsql_port 5432 + + +############################################################ +# Video Loopback Device (vloopback project) +############################################################ + +# Output images to a video4linux loopback device +# The value '-' means next available (default: not defined) +; video_pipe value + +# Output motion images to a video4linux loopback device +# The value '-' means next available (default: not defined) +; motion_video_pipe value + + +############################################################## +# Thread config files - One for each camera. +# Except if only one camera - You only need this config file. +# If you have more than one camera you MUST define one thread +# config file for each camera in addition to this config file. +############################################################## + +# Remember: If you have more than one camera you must have one +# thread file for each camera. E.g. 2 cameras requires 3 files: +# This motion.conf file AND thread1.conf and thread2.conf. +# Only put the options that are unique to each camera in the +# thread config files. +; thread /usr/local/etc/thread1.conf +; thread /usr/local/etc/thread2.conf +; thread /usr/local/etc/thread3.conf +; thread /usr/local/etc/thread4.conf + diff --git a/motion-help.conf.in b/motion-help.conf.in new file mode 100644 index 0000000..25c461b --- /dev/null +++ b/motion-help.conf.in @@ -0,0 +1,3 @@ + + AllowOverride All + diff --git a/motion.init-Debian.in b/motion.init-Debian.in index fbca5a5..3632a54 100644 --- a/motion.init-Debian.in +++ b/motion.init-Debian.in @@ -1,12 +1,13 @@ #! /bin/bash # -# motion Start the motion detection . +# @PACKAGE_NAME@ @PACKAGE_VERSION@ +# Start the motion detection . # -NAME=motion +NAME=@PACKAGE_NAME@ PATH=/bin:/usr/bin:/sbin:/usr/sbin -DAEMON=@BIN_PATH@/motion -PIDFILE=/var/run/motion/$NAME.pid +DAEMON=@BIN_PATH@/@PACKAGE_NAME@ +PIDFILE=/var/run/@PACKAGE_NAME@/$NAME.pid trap "" 1 @@ -18,17 +19,17 @@ test -f $DAEMON || exit 0 case "$1" in start) - echo "Starting motion detection : $NAME" + echo "Starting @PACKAGE_NAME@ detection : $NAME" start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON --chuid motion ;; stop) - echo "Stopping motion detection : $NAME" + echo "Stopping @PACKAGE_NAME@ detection : $NAME" start-stop-daemon --stop --pidfile $PIDFILE --oknodo --exec $DAEMON --retry 30 ;; status) - echo "Status motion detection : $NAME" + echo "Status @PACKAGE_NAME@ detection : $NAME" if (test -f $PIDFILE); then echo -n "Running process for $NAME : " pidof $NAME diff --git a/motion.init-FreeBSD.sh.in b/motion.init-FreeBSD.sh.in index e570704..a7b6e3d 100644 --- a/motion.init-FreeBSD.sh.in +++ b/motion.init-FreeBSD.sh.in @@ -2,12 +2,12 @@ # # motion.sh for rc.d usage 2006 Angel Carpintero # -# Add the following line in /etc/rc.conf to enable motion at startup +# Add the following line in /etc/rc.conf to enable @PACKAGE_NAME@ at startup # # motion_enable="YES" # -# PROVIDE: motion +# PROVIDE: @PACKAGE_NAME@ # REQUIRE: DAEMON # KEYWORD: shutdown @@ -15,7 +15,7 @@ motion_enable="${motion_enable-NO}" -name="motion" +name="@PACKAGE_NAME@" rcvar=`set_rcvar` command="@BIN_PATH@/${name}" diff --git a/motion.init-RH.in b/motion.init-RH.in index 8387a31..2602563 100644 --- a/motion.init-RH.in +++ b/motion.init-RH.in @@ -5,18 +5,18 @@ # chkconfig: - 85 15 # description: Motion Detection System. It is used to detect \ # movement based on compare images. -# processname: motion -# pidfile: /var/run/motion.pid -# config: /etc/motion.conf +# processname: @PACKAGE_NAME@ +# pidfile: /var/run/@PACKAGE_NAME@.pid +# config: /etc/@PACKAGE_NAME@.conf # Source function library. . /etc/rc.d/init.d/functions -motion=${MOTION-@BIN_PATH@/motion} -prog=motion -PIDFILE=/var/run/motion.pid +motion=${MOTION-@BIN_PATH@/@PACKAGE_NAME@} +prog=@PACKAGE_NAME@ +PIDFILE=/var/run/@PACKAGE_NAME@.pid RETVAL=0 @@ -25,7 +25,7 @@ start() { daemon $motion RETVAL=$? echo - [ $RETVAL = 0 ] && touch /var/lock/subsys/motion + [ $RETVAL = 0 ] && touch /var/lock/subsys/@PACKAGE_NAME@ return $RETVAL } stop() { @@ -33,7 +33,7 @@ stop() { killproc $motion RETVAL=$? echo - [ $RETVAL = 0 ] && rm -f /var/lock/subsys/motion + [ $RETVAL = 0 ] && rm -f /var/lock/subsys/@PACKAGE_NAME@ } stopsafe() { echo -n $"Stopping $prog: ( for restarting ) " @@ -41,7 +41,7 @@ stopsafe() { RETVAL=$? sleep 10s echo - [ $RETVAL = 0 ] && rm -f /var/lock/subsys/motion + [ $RETVAL = 0 ] && rm -f /var/lock/subsys/@PACKAGE_NAME@ } reload() { echo -n $"Reloading $prog: " @@ -67,7 +67,7 @@ case "$1" in start ;; condrestart) - if [ -f /var/run/motion.pid ] ; then + if [ -f /var/run/@PACKAGE_NAME@.pid ] ; then stop start fi diff --git a/motion.spec.in b/motion.spec.in index 49fd3c1..1ec2136 100644 --- a/motion.spec.in +++ b/motion.spec.in @@ -1,5 +1,5 @@ -Name: motion -Version: @VERSION@ +Name: @PACKAGE_NAME@ +Version: @PACKAGE_VERSION@ Release: 1 Summary: MOTION, a Video-surveilance-system diff --git a/thread1.conf b/thread1.conf index ed85f36..896da39 100644 --- a/thread1.conf +++ b/thread1.conf @@ -1,6 +1,6 @@ # /usr/local/etc/thread1.conf # -# This config file was generated by motion 3.2.10 +# This config file was generated by motion 3.2.10 diff --git a/thread1.conf.in b/thread1.conf.in new file mode 100644 index 0000000..5f7af60 --- /dev/null +++ b/thread1.conf.in @@ -0,0 +1,57 @@ +# /usr/local/etc/thread1.conf +# +# This config file was generated by @PACKAGE_NAME@ @PACKAGE_VERSION@ + + + +########################################################### +# Capture device options +############################################################ + +# Videodevice to be used for capturing (default /dev/video0) +# for FreeBSD default is /dev/bktr0 +videodevice /dev/video0 + +# The video input to be used (default: 8) +# Should normally be set to 1 for video/TV cards, and 8 for USB cameras +input 8 + +# Draw a user defined text on the images using same options as C function strftime(3) +# Default: Not defined = no text +# Text is placed in lower left corner +text_left CAMERA 1 + + +############################################################ +# Target Directories and filenames For Images And Films +# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename +# you can use conversion specifiers +# %Y = year, %m = month, %d = date, +# %H = hour, %M = minute, %S = second, +# %v = event, %q = frame number, %t = thread (camera) number, +# %D = changed pixels, %N = noise level, +# %i and %J = width and height of motion area, +# %K and %L = X and Y coordinates of motion center +# %C = value defined by text_event +# Quotation marks round string are allowed. +############################################################ + +# Target base directory for pictures and films +# Recommended to use absolute patch. (Default: current working directory) +target_dir /usr/local/apache2/htdocs/cam1 + + +############################################################ +# Live Webcam Server +############################################################ + +# The mini-http server listens to this port for requests (default: 0 = disabled) +webcam_port 8081 + +# Command to be executed when a picture (.ppm|.jpg) is saved (default: none) +# The filename of the picture is appended as an argument for the command. +on_picture_save /usr/local/motion-extras/camparse1.pl + +# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none) +# Filename of movie is appended as an argument for the command. +on_movie_end /usr/local/motion-extras/mpegparse1.pl diff --git a/thread2.conf.in b/thread2.conf.in new file mode 100644 index 0000000..cfd3c51 --- /dev/null +++ b/thread2.conf.in @@ -0,0 +1,58 @@ +# /usr/local/etc/thread2.conf +# +# This config file was generated by @PACKAGE_NAME@ @PACKAGE_VERSION@ + + + +########################################################### +# Capture device options +############################################################ + +# Videodevice to be used for capturing (default /dev/video0) +# for FreeBSD default is /dev/bktr0 +videodevice /dev/video1 + +# The video input to be used (default: 8) +# Should normally be set to 1 for video/TV cards, and 8 for USB cameras +input 1 + +# Draw a user defined text on the images using same options as C function strftime(3) +# Default: Not defined = no text +# Text is placed in lower left corner +text_left CAMERA 2 + + +############################################################ +# Target Directories and filenames For Images And Films +# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename +# you can use conversion specifiers +# %Y = year, %m = month, %d = date, +# %H = hour, %M = minute, %S = second, +# %v = event, %q = frame number, %t = thread (camera) number, +# %D = changed pixels, %N = noise level, +# %i and %J = width and height of motion area, +# %K and %L = X and Y coordinates of motion center +# %C = value defined by text_event +# Quotation marks round string are allowed. +############################################################ + +# Target base directory for pictures and films +# Recommended to use absolute patch. (Default: current working directory) +target_dir /usr/local/apache2/htdocs/cam2 + + +############################################################ +# Live Webcam Server +############################################################ + +# The mini-http server listens to this port for requests (default: 0 = disabled) +webcam_port 8082 + +# Command to be executed when a picture (.ppm|.jpg) is saved (default: none) +# The filename of the picture is appended as an argument for the command. +on_picture_save /usr/local/motion-extras/camparse2.pl + +# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none) +# Filename of movie is appended as an argument for the command. +on_movie_end /usr/local/motion-extras/mpegparse2.pl + diff --git a/thread3.conf b/thread3.conf index 5318e15..fd7d950 100644 --- a/thread3.conf +++ b/thread3.conf @@ -1,6 +1,6 @@ # /usr/local/etc/thread3.conf # -# This config file was generated by motion 3.2.10 +# This config file was generated by motion 3.2.10 diff --git a/thread3.conf.in b/thread3.conf.in new file mode 100644 index 0000000..cde46bd --- /dev/null +++ b/thread3.conf.in @@ -0,0 +1,60 @@ +# /usr/local/etc/thread3.conf +# +# This config file was generated by @PACKAGE_NAME@ @PACKAGE_VERSION@ + + + +########################################################### +# Capture device options +############################################################ + +# Videodevice to be used for capturing (default /dev/video0) +# for FreeBSD default is /dev/bktr0 +videodevice /dev/video2 + +# The video input to be used (default: 8) +# Should normally be set to 1 for video/TV cards, and 8 for USB cameras +input 8 + +# Draw a user defined text on the images using same options as C function strftime(3) +# Default: Not defined = no text +# Text is placed in lower left corner +text_left CAMERA 3 + + +############################################################ +# Target Directories and filenames For Images And Films +# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename +# you can use conversion specifiers +# %Y = year, %m = month, %d = date, +# %H = hour, %M = minute, %S = second, +# %v = event, %q = frame number, %t = thread (camera) number, +# %D = changed pixels, %N = noise level, +# %i and %J = width and height of motion area, +# %K and %L = X and Y coordinates of motion center +# %C = value defined by text_event +# Quotation marks round string are allowed. +############################################################ + +# Target base directory for pictures and films +# Recommended to use absolute patch. (Default: current working directory) +target_dir /usr/local/apache2/htdocs/cam3 + + +############################################################ +# Live Webcam Server +############################################################ + +# The mini-http server listens to this port for requests (default: 0 = disabled) +webcam_port 8083 + +# Command to be executed when a picture (.ppm|.jpg) is saved (default: none) +# The filename of the picture is appended as an argument for the command. +on_picture_save /usr/local/motion-extras/camparse3.pl + +# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none) +# Filename of movie is appended as an argument for the command. +on_movie_end /usr/local/motion-extras/mpegparse3.pl + + + diff --git a/thread4.conf b/thread4.conf index 89fb4fc..f5eb60b 100644 --- a/thread4.conf +++ b/thread4.conf @@ -1,6 +1,6 @@ # /usr/local/etc/thread4.conf # -# This config file was generated by motion 3.2.10 +# This config file was generated by motion 3.2.10 diff --git a/thread4.conf.in b/thread4.conf.in new file mode 100644 index 0000000..aa7b9da --- /dev/null +++ b/thread4.conf.in @@ -0,0 +1,58 @@ +# /usr/local/etc/thread4.conf +# +# This config file was generated by @PACKAGE_NAME@ @PACKAGE_VERSION@ + + + +########################################################### +# Capture device options +############################################################ + +# URL to use if you are using a network camera, size will be autodetected (incl http:// ftp:// or file:///) +# Must be a URL that returns single jpeg pictures or a raw mjpeg stream. Default: Not defined +netcam_url http://192.168.1.6:8093/ + +# The video input to be used (default: 8) +# Should normally be set to 1 for video/TV cards, and 8 for USB cameras +input 1 + +# Draw a user defined text on the images using same options as C function strftime(3) +# Default: Not defined = no text +# Text is placed in lower left corner +text_left CAMERA 4 + + +############################################################ +# Target Directories and filenames For Images And Films +# For the options snapshot_, jpeg_, mpeg_ and timelapse_filename +# you can use conversion specifiers +# %Y = year, %m = month, %d = date, +# %H = hour, %M = minute, %S = second, +# %v = event, %q = frame number, %t = thread (camera) number, +# %D = changed pixels, %N = noise level, +# %i and %J = width and height of motion area, +# %K and %L = X and Y coordinates of motion center +# %C = value defined by text_event +# Quotation marks round string are allowed. +############################################################ + +# Target base directory for pictures and films +# Recommended to use absolute patch. (Default: current working directory) +target_dir /usr/local/apache2/htdocs/cam4 + + +############################################################ +# Live Webcam Server +############################################################ + +# The mini-http server listens to this port for requests (default: 0 = disabled) +webcam_port 8084 + +# Command to be executed when a picture (.ppm|.jpg) is saved (default: none) +# The filename of the picture is appended as an argument for the command. +on_picture_save /usr/local/motion-extras/camparse4.pl + +# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none) +# Filename of movie is appended as an argument for the command. +on_movie_end /usr/local/motion-extras/mpegparse4.pl + diff --git a/webcam.c b/webcam.c index d839bfb..d324392 100644 --- a/webcam.c +++ b/webcam.c @@ -308,7 +308,7 @@ void webcam_stop(struct context *cnt) close(cnt->webcam.socket); if (cnt->conf.setup_mode) - motion_log(LOG_ERR, 1, "Closing active webcam sockets"); + motion_log(LOG_INFO, 0, "Closing active webcam sockets"); while (next) { list=next;