4
*** Original writer of this great program! ***
5
From 3.1.12 these contributions:
6
-Rewrite of PWC tracking code.
7
-Motion-control action.quit fix.
8
-Added tracking options to xmlrpc interface.
9
-Ignore SIGPIPE (crashes webcam code).
10
-Changed fast algorithm to imgs.size/10000 steps.
11
-Renamed prerecord to pre_capture to be more consistent with
13
-Redone pre_capture completly.
16
-Created a patch that ensures that Motion detaches from
17
the stdin and stout devices so that a secure shell that was used to
18
start Motion in daemon mode does not hang when you exit the shell.
21
-Implemented improvement of vid_putpipe so that Motion does not
22
spend time writing to a vloopback device which is not there.
23
Also introduced reporting to syslog of writing to vloopback
25
-Improved configure's ability to find custom installations of
27
-Misc. cosmetic changes in the code.
28
-Rewrote the ffmpeg functions completely added support for
29
new codecs/formats mpeg4 and msmpeg4. mpeg1 was improved also.
30
-Misc. improvement of the mpeg4 feature and new ffmpeg code.
3
32
Michael Newlyn Blake
4
For setting up the motion mailinglist and the onsave command.
33
-For setting up the motion mailinglist and the onsave command.
7
Lots of good ideas and the motion logos
36
-Lots of good ideas and the motion logos
39
- Added patch that enables Motion to work with vloopback version 0.94
40
and kernel 2.6.10+. (patch by William M Brack).
41
http://www.lavrsen.dk/twiki/bin/view/Motion/MotionAndVloopbackVideoDotCPatch
42
- Added support in configure for athlon64 from
43
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x30x190907
44
(Angel Carpintero and William M Brack)
45
- Fixed some gcc warnings (William M Brack)
46
- Code cleanup from a valgrind analysis (William M. Brack).
50
-PostgreSQL support, put_jpeg_grey(), webcam bugfixes.
53
-Improved configure process which automatically detects presence
54
of xmlrpc-c and ffmpeg and makes the Makefile accordingly.
55
-Improvement of configure reporting of missing shared libraries.
56
-Fix for building motion without ffmpeg (missing #ifdef round newly
57
added ffmpeg timelapse code)
58
-Implemented RH (sysV) and Debian type control scripts for /etc/init.d
59
-Memory clean-up improvements when Motion exits normally.
60
-Provided several improvements of error handling.
61
-Ported Motion to FreeBSD.
62
-Created the spec file so that Kenneth can build RPMS when releasing
64
-Improved error handling for the netcam functions.
65
-Implemented fix for compiling errors when building the FreeBSD version
67
-Added a new config option --without-optimizecpu which disables the
68
CPU specific compiler optimizations introduced with the rotate phase 2
70
-Implemented Streaming Netcam Without Curl which enables connecting to
71
network cameras both with single jpeg frame mode and streaming mjpeg
72
mode. This enables much higher framerates with Netcams. (with
74
-Improved the Netcam patch (Angel Carpintero)
75
http://www.lavrsen.dk/twiki/pub/Motion/StreamingNetcamWithoutCurl/
76
(pre2 patch fixes problem with not detecting Content-length and segfaults
78
-Implemented a POSIX compliant SIGCHLD signal handler as replacement for
79
the traditional signal(SIGCHLD, SIG_IGN) which can cause floods of
80
warnings in some RedHat versions. (with Kenneth Lavrsen)
81
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2004x10x26x134906
82
-Improved the Netcam patch (Angel Carpintero)
83
http://www.lavrsen.dk/twiki/pub/Motion/StreamingNetcamWithoutCurl/
84
(pre3 reconnection feature added)
85
- Fixed several bugs in new netcam code introduced in 3.1.18
87
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x16x030209
88
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x02x01x071546
89
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x02x03x035918
90
- Netcam code: Change printf() to fprintf().
91
- Netcam code: Cleanup memory netcam (netcam.c , motion.c ).
92
- Netcam code: Redesign of reconnection feature.
93
- Configure: Added debug , conditional compile of xmlrpc-c
94
- Fix a non allocated pointer to be freed.
95
- Added fix to BugReport2005x02x11x170019
96
- Added fix to BugReport2005x02x11x150802
97
- Fixed netcam->userpass problem
98
- Added support in configure for athlon64 from
99
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x30x190907
100
(Angel Carpintero and William M Brack)
10
Added the 'pal-nc' norm.
103
-Added the 'pal-nc' norm.
13
Fixing the division by zero problem.
106
-Fixing the division by zero problem.
14
107
This makes motion a lot more stable.
110
-Came up with the round robing idea.
17
Pointed me to the vid_mmap/int problem when calling SYNC in
113
-Pointed me to the vid_mmap/int problem when calling SYNC in
20
116
Mihnea-Costin Grigore
21
Fixed the oldlayout behaviour of snapshots.
22
Fixed snapshot link extension.
23
Added the snapshot_overwrite option.
117
-Fixed the oldlayout behaviour of snapshots.
118
-Fixed snapshot link extension.
119
-Added the snapshot_overwrite option.
120
-Fix for correct mpeg names when using mpeg_encode.
26
Original time/date-stamp code.
123
-Original time/date-stamp code.
127
Colling H -New frame_limit.
130
-Improved on screen display by adding more symbols and lower
31
For pointing me to the absence of a frame length check using
134
-For pointing me to the absence of a frame length check using
32
135
read for capturing
137
Peter Ilin -Patch for handling vloopback pipes better when Motion receives
141
-Added the rotate feature.
142
-Improved the Makefile with automatic check of dependencies and
143
nicer output for the user.
144
http://www.lavrsen.dk/twiki/bin/view/Motion/MakefileWithAutoDependencies
145
-Improved rotate feature (speed)
146
http://www.lavrsen.dk/twiki/bin/view/Motion/RotatePatch
147
-Implemented new ffmpeg patch
148
http://www.lavrsen.dk/twiki/bin/view/Motion/FfmpegPatch049
149
-Implemented labelling speed patch
150
http://www.lavrsen.dk/twiki/bin/view/Motion/LabelingSpeedPatch
151
-Improved the signal handling of ctrl-C
152
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x06x181426
155
-Configure patch which enables configure to find and use a
156
dynamic library of ffmpegs libavcodec.so
158
Kenneth Lavrsen (Currently project managing Motion)
159
-Wrote the excellent Motion Guide. (Jeroen wrote this :-) )
160
-Fixed low_cpu to check for a 1sec. maximum wait.
161
-Updated manpage for 3.0.0
162
-New usertext additions to draw.c
163
-Fixed ffmpeg compatibility for ffmpeg 0.4.8
164
-Fixed ffmpeg instability problem
165
-Fixed "ioctl(VIDIOCGCHAN): Invalid argument" error
166
-Changed motion.conf to motion-dist.conf.
167
-Changed the parsing of the motion.conf and thread.conf files so
168
that spaces are now allowed.
169
-Changed the parsing of the user defined on screen display text
170
so that you can enclose a string in "" both in config file
171
and using the XML-RPC interface. Ie. you can use spaces in the
173
-Changed conf.c so that xml-rpc command motion.conf.write creates
174
a much more user friendly motion.conf file.
175
-Modified Ian's on screen display putting back the config parameter
176
drawtext_changes. If enabled the number of changed pixes are shown
177
in the upper right corner of the image.
178
-Removed the snap_override feature and reduced the oldlayout to an
179
Berkeley mpeg_encode feature only renaming it to
180
berkeley_single_directory. Instead the flexible filename
181
feature now has oldlayout as default and the "new" directory layout
182
specified in the motion.conf file.
183
-Motion.conf sequency re-arranged so the important things comes first.
184
-Changed names of many options to be more user friendly.
185
-Renamed the options for displayed text to text_right, text_left and
187
-Change the parsing of config files so that the argument can be in
188
quotation marks (" or ') allowing leading spaces for the text_left
189
and text_right options. This means that you can place the text
190
anywhere on the picture by using spaces and new lines \n.
191
-Fixed problem with strftime based names with event number %v when
192
event numbers were higher than 99.
193
-Changed motion-control to make a proper output from motion.conf.list.
194
-Renamed ffmpeg_timelaps to ffmpeg_timelapse (we change now or never)
195
-Corrected man page (\n) (thanks Daniel).
196
-Added setting access rights to 644 (755 for configure) when doing
198
-Small improvement on xmlrpc-api.html document.
199
-Fixed missing init of viddev.frequency causing VIDIOCGCHAN errors.
200
XML-RPC changes of threshold and noise_level are now being used as
201
long as threshold_tune and noise_level are not enabled.
202
-Enabled the round robin feature to also work by changing frequency on
203
the same device and same input.
204
-Fixed the pre_capture feature so that it also stores the jpegs properly.
205
-Fixed the ffmpeg_timelapse feature so that the calculated time is
206
correct and the current image is used instead of an old image from
207
position 0 in the pre_capture ring buffer.
208
-Fixed ffmpeg routines so that also graytone images can be
209
pre_captured and used with ffmpeg_timelapse.
210
-Fixed the position of the incrementing of shots in the motion_loop
211
so that it is correct before any functions use it.
212
-Added quite many comments to the code to make it easier to maintain
213
(more comments will be added).
214
-Removed some old debugging printf's that were displayed in non-quiet
216
-Changed to snapshot feature from being alarm driven to being timer
217
driven. This means that each thread can have its own interval
218
value. The XML-RPC motion.action.snapshot still works. The SIGALRM
219
method has been changed so that all thread that have the snapshot_interval
220
non zero will take a snapshot when being signaled with SIGALRM. A
221
negative value for snapshot_interval will activate the SIGALRM trigger
222
but not the timing interval.
223
-Kenneth Lavrsen changed the enhanced SQL config from single sql_mask
224
option to 5 sel_log_ options for more user friendly control.
225
-Changed the behaviour of onsave back to original mode where also
226
snapshots causes onsave command to be run.
227
-Fixed a bug in frequency setting of V4L device.
228
-A few lines of code for Dan's improved handling of config strings.
229
-Daniel Sterling and Kenneth Lavrsen added a feature that checks for
230
two threads having the same webcam_port. If this is the case the last
231
thread gets its webcam disabled and a warning message is written
232
to console and syslog.
233
-Small improvements in messages sent to console and syslog during
235
-Fixed the problem with default strings being written to thread
236
config files when using the XMLRPC command motion.conf.write.
237
-Fixed memory leaks in new ffmpeg code.
238
-Changed the ffmpeg code so that mpeg1 files are created using the
239
libavcodec method and mpeg4 and msmpeg4 are created using the new
240
libavframe method in ffmpeg.
241
-Added seconds and frame fields to the database feature.
242
-Fixed a small bug related to the filename given for onffmpegclose.
243
changed the configure option --with-libavcodec to --with-ffmpeg
244
and updated Guide and man pages and text in code and config file to
245
match the new shared library way of using ffmpeg.
246
-Added the new fields to the SQL security table camera (thread
247
number), text (text_left) and time (timestamp).
248
-Simplified the sql functions (1 instead of 3) and ensured that the
249
text field is not assigned when text_left is an empty string. This
250
allows for the field to be auto defaulted.
251
-Added additional error reporting to console.
252
-Implemented a new lightswitch feature so that is now triggers lightswitch
253
detected based on the percentage of pixels set by the lightswitch option which
254
is now an integer instead of a boolean. When lightswitch is detected motion
255
skips 5 frames to allow camera to settle.
256
-Fixed a bug in the autobrightness function.
257
-Fixed a bug in netcam_start() - wrong imgs.size calculation.
258
-Removed the obsolete Berkeley mpeg feature.
259
-Corrected a small error in the usage help text
260
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x05x174139
261
-Improved the help text for config option night_compensate in docs,
262
conf.c, motion man pages and config file.
263
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x06x103939
264
-Implemented a POSIX compliant SIGCHLD signal handler as replacement for
265
the traditional signal(SIGCHLD, SIG_IGN) which can cause floods of
266
warnings in some RedHat versions. (with Angel Carpintero)
267
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2004x10x26x134906
268
-Changed the reporting of the changes of noise detection level so that
269
it is only displayed in the console (daemon off) when the always_changes
270
option is enabled. (Kenneth Lavrsen)
271
-Changed the ffmpeg>0.4.8 = no mpeg1 gcc warning message so that it is
272
clear to people that it is information and not an error message.
273
-Changed allocation of despeckle buffer to avoid a seg fault when using
274
a netcam where the image is wider than defined in motion.conf width.
275
-The noise tune value displayed in the upper left corner along with
276
number of changed pixels is no longer displayed (was there for debugging).
277
-Changed the SIGCHLD handler introduced in snap10 so that it is a shorter
278
and faster function. Disabled this handler in the xmlrpc thread as this
279
caused unnecessary loops of cpu cycles. Additionally made the code in
280
xmlrpc more correct and robust (handling of select()) (Kenneth Lavrsen)
281
-Fixed a bug in the timelapse feature. Both the rollover events of the
282
timelapse video and timelapse shots could be missed if the CPU load was
283
very high or the time was changes by ntp. Motion will now catch up a few
284
seconds later if this happens. Also fixed the code for monthly rollover.
286
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x23x133554
287
-Small improvement in timelapse feature so that an image is added when
288
the new mpeg is created and not waiting till the following timelapse
290
-Small improvement so that the rollover happens on the hour and not one
291
timelapse past the hour (Kenneth Lavrsen).
294
-Added the onffmpegclose feature.
295
-Fixed a serious stability issue related to syslog not being a fully
297
-Implemented the new brightness, contrast, hue, saturation features
298
http://www.lavrsen.dk/twiki/bin/view/Motion/BrightnessContrastPatch
35
Added the netcam functionality to the original axis code.
304
-Added the netcam functionality to the original axis code.
307
-Fixed the problem with Netcams and mask files.
308
-New despeckle feature.
309
-Flexible on screen display feature based on strftime.
310
-Flexible strftime based path names.
311
-Fixed problem with snapshot names when name is lastsnap.
312
-Fix for snapshots when using the "lastsnap" filename.
313
-Provided "timelapse closes mpeg file when set to zero" feature.
38
For adding the onmpeg command.
316
-For adding the onmpeg command.
41
new show.cgi and genhtml.sh, -a without alarm, both motion
319
-new show.cgi and genhtml.sh, -a without alarm, both motion
42
320
and normal images, various improvements and ideas
45
Executing external commands
323
-Executing external commands
48
For his differential view in the camstream program.
49
It inspired me to make this. And for a great program to test my
50
video loopback support.
51
(www.smcc.demon.nl/camstream/)
326
-For his differential view in the camstream program.
327
It inspired me (Jeroen) to make this. And for a great program to
328
test my video loopback support. (www.smcc.demon.nl/camstream/)
54
For the ir script to turn motion and lights on and of
331
-For the ir script to turn motion and lights on and of
334
-Changed netcam open to use pipes and fixed authentication.
57
Signal blocking during ioctls.
58
Greyscale blowup optimization
337
-Signal blocking during ioctls.
338
-Greyscale blowup optimization
60
340
Philippe Possemiers
61
For fixing the bug that prevented external commands, mail
341
-For fixing the bug that prevented external commands, mail
62
342
and sms from being called at the first event.
63
And for writing the send_jpg.py script.
343
-And for writing the send_jpg.py script.
66
Pointed me to the exit(-1) instead of exit(1) calls.
346
-Pointed me to the exit(-1) instead of exit(1) calls.
349
-Implemented Streaming Netcam Without Curl which enables connecting to
350
network cameras both with single jpeg frame mode and streaming mjpeg
351
mode. This enables much higher framerates with Netcams. (with Angel
353
http://www.lavrsen.dk/twiki/bin/view/Motion/StreamingNetcamWithoutCurl
69
Always output diff count and output image type selection
356
-Always output diff count and output image type selection
72
A lot of the code in motion.c comes from his vidcat program
359
-A lot of the code in motion.c comes from his vidcat program
73
360
which is part of the w3cam package. (jpeg creation and parts
74
361
of the image capture function)
75
362
(www.hdk-berlin.de/~rasca/w3cam/)
365
- Fixed bug which caused Motion 3.1.18 fail to save timelapse mpegs when
366
setting ffmpeg_timelapse = 1 (fixed by Michael Reuschling)
367
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x31x211756
370
-Implemented ffmpeg_timelapse_mode feature.
371
-Implemented enhanced SQL features. This adds logging of mpeg
372
and prediction events to the MySQL/PostgreSQL feature.
373
-Replaced the mime file types by a more refined filetype
374
scheme that allows more refined control for SQL and other
77
377
Petter Reinholdtsen
78
Adding the install option to the makefile.
378
-Adding the install option to the makefile.
381
-Studies of the performance of Motion.
382
-Night compensation fix.
383
-Changed the webcam_port value to 0 in motion-dist.conf to avoid that
384
people get segmentation faults when having 2 or more cameras and
385
webcam_port not set in the thread config files.
386
-Implemented improved handling of config strings. This plugs the memory
387
leak when changing string type options via XML-RPC. It also makes the
388
memory handling more elegant/optimal and finally it now allows strings
389
to be as long as allowed by the environment variable PATH_MAX.
390
-Kenneth and Daniel added more comments to motion.c and conf.c.
391
-Made the XMLRPC able to handle errors without crashing.
392
-Daniel Sterling and Kenneth Lavrsen added a feature that checks for
393
two threads having the same webcam_port. If this is the case the last
394
thread gets its webcam disabled and a warning message is written
395
to console and syslog.
396
-Fixed a calculation error in alg_diff_fast().
399
-Wrote the original patch for supporting pan/tilt with Logitech
400
Quickcam Sphere/Orbit
81
For hosting motion.technolust.cx
403
-For hosting motion.technolust.cx
406
-Created the original thread patch for motion enabling motion to
407
watch multiple cameras.
84
Added the mpeg creation on exit and SIGUSR1, also made the start
410
-Added the mpeg creation on exit and SIGUSR1, also made the start
85
411
for max_mpeg_time.
86
Found the 'strtok' call that caused motion to crash under RH7.0
412
-Found the 'strtok' call that caused motion to crash under RH7.0
415
-Created a centralized logging function that became event()
418
-Added the new labeling motion detection feature.
419
-Added the new Smartmask feature.
420
-Implemented new preview patch (Joerg Weber)
421
http://www.lavrsen.dk/twiki/bin/view/Motion/PreviewShotsPatch
422
-Implemented an improvement of Smartmask so that the mask is cleared when
423
the smart_mask_speed is set from a non-zero to zero
424
-Implemented an improvement of noise_tune with smart mask (and probably
89
Wrote Axis 2100 support and added the check for
428
-Wrote Axis 2100 support and added the check for
90
429
~/.motion/motin.conf
432
-Maintained the code from version 3.1.9 till 3.1.12-rc1
433
Including features like..
434
-Error reporting to syslog.
435
-Better memory allocation.
436
low_cpu feature extention to configurable frame rate.
437
-First work on Logitech Sphere/Orbit tracking.
438
-Implemented original pre-record feature.
439
Misc code optimisations
440
-Closed 2 memory-leaks (two 'FILE *' were not closed) in the
92
443
Robert Eugene Wood
93
Inverse pixels for locate box.
444
-Inverse pixels for locate box.
96
These guys are making a complete linux based security system
447
-These guys are making a complete linux based security system
97
448
with motion as one of its components.
98
They did the mysql support, new fileformat and the symbolic
449
-They did the mysql support, new fileformat and the symbolic
99
450
link to the snapshots.
100
You can find them at yieldtech.cz
451
-You can find them at yieldtech.cz
102
453
Christian W. Zuckschwerdt
103
Modified the Makefile and configure files to be more flexible.
106
Everybody who has contributed ideas and remarks to this project
454
-Modified the Makefile and configure files to be more flexible.
458
Everybody who has contributed ideas, bugreport and remarks to this project