Send Motion-user mailing list submissions to
        motion-user@lists.sourceforge.net

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.sourceforge.net/lists/listinfo/motion-user
or, via email, send a message with subject or body 'help' to
        motion-user-requ...@lists.sourceforge.net

You can reach the person managing the list at
        motion-user-ow...@lists.sourceforge.net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Motion-user digest..."


Today's Topics:

   1. Re: Duplicate SQL entries for every event (David Powell)


----------------------------------------------------------------------

Message: 1
Date: Fri, 27 Aug 2021 19:29:33 -0400
From: David Powell <da...@depowell.com>
To: tosiara <tosi...@gmail.com>
Cc: Motion discussion list <motion-user@lists.sourceforge.net>
Subject: Re: [Motion-user] Duplicate SQL entries for every event
Message-ID: <85424aa7-7c9e-3c4d-bb7d-b8c08c28c...@depowell.com>
Content-Type: text/plain; charset="utf-8"; Format="flowed"

Hi Tosiara.

There's only one query in my configuration, so I'm not sure how it can 
be run more than once with the same event number.? Did your testing 
include 7 cameras like my setup?? Maybe that has something to do with it.

I don't really want to change and recompile the Motion code right now, 
because it's running on a server that is 650 miles away, and I don't 
want to take a chance on messing something up. I can do it in a month or 
so when I'm back local to the server.

I did start it in debug mode (/sudo -u motion //motion -n -d 9 -k DBL/) 
for a bit, however, and the resulting log is below:

[0:motion] [NTC] [ALL] [Aug 27 16:23:27] motion_startup: Motion 
4.3.1+git20210613-11320aa Started
[0:motion] [NTC] [ALL] [Aug 27 16:23:27] motion_startup: Using log type 
(DBL) log level (ALL)
[0:motion] [DBG] [DBL] [Aug 27 16:23:27] motion_ntc: mysql? : available
[0:motion] [DBG] [DBL] [Aug 27 16:23:27] motion_ntc: MariaDB: not available
[0:motion] [DBG] [DBL] [Aug 27 16:23:27] motion_ntc: sqlite3: not available
[0:motion] [DBG] [DBL] [Aug 27 16:23:27] motion_ntc: pgsql? : not available
[0:motion] [DBG] [DBL] [Aug 27 16:23:27] motion_ntc: nls??? : available
[0:motion] [DBG] [DBL] [Aug 27 16:23:27] dbse_global_init: Initializing 
database
[1:ml1:patio] [NTC] [DBL] [Aug 27 16:23:29] dbse_init: Database backend 
mysql
[2:ml2:shop] [NTC] [DBL] [Aug 27 16:23:29] dbse_init: Database backend mysql
[3:ml3:pumphouse] [NTC] [DBL] [Aug 27 16:23:30] dbse_init: Database 
backend mysql
[7:ml7:gate] [NTC] [DBL] [Aug 27 16:23:30] dbse_init: Database backend mysql
[6:ml6:shed] [NTC] [DBL] [Aug 27 16:23:44] dbse_init: Database backend mysql
[4:ml4:backyard] [NTC] [DBL] [Aug 27 16:23:44] dbse_init: Database 
backend mysql
[1:ml1:patio] [WRN] [DBL] [Aug 27 16:23:47] dbse_firstmotion: Ignoring 
empty sql query
[1:ml1:patio] [WRN] [DBL] [Aug 27 16:23:47] dbse_newfile: Ignoring empty 
sql query
[5:ml5:pumpYard] [NTC] [DBL] [Aug 27 16:23:47] dbse_init: Database 
backend mysql
[1:ml1:patio] [DBG] [DBL] [Aug 27 16:24:47] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 16:40:16] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 16:40:16] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 16:41:16] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 16:51:11] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 16:51:11] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 16:53:04] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 16:54:55] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 16:54:55] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 16:56:26] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:00:04] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:00:04] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:01:06] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:05:07] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:05:07] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:06:09] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:06:55] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:06:55] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:07:56] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:08:17] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:08:17] dbse_newfile: Ignoring empty 
sql query
[1:ml1:patio] [WRN] [DBL] [Aug 27 17:08:50] dbse_firstmotion: Ignoring 
empty sql query
[1:ml1:patio] [WRN] [DBL] [Aug 27 17:08:50] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:09:18] dbse_exec_mysql: Executing 
MySQL query
[1:ml1:patio] [DBG] [DBL] [Aug 27 17:09:51] dbse_exec_mysql: Executing 
MySQL query
[6:ml6:shed] [WRN] [DBL] [Aug 27 17:13:09] dbse_firstmotion: Ignoring 
empty sql query
[6:ml6:shed] [WRN] [DBL] [Aug 27 17:13:09] dbse_newfile: Ignoring empty 
sql query
[1:ml1:patio] [WRN] [DBL] [Aug 27 17:13:55] dbse_firstmotion: Ignoring 
empty sql query
[1:ml1:patio] [WRN] [DBL] [Aug 27 17:13:55] dbse_newfile: Ignoring empty 
sql query
[6:ml6:shed] [DBG] [DBL] [Aug 27 17:14:10] dbse_exec_mysql: Executing 
MySQL query
[1:ml1:patio] [DBG] [DBL] [Aug 27 17:14:57] dbse_exec_mysql: Executing 
MySQL query
[6:ml6:shed] [WRN] [DBL] [Aug 27 17:15:43] dbse_firstmotion: Ignoring 
empty sql query
[6:ml6:shed] [WRN] [DBL] [Aug 27 17:15:43] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:16:35] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:16:35] dbse_newfile: Ignoring empty 
sql query
[6:ml6:shed] [DBG] [DBL] [Aug 27 17:16:44] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:18:11] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:18:36] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:18:36] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:19:37] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:27:29] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:27:29] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:28:31] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:32:11] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:32:11] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:33:59] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:40:08] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:40:08] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:41:09] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:42:31] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:42:31] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:44:30] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:44:30] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:45:11] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [ERR] [DBL] [Aug 27 17:45:11] dbse_exec_mysql: MySQL query 
failed Duplicate entry '1-7-13-2021-08-27 17:42:31' for key 
'events.PRIMARY' error code 1062: Connection timed out
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:47:48] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:47:48] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:48:49] dbse_exec_mysql: Executing 
MySQL query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:48:54] dbse_firstmotion: Ignoring 
empty sql query
[7:ml7:gate] [WRN] [DBL] [Aug 27 17:48:54] dbse_newfile: Ignoring empty 
sql query
[7:ml7:gate] [DBG] [DBL] [Aug 27 17:49:55] dbse_exec_mysql: Executing 
MySQL query
[6:ml6:shed] [WRN] [DBL] [Aug 27 17:57:26] dbse_firstmotion: Ignoring 
empty sql query
[6:ml6:shed] [WRN] [DBL] [Aug 27 17:57:26] dbse_newfile: Ignoring empty 
sql query
[6:ml6:shed] [DBG] [DBL] [Aug 27 17:58:27] dbse_exec_mysql: Executing 
MySQL query
[6:ml6:shed] [WRN] [DBL] [Aug 27 17:59:28] dbse_firstmotion: Ignoring 
empty sql query
[6:ml6:shed] [WRN] [DBL] [Aug 27 17:59:28] dbse_newfile: Ignoring empty 
sql query
[6:ml6:shed] [DBG] [DBL] [Aug 27 18:00:28] dbse_exec_mysql: Executing 
MySQL query

You can see the duplicate entry error about 12 lines from the bottom of 
the log.? There also seems to be a lot of "Ignoring empty sql query" 
lines.? Not sure if that's normal or not.

HTH, David


On 8/27/21 6:55 AM, tosiara wrote:
> I was only able to reproduce the issue if:
>
> 1. sql_log_movie on and both sql_query_stop and sql_query are set to 
> the same query
> 2. when only sql_query defined and sql_log_picture on and sql_log_movie on
>
> The cause is the design of your query. It contains event's data that 
> does not change across the event, so if you are running multiple sql 
> queries you will get that primary key conflict, as you are effectively 
> inserting the same data multiple times.
>
> You can change the code to dump the query:
>
> diff --git a/src/dbse.c b/src/dbse.c
> index e64896e..c645ae4 100644
> --- a/src/dbse.c
> +++ b/src/dbse.c
> @@ -368,7 +368,7 @@ static void dbse_exec_mysql(char *sqlquery, struct 
> context *cnt, int save_id)
> ?{
> ? ? ?#if defined(HAVE_MYSQL)
> ? ? ? ? ?if (mystreq(cnt->conf.database_type, "mysql")) {
> - ? ? ? ? ? ?MOTION_LOG(DBG, TYPE_DB, NO_ERRNO, _("Executing mysql 
> query"));
> + ? ? ? ? ? ?MOTION_LOG(DBG, TYPE_DB, NO_ERRNO, _("Executing mysql 
> query %s"), sqlquery);
> ? ? ? ? ? ? ?if (mysql_query(cnt->database_mysql, sqlquery) != 0) {
> ? ? ? ? ? ? ? ? ?int error_code = mysql_errno(cnt->database_mysql);
>
> And run motion with DBL debug:
>
> motion -c motion-mysql.conf -n -d 9 -k DBL
>
> Then you will see which queries and when motion tries to insert
>
> [1:ml1:patio] [INF] [EVT] event_new_video: Source FPS 10
> [1:ml1:patio] [INF] [ENC] ffmpeg_set_quality: libx264 codec 
> vbr/crf/bit_rate: 28
> [1:ml1:patio] [DBG] [DBL] dbse_exec_mysql: Executing mysql query 
> INSERT INTO events 
> (server_number,camera_number,event_number,event_date,video_length,filename) 
> VALUES (1,1,01,{ts 
> '20210827135336'},null,'./2021-08-27/1-01-20210827135336.mp4');
> [1:ml1:patio] [NTC] [EVT] event_newfile: File of type 8 saved to: 
> ./2021-08-27/1-01-20210827135336.mp4
> [1:ml1:patio] [NTC] [ALL] motion_detected: Motion detected - starting 
> event 1
> [1:ml1:patio] [DBG] [DBL] dbse_exec_mysql: Executing mysql query 
> INSERT INTO events 
> (server_number,camera_number,event_number,event_date,video_length,filename) 
> VALUES (1,1,01,{ts 
> '20210827135336'},null,'./2021-08-27/1-01-20210827135336.jpg');
> [1:ml1:patio] [ERR] [DBL] dbse_exec_mysql: Mysql query failed 
> Duplicate entry '1-1-1-2021-08-27 13:53:36' for key 'events.PRIMARY' 
> error code 1062: Connection timed out
> [1:ml1:patio] [NTC] [EVT] event_newfile: File of type 1 saved to: 
> ./2021-08-27/1-01-20210827135336.jpg
>
> Please send your log with -d 9
>
>
> On Fri, Aug 27, 2021 at 1:42 PM tosiara <tosi...@gmail.com 
> <mailto:tosi...@gmail.com>> wrote:
>
>     Ah, ok, I see what you mean. You have sent it as a snit earlier
>     and GMail collapsed that section thinking it was a quote :D
>     Thanks, looking into it now
>
>
>     On Fri, Aug 27, 2021 at 1:39 PM David Powell <da...@depowell.com
>     <mailto:da...@depowell.com>> wrote:
>
>         Hi. I'm not sure what you mean,? they're all listed in the
>         section under "Database and SQL Configuration parameters".Is
>         there one in particular that you are looking for?
>
>         David
>
>         On August 27, 2021 4:29:33 AM tosiara <tosi...@gmail.com
>         <mailto:tosi...@gmail.com>> wrote:
>
>>         Hi,
>>
>>         I wanted to check your issue, but I don't see any database
>>         related parameters in your provided configs
>>
>>         On Fri, Aug 13, 2021 at 6:23 PM David Powell
>>         <da...@depowell.com <mailto:da...@depowell.com>> wrote:
>>
>>             I was going to open a bug report, but haven't quite
>>             gotten around to it yet.? Sorry.
>>
>>             Here's the output from /describe events;/
>>
>>
>>             *Field**
>>             *        *Type*  *Null*  *Key*   *Default*       *Extra*
>>             server_number    int     NO      PRI     <null>  
>>             camera_number    int     NO      PRI     <null>  
>>             event_number     int     NO      PRI     <null>  
>>             event_date       varchar(45)     NO      PRI     
>>              
>>             video_length     int     YES     
>>              <null>  
>>             filename         varchar(200)    YES     
>>              <null>  
>>
>>
>>             This is my main motion.conf. I can supply the individual
>>             camera config files but they're pretty simple.? I'll put
>>             one of them below the main config.
>>
>>             # /usr/local/etc/motion/motion.conf
>>             #
>>             # This config file was generated by motion
>>             4.1.1+git20181002-062a328
>>             # at 2021-06-08T17:01:40
>>
>>
>>             ############################################################
>>             # System control configuration parameters
>>             ############################################################
>>
>>             # Start in daemon (background) mode and release terminal.
>>             daemon on
>>
>>             # Start in Setup-Mode, daemon disabled.
>>             setup_mode off
>>
>>             # File to store the process ID.
>>             ; pid_file value
>>
>>             # File to write logs messages into. If not defined stderr
>>             and syslog is used.
>>             log_file /var/log/motion/motion.log
>>
>>             # Level of log messages [1..9] (EMG, ALR, CRT, ERR, WRN,
>>             NTC, INF, DBG, ALL).
>>             log_level 4
>>
>>             # Filter to log messages by type (COR, STR, ENC, NET,
>>             DBL, EVT, TRK, VID, ALL).
>>             log_type ALL
>>
>>             # Do not sound beeps when detecting motion
>>             quiet on
>>
>>             # Native language support.
>>             native_language on
>>
>>             # User defined name for the camera.
>>             ; camera_name value
>>
>>             # Numeric identifier for the camera.
>>             camera_id 0
>>
>>             # Target directory for pictures, snapshots and movies
>>             ; target_dir value
>>
>>             # Video device (e.g. /dev/video0) to be used for capturing.
>>             videodevice /dev/video0
>>
>>             # Parameters to control video device.? See motion_guide.html
>>             ; vid_control_params value
>>
>>             # Preferred color palette to be used for the video device
>>             v4l2_palette 17
>>
>>             # The input number to be used on the video device.
>>             input -1
>>
>>             # The video norm to use for video capture and TV tuner cards.
>>             norm 0
>>
>>             # The frequency to set the tuner to (kHz) for TV tuner cards
>>             frequency 0
>>
>>             # The Motion method to use to change the
>>             brightness/exposure on video device.
>>             auto_brightness 0
>>
>>             # Device name (e.g. /dev/tuner0) to be used for capturing
>>             when using tuner as source
>>             ; tunerdevice value
>>
>>             # Number of frames to capture in each roundrobin step
>>             roundrobin_frames 1
>>
>>             # Number of frames to skip before each roundrobin step
>>             roundrobin_skip 1
>>
>>             # Try to filter out noise generated by roundrobin
>>             roundrobin_switchfilter off
>>
>>             # The full URL of the network camera stream.
>>             ; netcam_url value
>>
>>             # Optional high resolution URL for rtsp/rtmp cameras only.
>>             ; netcam_highres value
>>
>>             # Username and password for network camera. Syntax
>>             username:password
>>             ; netcam_userpass value
>>
>>             # The method for keep-alive of network socket for mjpeg
>>             streams.
>>             netcam_keepalive on
>>
>>             # The URL to use for a netcam proxy server.
>>             ; netcam_proxy value
>>
>>             # Use less strict jpeg checks for network cameras.
>>             netcam_tolerant_check on
>>
>>             # Use TCP transport for RTSP/RTMP connections to camera.
>>             netcam_use_tcp on
>>
>>             # Name of mmal camera (e.g. vc.ril.camera for pi camera).
>>             ; mmalcam_name value
>>
>>             # Camera control parameters (see raspivid/raspistill tool
>>             documentation)
>>             ; mmalcam_control_params value
>>
>>             ############################################################
>>             # Image Processing configuration parameters
>>             ############################################################
>>
>>             # Image width in pixels.
>>             width 640
>>
>>             # Image height in pixels.
>>             height 480
>>
>>             # Maximum number of frames to be captured per second.
>>             framerate 15
>>
>>             # Minimum time in seconds between capturing picture
>>             frames from the camera.
>>             minimum_frame_time 0
>>
>>             # Number of degrees to rotate image.
>>             rotate 0
>>
>>             # Flip image over a given axis
>>             flip_axis none
>>
>>             # Draw a locate box around the moving object.
>>             locate_motion_mode preview
>>
>>             # Set the look and style of the locate box.
>>             locate_motion_style redbox
>>
>>             # Text to be overlayed in the lower left corner of images
>>             text_left CAMERA1
>>
>>             # Text to be overlayed in the lower right corner of images.
>>             text_right %Y-%m-%d\n%T-%q
>>
>>             # Overlay number of changed pixels in upper right corner
>>             of images.
>>             text_changes off
>>
>>             # Scale factor for text overlayed on images.
>>             text_scale 1
>>
>>             # The special event conversion specifier %C
>>             text_event %Y%m%d%H%M%S
>>
>>             ############################################################
>>             # Motion detection configuration parameters
>>             ############################################################
>>
>>             # Always save pictures and movies even if there was no
>>             motion.
>>             emulate_motion off
>>
>>             # Threshold for number of changed pixels that triggers
>>             motion.
>>             threshold 2500
>>
>>             # Enable tuning of the threshold down if possible.
>>             threshold_tune off
>>
>>             # Noise threshold for the motion detection.
>>             noise_level 32
>>
>>             # Automatically tune the noise threshold
>>             noise_tune on
>>
>>             # Despeckle the image using (E/e)rode or (D/d)ilate or
>>             (l)abel.
>>             despeckle_filter EedDl
>>
>>             # Area number used to trigger the on_area_detected script.
>>             ; area_detect value
>>
>>             # Full path and file name for motion detection mask PGM file.
>>             ; mask_file value
>>
>>             # Full path and file name for privacy mask PGM file.
>>             ; mask_privacy value
>>
>>             # The value defining how slow or fast the smart motion
>>             mask created and used.
>>             smart_mask_speed 0
>>
>>             # Percentage of image that triggers a lightswitch detected.
>>             lightswitch_percent 75
>>
>>             # When lightswitch is detected, ignore this many frames
>>             lightswitch_frames 3
>>
>>             # Number of images that must contain motion to trigger an
>>             event.
>>             minimum_motion_frames 1
>>
>>             # Gap in seconds of no motion detected that triggers the
>>             end of an event.
>>             event_gap 60
>>
>>             # The number of pre-captured (buffered) pictures from
>>             before motion.
>>             pre_capture 6
>>
>>             # Number of frames to capture after motion is no longer
>>             detected.
>>             post_capture 3
>>
>>             ############################################################
>>             # Script execution configuration parameters
>>             ############################################################
>>
>>             # Command to be executed when an event starts.
>>             ; on_event_start value
>>
>>             # Command to be executed when an event ends.
>>             ; on_event_end value
>>
>>             # Command to be executed when a picture is saved.
>>             ; on_picture_save value
>>
>>             # Command to be executed when motion in a predefined area
>>             is detected
>>             ; on_area_detected value
>>
>>             # Command to be executed when motion is detected
>>             ; on_motion_detected value
>>
>>             # Command to be executed when a movie file is created.
>>             ; on_movie_start value
>>
>>             # Command to be executed when a movie file is closed.
>>             on_movie_end java -cp /usr/local/bin/CamSummary.jar
>>             david/camera/SpecUpdater %f
>>
>>             # Command to be executed when a camera can't be opened or
>>             if it is lost
>>             ; on_camera_lost value
>>
>>             # Command to be executed when a camera that was lost has
>>             been found.
>>             ; on_camera_found value
>>
>>             ############################################################
>>             # Picture output configuration parameters
>>             ############################################################
>>
>>             # Output pictures when motion is detected
>>             picture_output best
>>
>>             # Output pictures with only the pixels moving object
>>             (ghost images)
>>             picture_output_motion off
>>
>>             # Format for the output pictures.
>>             picture_type jpeg
>>
>>             # The quality (in percent) to be used in the picture
>>             compression
>>             picture_quality 75
>>
>>             # Text to include in a JPEG EXIF comment
>>             ; picture_exif value
>>
>>             # File name(without extension) for pictures relative to
>>             target directory
>>             picture_filename %Y-%m-%d/%t-%v-%C
>>
>>             ############################################################
>>             # Snapshot output configuration parameters
>>             ############################################################
>>
>>             # Make automated snapshot every N seconds
>>             snapshot_interval 0
>>
>>             # File name(without extension) for snapshots relative to
>>             target directory
>>             snapshot_filename %v-%Y%m%d%H%M%S-snapshot
>>
>>             ############################################################
>>             # Movie output configuration parameters
>>             ############################################################
>>
>>             # Create movies of motion events.
>>             movie_output on
>>
>>             # Create movies of moving pixels of motion events.
>>             movie_output_motion off
>>
>>             # Maximum length of movie in seconds.
>>             movie_max_time 120
>>
>>             # The fixed bitrate to be used by the movie encoder.
>>             Ignore quality setting
>>             movie_bps 400000
>>
>>             # The encoding quality of the movie. (0=use bitrate.
>>             1=worst quality, 100=best)
>>             movie_quality 45
>>
>>             # Container/Codec to used for the movie. See
>>             motion_guide.html
>>             movie_codec mp4
>>
>>             # Duplicate frames to achieve "framerate" fps.
>>             movie_duplicate_frames off
>>
>>             # Pass through from the camera to the movie without
>>             decode/encoding.
>>             movie_passthrough off
>>
>>             # File name(without extension) for movies relative to
>>             target directory
>>             movie_filename %Y-%m-%d/%t-%v-%C
>>
>>             # Use pipe and external encoder for creating movies.
>>             movie_extpipe_use off
>>
>>             # Full path and options for external encoder of movies
>>             from raw images
>>             ; movie_extpipe value
>>
>>             ############################################################
>>             # Timelapse output configuration parameters
>>             ############################################################
>>
>>             # Interval in seconds between timelapse captures.
>>             timelapse_interval 0
>>
>>             # Timelapse file rollover mode. See motion_guide.html for
>>             options and uses.
>>             timelapse_mode daily
>>
>>             # Frame rate for timelapse playback
>>             timelapse_fps 30
>>
>>             # Container/Codec for timelapse movie.
>>             timelapse_codec mpg
>>
>>             # File name(without extension) for timelapse movies
>>             relative to target directory
>>             timelapse_filename %Y%m%d-timelapse
>>
>>             ############################################################
>>             # Loopback pipe configuration parameters
>>             ############################################################
>>
>>             # v4l2 loopback device to receive normal images
>>             ; video_pipe value
>>
>>             # v4l2 loopback device to receive motion images
>>             ; video_pipe_motion value
>>
>>             ############################################################
>>             # Webcontrol configuration parameters
>>             ############################################################
>>
>>             # Port number used for the webcontrol.
>>             webcontrol_port 1800
>>
>>             # Enable IPv6 addresses.
>>             webcontrol_ipv6 off
>>
>>             # Restrict webcontrol connections to the localhost.
>>             webcontrol_localhost off
>>
>>             # Type of configuration options to allow via the webcontrol.
>>             webcontrol_parms 2
>>
>>             # Method that webcontrol should use for interface with user.
>>             webcontrol_interface 0
>>
>>             # The authentication method for the webcontrol
>>             webcontrol_auth_method 0
>>
>>             # Authentication string for the webcontrol. Syntax
>>             username:password
>>             ; webcontrol_authentication value
>>
>>             # Use ssl / tls for the webcontrol
>>             webcontrol_tls off
>>
>>             # Full path and file name of the certificate file for tls
>>             ; webcontrol_cert value
>>
>>             # Full path and file name of the key file for tls
>>             ; webcontrol_key value
>>
>>             # The cross-origin resource sharing (CORS) header for
>>             webcontrol
>>             ; webcontrol_cors_header value
>>
>>             ############################################################
>>             # Live stream configuration parameters
>>             ############################################################
>>
>>             # The port number for the live stream.
>>             stream_port 8081
>>
>>             # The port number for the live substream
>>             substream_port 0
>>
>>             # Restrict stream connections to the localhost.
>>             stream_localhost off
>>
>>             # Authentication method for live stream.
>>             stream_auth_method 0
>>
>>             # The authentication string for the stream. Syntax
>>             username:password
>>             ; stream_authentication value
>>
>>             # Use ssl / tls for stream.
>>             stream_tls off
>>
>>             # The cross-origin resource sharing (CORS) header for the
>>             stream
>>             ; stream_cors_header value
>>
>>             # Percentage to scale the stream image on the webcontrol.
>>             stream_preview_scale 25
>>
>>             # Have the stream image start on a new line of the webcontrol
>>             stream_preview_newline off
>>
>>             # Method for showing stream on webcontrol.
>>             stream_preview_method 0
>>
>>             # Quality of the jpeg images produced for stream.
>>             stream_quality 50
>>
>>             # Provide the stream images in black and white
>>             stream_grey off
>>
>>             # Output frames at 1 fps when no motion is detected.
>>             stream_motion off
>>
>>             # Maximum framerate of images provided for stream
>>             stream_maxrate 1
>>
>>             # Limit the number of images per connection
>>             stream_limit 0
>>
>>             ############################################################
>>             # Database and SQL Configuration parameters
>>             ############################################################
>>
>>             # The type of database being used if any.
>>             database_type mysql
>>
>>             # Database name to use. For sqlite3, the full path and name.
>>             database_dbname cameras
>>
>>             # The host on which the database is located
>>             database_host localhost
>>
>>             # Port used by the database.
>>             database_port 3306
>>
>>             # User account name for database.
>>             database_user <redacted>
>>
>>             # User password for database.
>>             database_password <redacted>
>>
>>             # Database wait for unlock time
>>             database_busy_timeout 5
>>
>>             # Log to the database when creating motion triggered
>>             image file
>>             sql_log_picture off
>>
>>             # Log to the database when creating a snapshot image file
>>             sql_log_snapshot off
>>
>>             # Log to the database when creating motion triggered
>>             movie file
>>             sql_log_movie on
>>
>>             # Log to the database when creating timelapse movie file
>>             sql_log_timelapse off
>>
>>             # SQL query at event start.? See motion_guide.html
>>             ; sql_query_start value
>>
>>             # SQL query at event stop.? See motion_guide.html
>>             sql_query_stop INSERT INTO events
>>             
>> (server_number,camera_number,event_number,event_date,video_length,filename)
>>             VALUES (1,%t,%v,{ts '%C'},null,'%f');
>>
>>             # SQL query string that is sent to the database.? See
>>             motion_guide.html
>>             ; sql_query
>>
>>             ############################################################
>>             # Tracking configuration parameters
>>             ############################################################
>>
>>             # Method used by tracking camera. See motion_guide.html
>>             track_type 0
>>
>>             # Enable auto tracking
>>             track_auto off
>>
>>             # Serial port of motor
>>             ; track_port value
>>
>>             # Motor number for x-axis
>>             track_motorx 0
>>
>>             # Set motorx reverse
>>             track_motorx_reverse off
>>
>>             # Motor number for y-axis
>>             track_motory 0
>>
>>             # Set motory reverse
>>             track_motory_reverse off
>>
>>             # Maximum value on x-axis
>>             track_maxx 0
>>
>>             # Minimum value on x-axis
>>             track_minx 0
>>
>>             # Maximum value on y-axis
>>             track_maxy 0
>>
>>             # Minimum value on y-axis
>>             track_miny 0
>>
>>             # Center value on x-axis
>>             track_homex 128
>>
>>             # Center value on y-axis
>>             track_homey 128
>>
>>             # ID of an iomojo camera if used
>>             track_iomojo_id 0
>>
>>             # Angle in degrees the camera moves per step on the
>>             X-axis with auto-track
>>             track_step_angle_x 10
>>
>>             # Angle in degrees the camera moves per step on the
>>             Y-axis with auto-track.
>>             track_step_angle_y 10
>>
>>             # Delay to wait for after tracking movement as number of
>>             picture frames.
>>             track_move_wait 10
>>
>>             # Speed to set the motor to (stepper motor option)
>>             track_speed 255
>>
>>             # Number of steps to make (stepper motor option)
>>             track_stepsize 40
>>
>>             # Command to execute to move a camera in generic tracking
>>             mode
>>             ; track_generic_move value
>>
>>             ##############################################################
>>             # Camera config files - One for each camera.
>>             ##############################################################
>>             camera /usr/local/etc/motion/cameraPatio.conf
>>             camera /usr/local/etc/motion/cameraShop.conf
>>             camera /usr/local/etc/motion/cameraPumpHouse.conf
>>             camera /usr/local/etc/motion/cameraBackYard.conf
>>             camera /usr/local/etc/motion/cameraPumpYard.conf
>>             camera /usr/local/etc/motion/cameraShed.conf
>>             camera /usr/local/etc/motion/cameraGate.conf
>>
>>             ##############################################################
>>             # Directory to read '.conf' files for cameras.
>>             ##############################################################
>>             ; camera_dir /etc/motion/conf.d
>>
>>
>>
>>             This is the /cameraPatio.conf/ file. The other files are
>>             very similar.
>>
>>             # /usr/local/etc/motion/cameraPatio.conf
>>             #
>>             # This config file was generated by motion
>>             4.1.1+git20181002-062a328
>>             # at 2021-06-08T17:01:40
>>
>>
>>             # User defined name for the camera.
>>             camera_name patio
>>
>>             # Target directory for pictures, snapshots and movies
>>             target_dir /var/www/html/cams/patio
>>
>>             # The full URL of the network camera stream.
>>             netcam_url http://10.10.6.181:8181/videostream.cgi?user=
>>             <http://10.10.6.181:8181/videostream.cgi?user=><redacted>&pwd=
>>
>>             # The method for keep-alive of network socket for mjpeg
>>             streams.
>>             netcam_keepalive off
>>
>>             # Text to be overlayed in the lower left corner of images
>>             text_left Patio
>>
>>             # Threshold for number of changed pixels that triggers
>>             motion.
>>             threshold 1000
>>
>>             # Enable tuning of the threshold down if possible.
>>             threshold_tune on
>>
>>             # Full path and file name for motion detection mask PGM file.
>>             mask_file /usr/local/etc/motion/patioMask.pgm
>>
>>             ############################################################
>>             # Webcontrol configuration parameters
>>             ############################################################
>>
>>             # Port number used for the webcontrol.
>>             webcontrol_port 0
>>
>>             ############################################################
>>             # Live stream configuration parameters
>>             ############################################################
>>
>>             # The port number for the live stream.
>>             stream_port 1801
>>
>>             Let me know if you need any other info.
>>
>>             David
>>
>>
>>             On 8/13/21 6:31 AM, tosiara wrote:
>>>             Could you send me your exact motion config and mysql command 
>>> output:
>>>             "describe events;"
>>>             I will try to check
>>>
>>>             On Thu, Jul 29, 2021 at 8:45 PM Shawn 
>>> Ashe<dracutfo...@gmail.com>  <mailto:dracutfo...@gmail.com>  wrote:
>>>>             I would find a way to log it, at least it's a symptom you can 
>>>> give to the motion team, and maybe something will become obvious to you
>>>>
>>>>             On Thu, Jul 29, 2021, 1:05 PM David Powell<da...@depowell.com> 
>>>>  <mailto:da...@depowell.com>  wrote:
>>>>>             It's the %v replaceable parameter in the insert statement.  
>>>>> Motion generates it internally.
>>>>>             dp
>>>>>
>>>>>             On July 29, 2021 11:26:25 AM Shawn 
>>>>> Ashe<dracutfo...@gmail.com>  <mailto:dracutfo...@gmail.com>  wrote:
>>>>>>             is the event_number a counter,or based on time/etc?
>>>>>>
>>>>>>             Could be the events are going off to fast and you are 
>>>>>> getting duplicate event numbers.
>>>>>>
>>>>>>             On Thu, Jul 29, 2021 at 12:15 PM David 
>>>>>> Powell<da...@depowell.com>  <mailto:da...@depowell.com>  wrote:
>>>>>>>             Oh, I understand your question better now. The event number 
>>>>>>> is generated by Motion automatically.
>>>>>>>
>>>>>>>             David
>>>>>>>
>>>>>>>             On July 29, 2021 11:11:01 AM David 
>>>>>>> Powell<da...@depowell.com>  <mailto:da...@depowell.com>  wrote:
>>>>>>>>             My understanding is that event_number is there for this 
>>>>>>>> very purpose - to make each event unique. I can't imagine another 
>>>>>>>> reason to have it.
>>>>>>>>
>>>>>>>>             David
>>>>>>>>
>>>>>>>>             On July 29, 2021 10:46:33 ammotionl...@frontdesign.com  
>>>>>>>> <mailto:motionl...@frontdesign.com>  wrote:
>>>>>>>>>             Hi.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>             Also; "The primary key for the events table is 
>>>>>>>>> server_number,event_number,event_date, and camera_number."
>>>>>>>>>
>>>>>>>>>             So, can the server_number, event_number, event_date and 
>>>>>>>>> camera_number be the same twice?
>>>>>>>>>
>>>>>>>>>             I'm guessing server_number for sure, camera_number too. 
>>>>>>>>> Event date? Yeah possible if it's two events in tight enough sequence 
>>>>>>>>> and sloppy enough datetime datatype.
>>>>>>>>>
>>>>>>>>>             event_number? ... doesn't sound likely but... what do i 
>>>>>>>>> know - how does that get generated?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>             Why not use an auto_intrement for primary key and have a 
>>>>>>>>> composite index on those other columns instead?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>             //Lars
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>             On 2021-07-29 16:59, John L. Poole wrote:
>>>>>>>>>
>>>>>>>>>             The error message you shared, e.g. trigger of a primary 
>>>>>>>>> key constraint, suggests an error in program design.   If you have a 
>>>>>>>>> table with unique constraints, e.g. every entry must be unique, you 
>>>>>>>>> don't try to insert the same record twice.
>>>>>>>>>
>>>>>>>>>             I recommend you file a bug so everything is documented 
>>>>>>>>> well and then the developers can determine why they are attempting to 
>>>>>>>>> insert something already present, or at least testing for presence 
>>>>>>>>> before attempting to insert a record that may already exist.
>>>>>>>>>
>>>>>>>>>             On 7/29/2021 7:27 AM, David Powell wrote:
>>>>>>>>>
>>>>>>>>>             This is the whole SQL section of motion.conf:
>>>>>>>>>
>>>>>>>>>             
>>>>>>>>> ############################################################
>>>>>>>>>             # Database and SQL Configuration parameters
>>>>>>>>>             
>>>>>>>>> ############################################################
>>>>>>>>>
>>>>>>>>>             # The type of database being used if any.
>>>>>>>>>             database_type mysql
>>>>>>>>>
>>>>>>>>>             # Database name to use. For sqlite3, the full path and 
>>>>>>>>> name.
>>>>>>>>>             database_dbname cameras
>>>>>>>>>
>>>>>>>>>             # The host on which the database is located
>>>>>>>>>             database_host localhost
>>>>>>>>>
>>>>>>>>>             # Port used by the database.
>>>>>>>>>             database_port 3306
>>>>>>>>>
>>>>>>>>>             # User account name for database.
>>>>>>>>>             database_user <redacted>
>>>>>>>>>
>>>>>>>>>             # User password for database.
>>>>>>>>>             database_password <redacted>
>>>>>>>>>
>>>>>>>>>             # Database wait for unlock time
>>>>>>>>>             database_busy_timeout 5
>>>>>>>>>
>>>>>>>>>             # Log to the database when creating motion triggered 
>>>>>>>>> image file
>>>>>>>>>             sql_log_picture off
>>>>>>>>>
>>>>>>>>>             # Log to the database when creating a snapshot image file
>>>>>>>>>             sql_log_snapshot off
>>>>>>>>>
>>>>>>>>>             # Log to the database when creating motion triggered 
>>>>>>>>> movie file
>>>>>>>>>             sql_log_movie on
>>>>>>>>>
>>>>>>>>>             # Log to the database when creating timelapse movie file
>>>>>>>>>             sql_log_timelapse off
>>>>>>>>>
>>>>>>>>>             # SQL query at event start.  See motion_guide.html
>>>>>>>>>             ; sql_query_start value
>>>>>>>>>
>>>>>>>>>             # SQL query at event stop.  See motion_guide.html
>>>>>>>>>             sql_query_stop INSERT INTO events 
>>>>>>>>> (server_number,camera_number,event_number,event_date,video_length,filename)
>>>>>>>>>  VALUES (1,%t,%v,{ts '%C'},null,'%f');
>>>>>>>>>
>>>>>>>>>             # SQL query string that is sent to the database.  See 
>>>>>>>>> motion_guide.html
>>>>>>>>>             ; sql_query
>>>>>>>>>
>>>>>>>>>             I had the query in sql_query but I moved it to 
>>>>>>>>> sql_query_stop.  That didn't help.
>>>>>>>>>
>>>>>>>>>             David
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>             On 7/29/21 8:17 AM, Damian via Motion-user wrote:
>>>>>>>>>
>>>>>>>>>             The SQL statement in motion.conf is
>>>>>>>>>             INSERT INTO events 
>>>>>>>>> (server_number,camera_number,event_number,event_date,video_length,filename)
>>>>>>>>>  VALUES (1,%t,%v,{ts '%C'},null,'%f');
>>>>>>>>>
>>>>>>>>>             The records /are/ there in the database, and I run a 
>>>>>>>>> custom program to extract them for displaying the snapshots and 
>>>>>>>>> movies in a web page
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>             Which sql_log_* statements are enabled?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>             _______________________________________________
>>>>>>>>>             Motion-user mailing list
>>>>>>>>>             Motion-user@lists.sourceforge.net  
>>>>>>>>> <mailto:Motion-user@lists.sourceforge.net>
>>>>>>>>>             https://lists.sourceforge.net/lists/listinfo/motion-user  
>>>>>>>>> <https://lists.sourceforge.net/lists/listinfo/motion-user>
>>>>>>>>>             https://motion-project.github.io/  
>>>>>>>>> <https://motion-project.github.io/>
>>>>>>>>>
>>>>>>>>>             
>>>>>>>>> Unsubscribe:https://lists.sourceforge.net/lists/options/motion-user  
>>>>>>>>> <https://lists.sourceforge.net/lists/options/motion-user>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>             _______________________________________________
>>>>>>>>>             Motion-user mailing list
>>>>>>>>>             Motion-user@lists.sourceforge.net  
>>>>>>>>> <mailto:Motion-user@lists.sourceforge.net>
>>>>>>>>>             https://lists.sourceforge.net/lists/listinfo/motion-user  
>>>>>>>>> <https://lists.sourceforge.net/lists/listinfo/motion-user>
>>>>>>>>>             https://motion-project.github.io/  
>>>>>>>>> <https://motion-project.github.io/>
>>>>>>>>>
>>>>>>>>>             
>>>>>>>>> Unsubscribe:https://lists.sourceforge.net/lists/options/motion-user  
>>>>>>>>> <https://lists.sourceforge.net/lists/options/motion-user>
>>>>>>>>>
>>>>>>>>>             --
>>>>>>>>>
>>>>>>>>>             John Laurence Poole
>>>>>>>>>             1566 Court ST NE
>>>>>>>>>             Salem OR 97301-4241
>>>>>>>>>             707-812-1323 office
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>             _______________________________________________
>>>>>>>>>             Motion-user mailing list
>>>>>>>>>             Motion-user@lists.sourceforge.net  
>>>>>>>>> <mailto:Motion-user@lists.sourceforge.net>
>>>>>>>>>             https://lists.sourceforge.net/lists/listinfo/motion-user  
>>>>>>>>> <https://lists.sourceforge.net/lists/listinfo/motion-user>
>>>>>>>>>             https://motion-project.github.io/  
>>>>>>>>> <https://motion-project.github.io/>
>>>>>>>>>
>>>>>>>>>             
>>>>>>>>> Unsubscribe:https://lists.sourceforge.net/lists/options/motion-user  
>>>>>>>>> <https://lists.sourceforge.net/lists/options/motion-user>
>>>>>>>>>
>>>>>>>>>             _______________________________________________
>>>>>>>>>             Motion-user mailing list
>>>>>>>>>             Motion-user@lists.sourceforge.net  
>>>>>>>>> <mailto:Motion-user@lists.sourceforge.net>
>>>>>>>>>             https://lists.sourceforge.net/lists/listinfo/motion-user  
>>>>>>>>> <https://lists.sourceforge.net/lists/listinfo/motion-user>
>>>>>>>>>             https://motion-project.github.io/  
>>>>>>>>> <https://motion-project.github.io/>
>>>>>>>>>
>>>>>>>>>             
>>>>>>>>> Unsubscribe:https://lists.sourceforge.net/lists/options/motion-user  
>>>>>>>>> <https://lists.sourceforge.net/lists/options/motion-user>
>>>>>>>             _______________________________________________
>>>>>>>             Motion-user mailing list
>>>>>>>             Motion-user@lists.sourceforge.net  
>>>>>>> <mailto:Motion-user@lists.sourceforge.net>
>>>>>>>             https://lists.sourceforge.net/lists/listinfo/motion-user  
>>>>>>> <https://lists.sourceforge.net/lists/listinfo/motion-user>
>>>>>>>             https://motion-project.github.io/  
>>>>>>> <https://motion-project.github.io/>
>>>>>>>
>>>>>>>             
>>>>>>> Unsubscribe:https://lists.sourceforge.net/lists/options/motion-user  
>>>>>>> <https://lists.sourceforge.net/lists/options/motion-user>
>>>>>>             _______________________________________________
>>>>>>             Motion-user mailing list
>>>>>>             Motion-user@lists.sourceforge.net  
>>>>>> <mailto:Motion-user@lists.sourceforge.net>
>>>>>>             https://lists.sourceforge.net/lists/listinfo/motion-user  
>>>>>> <https://lists.sourceforge.net/lists/listinfo/motion-user>
>>>>>>             https://motion-project.github.io/  
>>>>>> <https://motion-project.github.io/>
>>>>>>
>>>>>>             
>>>>>> Unsubscribe:https://lists.sourceforge.net/lists/options/motion-user  
>>>>>> <https://lists.sourceforge.net/lists/options/motion-user>
>>>>>             _______________________________________________
>>>>>             Motion-user mailing list
>>>>>             Motion-user@lists.sourceforge.net  
>>>>> <mailto:Motion-user@lists.sourceforge.net>
>>>>>             https://lists.sourceforge.net/lists/listinfo/motion-user  
>>>>> <https://lists.sourceforge.net/lists/listinfo/motion-user>
>>>>>             https://motion-project.github.io/  
>>>>> <https://motion-project.github.io/>
>>>>>
>>>>>             
>>>>> Unsubscribe:https://lists.sourceforge.net/lists/options/motion-user  
>>>>> <https://lists.sourceforge.net/lists/options/motion-user>
>>>>             _______________________________________________
>>>>             Motion-user mailing list
>>>>             Motion-user@lists.sourceforge.net  
>>>> <mailto:Motion-user@lists.sourceforge.net>
>>>>             https://lists.sourceforge.net/lists/listinfo/motion-user  
>>>> <https://lists.sourceforge.net/lists/listinfo/motion-user>
>>>>             https://motion-project.github.io/  
>>>> <https://motion-project.github.io/>
>>>>
>>>>             
>>>> Unsubscribe:https://lists.sourceforge.net/lists/options/motion-user  
>>>> <https://lists.sourceforge.net/lists/options/motion-user>
>>>             _______________________________________________
>>>             Motion-user mailing list
>>>             Motion-user@lists.sourceforge.net  
>>> <mailto:Motion-user@lists.sourceforge.net>
>>>             https://lists.sourceforge.net/lists/listinfo/motion-user  
>>> <https://lists.sourceforge.net/lists/listinfo/motion-user>
>>>             https://motion-project.github.io/  
>>> <https://motion-project.github.io/>
>>>
>>>             
>>> Unsubscribe:https://lists.sourceforge.net/lists/options/motion-user  
>>> <https://lists.sourceforge.net/lists/options/motion-user>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------



------------------------------

Subject: Digest Footer

_______________________________________________
Motion-user mailing list
Motion-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/motion-user


------------------------------

End of Motion-user Digest, Vol 182, Issue 22
********************************************

Reply via email to