Revisions to configuration options.
1. Revise config options to be `movie_` and `picture_`
2. Revise config options to align with topic and code.
* motion_video_pipe, ipv6_enabled, rtsp_uses_tcp
* switchfilter, logfile, process_id_file
3. Revise depreciated options to still be valid for webcontrol and config files.
4. Revise distributed config files to only include most common options
5. Revise sequence of config options to be arranged by topic.
6. Revise code to use names consistent with config parms.
7. Revise manual, guide and code to specify same default values.
8. Update guide and manual to reflect revised option names.
Implement micro-httpd for providing webcontrol and streams
1. Add tls support for webcontrol and streams. aka ssl/tls, https
2. Add functionality to provide streams on single port
3. Add functionality for additional authentication methods of webcontrol.
4. Add functionality for providing static images
5. Update documentation for new functionality.
6. Resolve issue with stream_preview_newline
7. Add functionality for specifying camera in webcontrol and streams via camera_id
8. Depreciated functionality to specify substream via port
9. Add functionality to specify substream via a URL
10. Revise `quit` to only be available via text (programmatic) interface
11. Added functionality for CORS header on webcontrol interface
Closes#526Closes#661Closes#709Closes#737Closes#750
Add track_generic_move parameter to execute external script for moving camera
Provide environment variables that can be used by external script for tracking.
Implement a new configuration option which allows users to specify the
type of parameters which can be accessed via the webcontrol page. The
new option permits levels 0(none) to 3(restricted) with a default of
none. This option is to enhance the security associated with the
application for users that may expose the webcontrol port publicly.
Close#515
* Timelapse Options
1. Revise the configuration options to have some of the timelapse options use distinct configuration values.
Closes#43
* Whitespace
* High Resolution
Refactor the netcam_rtsp module and associated image variables to allow for processing a dual stream from rtsp cameras.
Continue the process of segregating the functionality of the netcams into distinct modules based upon their function.
* Add a runtime argument to dump config options
In order to simplify support requests, we can now dump all enabled
config options to the log(file), with argument 'o' for 'options'.
Any likely sensitive information will be redacted.
* Documentation update for dump config argument
This commit adds functionality to use a v4l2 device via the netcam_url
option. This will allow for more v4l2 devices since the netcam_url
uses the ffmpeg libraries which should be able to to decode and transform
the unusual pixel formats and sizes.
This commit includes:
1. Consolidate functions into appropriate modules
2. Rename modules to reflect contents (v4l2, bktr, common)
3. Combines v4l2 and bktr so they can be used together
4. Implements functional prefixes
5. Uses HAVE_V4L2, HAVE_BKTR instead of WITHOUT_
6. Include pthread_np.h for FreeBSD
This commit fully implements the privacy mask on all color components of the image.
Since activity could still be detected with just the cr/cb this change addresses
putting the mask on these color components in addition to just the y component.
It also changes the mask to black since we have to manually assign the cr/cb
to x80 to have it reflect a acceptable color for the masked area.
Only basic webp compression is supported (the only tunable is 0-100%
compression adjustment), without EXIF metadata.
Motion build scripts are configured to build in the support by default
and will emit an error if the needed library is missing. Suport can be
manualy disabled at configuration stage adding --without-libwebp.
Documentation update will follow in a separate commit.
Tested on x86-64 Linux only.
This commit cleans up some of the items for the v4l2loopback.
Replace tabs with spaces
Replace printf with MOTION_LOG
Update guide to eliminate instructions for building old vloopback
New v4l2 does not support the - option
Remove option ipv6_enabled (IPv6 is always enabled)
Add option localhost_ipv4 (the user must choose to listen to IPv4 and IPv6 localhost, only relevant when the localhost option is set to on)