Skip to content

Commit

Permalink
Merge master into 3.4
Browse files Browse the repository at this point in the history
  • Loading branch information
Mr-Dave committed Oct 17, 2015
2 parents 90c2adc + 2caced3 commit 7509ae8
Show file tree
Hide file tree
Showing 44 changed files with 8,102 additions and 14,414 deletions.
12 changes: 8 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
*.log
.svn/
*.o
autom4te.cache
aclocal.m4
.depend
motion
config.h
config.status
config.h.in
Makefile
configure
motion-dist.conf
motion.init-Debian
motion.init-Fedora
motion.init-FreeBSD.sh
motion.spec
thread1.conf
thread2.conf
thread3.conf
thread4.conf
thread1-dist.conf
thread2-dist.conf
thread3-dist.conf
thread4-dist.conf
74 changes: 69 additions & 5 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,69 @@
3.4.0 Summary of Changes
Summary of Changes
* Added suggestion for including pkgconf as part of build requirements
* Swap sequence of user ffmpeg path and PKG_CONFIG_PATH
* Allow : in non standard locations of netcam_url path.
* Eliminated the use of coded_frame (Was a redundant assignment)
* Revise HEVC to use H264 for older ffmpeg
* Add HEVC codec option for newer ffmpeg (momo-i)
* Makefile changes to align with Debian package and fixes from previous changes
* Revise description for netcam_url in configuration file.
* Change default for ffmpeg in configure.ac (Issue 795002,82)
To compile without ffmpeg now requires --without-ffmpeg option
* Change prefix to use sysconfdir instead. Install threadX.conf files to threadx-dist.conf
* Revise configure.ac to use pkg-config for ffmpeg(Rex Feany)
* Revise PIX_FMT to be able to use older ffmpeg versions.
* Revise PIX_FMT for newer ffmpeg(Rex Feany)
* Add patch for ports on proxy netcams from GVautier (issue 144906)
* Add patch from JonGuess(issue 151452) for treatment of partial netcam images.
* Consolidate the Sqlite3 options into the code standard.
* Draft revised motion_guide.html with new options.
* Revise manual to have current options.
* Tab/Space cleanup and validation security issue addressed. (issue 071831)
* Add preview to webcontrol page(issue 172526)
* Additional container fixes(requests/bugs 201900,110304,001656,050731)
* Remove depreciated deinterlace option
* Remove avformat_network_init call. Call was not needed and was leaking memory
* Add extra container options for ffmpeg videos
* Remove extra bytes before SOI marker on netcam images.
* Updated handling of lastsnap to permit subdirectory specification.
* Handle MJPEG streams from some Logitech webcams which send AVI1 instead of JFIF.
* Fix missing header for some builds(Jim Dodgen)
* Sqlite3 revisions (Jim Dodgen)
* Add new config options to the motion-dist.conf
* Allow text format specifiers to take a width like printf would. (David Fries)
* Allow text format specifiers to take a width like printf would. (David Fries)
* Add power_line_frequency configuration item to improve image quality. (David Fries)
* Fix webhttpd race condition crash with SIGHUP, add it to running thread counter (David Fries)
* Fix the GOP size for the created videos
* Fix netcam ftp functionality
* Fix Typo on the log level
* Fixed the network ftp image option.
* Lock thread on ffmpeg/libav init and open_codec
* Revise version number generated by script to indicate Unofficial-Git-'hash'
* Revised Changelog description for version 3.4
* Merge OpenBSD fixes from sthen pull request
* Revised picture.c to allow for modulo 8 pictures and adjusted netcam modules accordingly as well.(closes 135313)
* Changes to ffmpeg.h/ffmpeg.c to allow for compiling without ffmpeg/libav or with older versions.
* Merge mymalloc, free and casting changes from Alfred Klomp
* Merge bug fix for sizeof from Alfred Klomp
* Rewrote timelapse so that it works(closes 180501)
* Merge tosiara changes for version number
* Add copyright file for features added since 3.2.12
* Cleanup ffmpeg.c and plug memory leak
* Add support for latest version of ffmpeg/libav
* Tidy up packaging changes
* Add packaging fixes (infinity0)
* Revise version.sh to put out the git commit.
* Rollback revision to allow for a formal pull request.
* Reimplement changes not to be included in pull request from tosiara commit 9ebee031
* Implement requirement of modulo 16 to avoid seg fault when opening stream
* Add debian build files from trusty(14.04)
* Revise default values for motion.conf
* Revise CHANGELOG to conform with debian format
* Revised debian packaging files
* Implement new sequence for this file (CHANGELOG) newest to oldest.

Summary of Changes that were proposed to maintainer for a version 3.4

Features
* Insert Blanking frames http://www.lavrsen.dk/twiki/bin/view/Motion/FeatureRequest2007x12x16x132522 (Dag Erlandsson)
Expand Down Expand Up @@ -53,7 +118,6 @@ Features
* 3fps bugfix from SVN rev559 (tosiara, Joerg Weber)
* Buffer overflow vulnerabilities (hyperbolic2346)
* Redundand -- boundary prefix (torao)
* Proper size for memset and allocation size (Alfred Klomp)
* Removed compiler warnings: (Mr-Dave)
logger.c,jpegutils.c,netcam_ftp.c,track.c,
picture.c,webhttpd.c,stream.c,ffmpeg.c
Expand All @@ -63,7 +127,7 @@ Features
* Resolve additional compiler warnings in ffmpeg (Mr-Dave)
* Revised INSTALL with samples(Mr-Dave)
* Revisions for RTSP and code standard.(Mr-Dave)
* Plugged most(?) memory leaks in RTSP. (Mr-Dave)
* Plugged most memory leaks in RTSP. (Mr-Dave)
* Undo changes caused by code editor and other unnecessary changes (Mr-Dave)
* Moved call to netcam_shutdown_rtsp into netcam_cleanup where it belongs. (Mr-Dave)
* Regession fix for memory leaks and reconnection (Mr-Dave)
Expand All @@ -80,7 +144,7 @@ Features
* Add AC_GNU_SOURCE macro to check for GNU C Library, fix compile when no FFMpeg.
* Implement inits of AV functions from bcl fork
* Add gray image upon disconnection
* Added tcp/udp transport config option from hyperbolic(commit 423ef7bb3)
* Added tcp/udp transport config option from hyperbolic2346(commit 423ef7bb3)
* Revised comments to be in line with application standard.
* Restructure rtsp to handle rescaling and non YUV420 format, rotate, MJPEG input format

Expand Down Expand Up @@ -132,7 +196,7 @@ Bugfixes
http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2010x04x28x054348


3.2.11.1 Sumary of Changes
3.2.11.1 Summary of Changes

Bugfixes
* Fix Segfault on reload or quit for vloopback (maybe other v4l1 devices too) (Peter Holik)
Expand Down
5 changes: 5 additions & 0 deletions CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -473,6 +473,11 @@ Mark Feenstra
Miguel Freitas
* Came up with the round robing idea.

David Fries
* Fix webhttpd race condition crash with SIGHUP, add it to running thread counter
* Allow text format specifiers to take a width like printf would.
* Add power_line_frequency configuration item to improve image quality.

Aaron Gage
* Pointed me to the vid_mmap/int problem when calling SYNC in
video.c
Expand Down
4 changes: 2 additions & 2 deletions FAQ
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Q: Were does motion look for the config file?
A: First it will look for 'motion.conf' in the current directory, next it will
try to find '.motion/motion.conf' in your home directory (pointed to by
the HOME environment variable). If these don't exist it will try to open
'/usr/local/etc/motion.conf' if you specified /usr/local as the prefix to
configure (this is the default).
'/usr/local/etc/motion/motion.conf' if you specified /usr/local as the prefix
to configure (this is the default).

Q: What codingstyle is used for motion?

Expand Down
97 changes: 41 additions & 56 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,61 +1,46 @@
NOTE: Versions come, versions go, packages change, etc. These instructions are intended as a starting point
and may need modification by the time you read this.

**********************************
*** DEBIAN BASED SYSTEMS ***

Required Packages:
sudo apt-get install autoconf automake build-essential libtool libjpeg8-dev libzip-dev

Obtain source code (via git)
sudo apt-get install git
cd ~
git clone {https://github.com/your favorite fork}

To rebuild the motion configure file use
autoreconf

Optional: With FFMPEG support:
Build FFMPEG via their instructions
Configure with manually built ffmpeg which currently installs to ~/bin and ~/ffmpeg_build
Basic
./configure --with-ffmpeg=$HOME/ffmpeg_build --with-ffmpeg-headers=$HOME/ffmpeg_build/include

With extra libraries for ffmpeg IMPORTANT NOTE: Your libraries will vary depending upon your build of FFMPEG
./configure --with-ffmpeg=$HOME/ffmpeg_build --with-ffmpeg-headers=$HOME/ffmpeg_build/include --with-ffmpeg-libs=" -lavformat -lswscale -lavcodec -lavutil -lfdk-aac -lswresample -lm -lopus -lz -lva -lvpx -lx264 -lmp3lame -lbz2 -ldl -lvorbisenc -lvorbis -ltheoraenc -ltheoradec "

With extra libraries for ffmpeg and install to ~/motion_build
./configure --prefix=$HOME/motion_build --with-ffmpeg=$HOME/ffmpeg_build --with-ffmpeg-headers=$HOME/ffmpeg_build/include --with-ffmpeg-libs=" -lavformat -lswscale -lavcodec -lavutil -lfdk-aac -lswresample -lm -lopus -lz -lva -lvpx -lx264 -lmp3lame -lbz2 -ldl -lvorbisenc -lvorbis -ltheoraenc -ltheoradec "

With LIBAV APT versions of libraries
sudo apt-get install libavformat-dev libavcodec-dev libavutil-dev libav-tools libswscale-dev

Without any LIBAV/FFMPEG support or the installed version of libavcodec/libavformat
The following is a brief overview of the building and installing instructions.

For full instructions on how to build and install Motion, see the
motion_guide.html that is distributed with this source code.

The building instructions vary based upon the base system and the desired options.
For most installs, it will be desired to include either ffmpeg or libav and these will
have associated dependencies which dictate the configuration options.

Build Packages:
autoconf
automake
pkgconf
libtool
libjpeg8-dev
build-essential
libzip-dev

The option to include FFMPEG or Libav functionality in motion is a choice of one OR the other not both.
The packages and library names change frequently and vary across base operating systems. If ffmpeg or
libav are built and installed from source the custom motion configuration options will usually be needed.

FFMPEG Packages
ffmpeg
libavformat-dev
libavcodec-dev
libavutil-dev
libswscale-dev

Libav Packages
libavformat-dev
libavcodec-dev
libavutil-dev
libav-tools
libswscale-dev

Once required packages are installed, execute:
autoreconf -fiv
./configure

Sample PI configuration with LIBAV
./configure --with-ffmpeg=/usr/lib/arm-linux-gnueabihf --with-ffmpeg-headers=/usr/include


Once configured type:
make
make install

*****************************
*** OpenSUSE SYSTEM ***

sudo zypper install autoconf automake libtool git
sudo zypper install --type pattern devel_basis
sudo zypper install libjpeg8-devel
sudo zypper install -t pattern devel_C_C++

Optional: FFmpeg files
sudo zypper ar -f -n packman-essentials http://packman.inode.at/suse/openSUSE_13.1/Essentials/ packman-essentials
sudo zypper ar -f -n packman-multimedia http://packman.inode.at/suse/openSUSE_13.1/Multimedia/ packman-multimedia
sudo zypper install libffmpeg-devel

./configure
make
make install
Sample custom configuration options:
--prefix : Specify the install location for the motion package
--with-ffmpeg=[dir] : Specify the location in which ffmpeg/libav is installed.

*************************
Loading

0 comments on commit 7509ae8

Please sign in to comment.