Motion
Motion
Motion, a software motion detector - http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome
Installation
Raspberry Pi:
apt-get install motion
RHEL 6:
# install RPM Fusion - couldn't get to work :-( yum install motion
Manual Installation:
yum install gcc make libjpeg-devel # assuming needing gcc make and others?
mkdir -p ~/.src ; cd ~/.src # wget http://sourceforge.net/projects/motion/files/latest/download?source=files -O motion-latest.tar.gz wget http://sourceforge.net/projects/motion/files/motion%20-%203.2/3.2.12/motion-3.2.12.tar.gz/download -O motion-3.2.12.tar.gz tar -zvxf motion-3.2.12.tar.gz cd motion-3.2.12 ./configure --prefix=/opt/motion make clean make sudo make install
sudo ln -s /opt/motion/etc /etc/motion sudo cp /opt/motion/etc/motion-dist.conf /opt/motion/etc/motion.conf sudo /opt/motion/bin/motion
Config
ConfigFileOptions < Motion < Foswiki - http://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions
/etc/motion/motion.conf:
# ubuntu # process_id_file /var/run/motion/motion.pid daemon on process_id_file /var/run/motion.pid videodevice /dev/video0 width 320 height 240 # width 640 # height 480 framerate 2 minimum_frame_time 1 text_right %Y-%m-%d\n%T-%q text_left My Camera target_dir /pub/cam/mycam jpeg_filename %Y-%m-%d/%Y-%m-%d-%H-%M-%S-%q webcam_port 8081 webcam_localhost off # on_picture_save /etc/motion/motion-latest %f on_picture_save logger -t mycam %f
To basically disable the images: (overwrites same file continually)
target_dir /tmp jpeg_filename motion.conf
Prime
/etc/motion/motion.conf:
daemon on process_id_file /var/run/motion.pid thread /etc/motion/familyroom.conf thread /etc/motion/kendesk.conf
/etc/motion/familyroom.conf:
netcam_url http://10.10.10.65/video.cgi netcam_userpass admin: width 320 height 240 framerate 2 minimum_frame_time 1 text_right %Y-%m-%d\n%T-%q #text_left CAMERA %t text_left Family Room target_dir /pub/cam/familyroom jpeg_filename %Y-%m-%d/%Y-%m-%d-%H-%M-%S-%q webcam_port 8081 webcam_localhost off on_picture_save logger -t cam-familyroom %f
/etc/motion/kendesk.conf:
netcam_url http://10.10.10.61:8080/videofeed #width 320 #height 240 framerate 2 minimum_frame_time 1 text_right %Y-%m-%d\n%T-%q #text_left CAMERA %t text_left Ken Desk target_dir /pub/cam/kendesk jpeg_filename %Y-%m-%d/%Y-%m-%d-%H-%M-%S-%q webcam_port 8082 webcam_localhost off on_picture_save logger -t cam-kendesk %f
D-Link DCS-930L Wireless Net Camera
DLink < Motion < Foswiki - http://www.lavrsen.dk/foswiki/bin/view/Motion/DLink
JPEG: netcam_url http://xx.xx.xx.xx/IMAGE.JPG (for single JPEG images) MJPEG: netcam_url http://xx.xx.xx.xx/VIDEO.CGI ( preferred for streaming MJPEG video) JPEG: netcam_url http://my.camera.ip.address/image.jpg MJPEG: netcam_url =http://my.camera.ip.address/video.cgi?showlength=1= or just video.cgi
MJPEG - "I'm currently experiencing Motion losing connection with the net camera after less than 1 day using the video.cgi method, whereas it works 24/7 for many weeks using the image.jpg method. I am using basic user authentication, although may turn it off to see if it changes the lost connection behavior. "
-
D-Link DCS-930L wireless (802.11g) net camera
Firmware version: 1.00
Product: http://www.dlink.com/products/?pid=DCS-930L
Tested with motion 3.2.12
JPEG: netcam_url http://x.x.x.x/image.jpg MJPEG netcam_url http://x.x.x.x/mjpeg.cgi
-
Amazon.com: D-Link DCS-930L mydlink-Enabled Wireless-N Network Camera: Camera & Photo ($35 w/ Prime) - http://amzn.com/B00452V66G
-
Connect to DLink IP cameras - http://www.ispyconnect.com/man.aspx?n=dlink
See DLink IP Cameras
umask
motion would not respect the umask group permission on directories as writable. So I fixed the source code:
fix-umask-group-write.patch:
--- motion.c.old 2015-02-25 10:35:31.713336862 -0700 +++ motion.c 2015-02-25 10:35:07.256762369 -0700 @@ -2511,7 +2511,7 @@ int create_path(const char *path) { char *start; - mode_t mode = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; + mode_t mode = S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH; if (path[0] == '/') start = strchr(path + 1, '/');
umask 0002 /opt/motion/bin/motion
Patch Submitted: UmaskGroupPermission < Motion < Foswiki - http://www.lavrsen.dk/foswiki/bin/view/Motion/UmaskGroupPermission
init.d
From CentOS 5 installation:
#!/bin/bash # # Startup script for the Motion Detection System # # 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 # Source function library. . /etc/rc.d/init.d/functions motion=${MOTION-//usr/bin/motion} prog=motion PIDFILE=/var/run/motion.pid RETVAL=0 start() { echo -n $"Starting $prog: " umask 0002 umask daemon $motion RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/motion return $RETVAL } stop() { echo -n $"Stopping $prog: " killproc $motion RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/motion } stopsafe() { echo -n $"Stopping $prog: ( for restarting ) " killproc $motion RETVAL=$? sleep 10s echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/motion } reload() { echo -n $"Reloading $prog: " killproc $motion -HUP RETVAL=$? echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status $motion RETVAL=$? ;; restart) stopsafe start ;; condrestart) if [ -f /var/run/motion.pid ] ; then stop start fi ;; reload) reload ;; *) echo $"Usage: $prog {start|stop|restart|condrestart|reload|status}" exit 1 esac exit $RETVAL
To support our /opt/ install:
17c17 < motion=${MOTION-//usr/bin/motion} --- > motion=${MOTION-//opt/motion/bin/motion}