📄 credits
字号:
changed the configure option --with-libavcodec to --with-ffmpeg and updated Guide and man pages and text in code and config file to match the new shared library way of using ffmpeg. * Added the new fields to the SQL security table camera (thread number), text (text_left) and time (timestamp). * Simplified the sql functions (1 instead of 3) and ensured that the text field is not assigned when text_left is an empty string. This allows for the field to be auto defaulted. * Added additional error reporting to console. * Implemented a new lightswitch feature so that is now triggers lightswitch detected based on the percentage of pixels set by the lightswitch option which is now an integer instead of a boolean. When lightswitch is detected motion skips 5 frames to allow camera to settle. * Fixed a bug in the autobrightness function. * Fixed a bug in netcam_start() - wrong imgs.size calculation. * Removed the obsolete Berkeley mpeg feature. * Corrected a small error in the usage help text http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x05x174139 * Improved the help text for config option night_compensate in docs, conf.c, motion man pages and config file. http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x06x103939 * Implemented a POSIX compliant SIGCHLD signal handler as replacement for the traditional signal(SIGCHLD, SIG_IGN) which can cause floods of warnings in some RedHat versions. (with Angel Carpintero) http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2004x10x26x134906 * Changed the reporting of the changes of noise detection level so that it is only displayed in the console (daemon off) when the always_changes option is enabled. (Kenneth Lavrsen) * Changed the ffmpeg>0.4.8 = no mpeg1 gcc warning message so that it is clear to people that it is information and not an error message. * Changed allocation of despeckle buffer to avoid a seg fault when using a netcam where the image is wider than defined in motion.conf width. * The noise tune value displayed in the upper left corner along with number of changed pixels is no longer displayed (was there for debugging). * Changed the SIGCHLD handler introduced in snap10 so that it is a shorter and faster function. Disabled this handler in the xmlrpc thread as this caused unnecessary loops of cpu cycles. Additionally made the code in xmlrpc more correct and robust (handling of select()) (Kenneth Lavrsen) * Fixed a bug in the timelapse feature. Both the rollover events of the timelapse video and timelapse shots could be missed if the CPU load was very high or the time was changes by ntp. Motion will now catch up a few seconds later if this happens. Also fixed the code for monthly rollover. (Kenneth Lavrsen) http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x23x133554 * Small improvement in timelapse feature so that an image is added when the new mpeg is created and not waiting till the following timelapse (Kenneth Lavrsen). * Small improvement so that the rollover happens on the hour and not one timelapse past the hour (Kenneth Lavrsen). * Fixed a bug in noise tune which was most visible at very low light. * Re-arranged many of the const char declarations so that they are always before any statements within a block { }. This is to avoid compiler errors with older but still used gcc versions such as 2.9.5. * Changed the use of %zd to %llu in printf statements of size_t types. This is done to avoid compiler errors with older but still used gcc versions such as 2.95. * Fixed even more gcc 2.95 compiler errors (declarations not at beginning of block). * Removed a gcc 2.95 compiler warning (netcam.c:1036: warning: variable `pic' might be clobbered by `longjmp' or `vfork'). * The values for cnt->locate and cnt->new_img are now #defines in motion.h to enhance code readability. * The setting of sql_mask is now only done once per second to save CPU power. * Adding checking for conflict between control port and webcam port. Webcam port for a thread is disabled if it is set to the same value as the control port. * Added "motion-http:" prefix to error messages from the http control thread. (Kenneth Lavrsen) * Added additional error information when connection to MySQL fails. * Initiate cnt->event_nr to 1 to avoid code related to end of events and long mpeg films to be run during startup of Motion. * Added new function in event.c close_anything_open() which is called from send_sms, send_mail and exec_command in order to prevent file descriptor and open sockets to be inherited by the shell causing freezing and instability. Code contributed by Christophe Grenier, Christopher Price and Kenneth Lavrsen. * Added new context global cnt_list.control_socket_server set by the httpd thread so that the above mentioned close_anything_open() can close open control sockets. * Threw away the file descripter leak fix from snap 9 because it caused more trouble than it fixed. Removed the close_anything_open() and the cnt_list.control_socket_server field. Replaced it all with a simple piece of code that all server daemons call when started: setsid() followed by for (i=getdtablesize(); i>2; --i) close(i). Dirty and simple. http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x03x21x070534 * Fixed a bug where rate of fetching picture frames was disturned by the signal SIG_CHLD from exec_command programs terminating. The symptom was that the number of post_capture frames became inaccurate and motion in mpegs did not have constant time between frames. * Fixed a bug where motion did not work with gap=1. http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x30x073616 * Added the feature gap=0 which now also works. It disables gap completely so that one single mpeg file is created. You can end the event from the remote control interface make movie feature using for example cron. This makes Motion close the mpeg and make a new with event number increased by one. * Improved the http remote control action features so that makemovie and snapshot for thread 0 (all) works on all threads instead of being ignored. * Moved some code in the beginning of the motion_loop to a position later to improve the accuracy of time calculations for the framerate. * Improvements of motion.conf help comments including improvements in new onxxxx options. * Motion Guide refactored completely for 3.2.1 with better web navigation and auto generation of pages. Makefile updated so that the Motion TWiki topic MotionGuideOneLargeDocument is fetched when updating the guide and making releases. * Removed the debug_parameter option which had no use. Programmers can still use it because the code is only commented out. This change required a small update in the code that rewrites motion.conf so that a remote control command to write the config files still adds a text header for the thread section at the end of motion.conf. * Changed the default values for a few options: quiet on, webcam_maxrate 1, threshold_tune off, webcam_quality 50. * Changed some cosmetics in the way motion.conf is written (space after #). * Updated the motion-dist.conf to use default values unless there is a reason not to. * Fixed a bug in the low_cpu feature where cpu load increased instead of decreasing because the framerate calculations were completely wrong. This was an old bug introduced in 3.0.1. http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x04x24x205933 * Improved the auto-brightness algoritm. When auto-brightness is enabled the brightness option becomes a target value for the brightness level. This should also close a bug report. http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x02x26x195358. * Made the http control HTML responses nicer to look at as sources and therefore easier to debug errors. * Code style cleanup of webhttpd.c. * Fixed compatibility problem with Palantir. Fixed by making output more compatible with RFC (\r\n). Original fixes by Roberto Spadim and Angel Carpintero. However this fix made Firefox flicker even more than it normally does. Final fix which works in both Palantir client, Firefox and Cambozola was made by Kenneth Lavrsen. This closes the following bugs: http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x02x205307, http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x07x042849 * Added new conversion specifiers: %D (diffs), (noise) %K (motion center x), %L (motion center y), %i (locate width x) and %J (locate width y). These changes also required a refactoring of the alg_locate code. This change is part of the implementation of a generic tracking feature and it enables implementing external programs that can perform sinple prediction features. http://www.lavrsen.dk/twiki/bin/view/Motion/ExtendReplaceConversionSpecifiersDiscussion http://www.lavrsen.dk/twiki/bin/view/Motion/GenericTrackingPatch * Fixed a bug in switchfilter which caused motion detection to not work when the feature was enabled. * Fix for Unknown content type with lumenera cameras http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x06x174416 * Man page updated. It is now semi-autogenerated in the Motion TWiki http://www.lavrsen.dk/twiki/bin/view/Motion/MotionOptionsAlphabeticalManpage * Added two new convertion specifiers: %o for threshold and %Q for number of labels. * Improved the config file description for pre_capture to get people to use small values. * Major code cleanup concerning signedness of chars all over the code to allow compilation with gcc4.0 (like in Fedora Core 4) without any errors or warnings. This will probably require that some of the not yet included patches will have to be fixed because it it code all over the place that has been changed. * Changed the configure script so that /usr/lib64 is also searched for the presense of ffmpeg (should fix the problem with 64 bit machines). * Changed the configure script so that rpms can be made by normal non-root users. * Fixed a bug in the webhttpd code related to pan/tilt. Bug was introduced in snap4 (Angel Carpintero, Kenneth Lavrsen). * Changed all use of localtime to localtime_r which is threadsafe. * Modified the WebcamCompressInMemory patch so that Motion now supports the mjpeg webcam stream while being setup for saving PPM images. http://www.lavrsen.dk/twiki/bin/view/Motion/WebcamCompressInMemory * Major clean-up of code in picture.c and webcam.c so that function names and variable names are less confusing. Also added many comments in picture.c. * Webcam code commented more. * New improved webcam feature. When you set webcam_motion on Motion will now stream at 1 fps instead of none. When motion is detected the webcam stream increases to the limit set in the config file. This change makes the webcam_motion much more interesting. The previous function always ended up with clients timing out. * Small code cleanup in webcam.c and picture.c and .h for the webcam code (Peter Holik and Kenneth Lavrsen) * Small code cleanup in motion.c for the variable holding the number of microseconds since epoch. The old code worked fine but relied on an integer overflow every 71 minutes. (Bill Brack and Kenneth Lavrsen) * Fixed bug related to disabled webcam or duplicate webcam port. Error log accept(): Socket operation on non-socket continuously written to syslog. http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x08x01x150922 * Included a CODE_STANDARD text file to help new developers make patches that are easier to integrate without too much manual editing. * Changed the 5 second missed camera signal timeout to 30 seconds. * Fixed bug where an extra jpeg is saved if you have output_normal=best and you stop motion after an event has ended. (Kenneth Lavrsen). http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x08x05x173526 * Option switch filter used print_int instead of print_bool when motion.conf was saved. * Removed all warnings originating from the motion sources when running ./configure --with-developer-flags. The modifications were done by the following people: Peter Holik, Bill Brack, Angel Carpintero and Kenneth Lavrsen. http://www.lavrsen.dk/twiki/bin/view/Motion/ReduceWarningsPatch * Implemented Threadnr in TLS (thread-local storage)patch. It puts the thread number into TLS and modifies motion_log() so that we do not have to drag the cnt struct around just to be able to print the thread number in the log and on the console. (Per J鰊sson with additional removal of unuseded cnt by Kenneth Lavrsen). http://www.lavrsen.dk/twiki/bin/view/Motion/ThreadNrTlsPatch * Removed old unused code related to read mode (not mmap) from V4L devices. * Motion loop resets its frame timer when the image received is from a netcam. This lowers the actual framerate of Motion to the rate the netcam can actually keep up with. * Last --with-developer-flags warnings eliminated simply by swapping the order of the #include statements in the sources (Bill Brack and Kenneth Lavrsen). * Switchfilter feature repaired. It was called inside motion_detected() after overlays on cnt->img.out were added which meant that the feature also detected all the overlays, smartmasks, fixed mask and text. It is now moved to the motion_loop right after the lightswitch feature and before any overlays are added. * Fixed small bug where motion was detected when using a tracking camera and the camera moved to center position when gap period expires. The fix includes gathering the updating of reference frame in one place only in the motion_loop. * Implemented the new text option text_event and new conversion specifier %C. Option text_event defines the value %C which then can be used in filenames and text_right/text_left. The text_event/%C uses the time stamp for the first image detected in a new event. Default value is %Y%m%d%H%M%S. %C is an empty string when no event is in progress (gap period expired). Pre_captured and minimum_motion_frames images are time stamped before the event happens so %C in text_left/right does not have any effect on those images. http://www.lavrsen.dk/twiki/bin/view/Motion/EventConvertionSpecifierDiscussion * Renamed some variables related to time to be better descriptive of function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -