Merge branch 'storageareas' of github.com:connortechnology/ZoneMinder into storageareas
This commit is contained in:
commit
d3ba0ce129
19
docs/faq.rst
19
docs/faq.rst
|
@ -646,6 +646,23 @@ Why am I getting broken images when trying to view events?
|
||||||
Zoneminder and the Apache web server need to have the right permissions. Check this forum topic and similar ones:
|
Zoneminder and the Apache web server need to have the right permissions. Check this forum topic and similar ones:
|
||||||
http://www.zoneminder.com/forums/viewtopic.php?p=48754#48754
|
http://www.zoneminder.com/forums/viewtopic.php?p=48754#48754
|
||||||
|
|
||||||
|
|
||||||
|
I can review events for the current day, but ones from yesterday and beyond error out
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you've checked that the `www-data` user has permissions to the storage folders, perhaps your php.ini's timezone setting is incorrect. They _must_ match for certain playback functions.
|
||||||
|
|
||||||
|
If you're using Linux, this can be found using the following command: ::
|
||||||
|
|
||||||
|
timedatectl | grep "Time zone"
|
||||||
|
|
||||||
|
If using FreeBSD, you can use this one-liner: ::
|
||||||
|
|
||||||
|
cd /usr/share/zoneinfo/ && find * -type f -exec cmp -s {} /etc/localtime \; -print;
|
||||||
|
|
||||||
|
Once you know what timezone your system is set to, open `/etc/php.ini` and adjust ``date.timezone`` to the appropriate value. the PHP daemon may need to be restarted for changes to take effect.
|
||||||
|
|
||||||
|
|
||||||
Why is the image from my color camera appearing in black and white?
|
Why is the image from my color camera appearing in black and white?
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
If you recently upgraded to zoneminder 1.26, there is a per camera option that defaults to black and white and can be mis-set if your upgrade didn't happen right. See this thread: http://www.zoneminder.com/forums/viewtopic.php?f=30&t=21344
|
If you recently upgraded to zoneminder 1.26, there is a per camera option that defaults to black and white and can be mis-set if your upgrade didn't happen right. See this thread: http://www.zoneminder.com/forums/viewtopic.php?f=30&t=21344
|
||||||
|
@ -728,6 +745,8 @@ What causes "Invalid JPEG file structure: two SOI markers" from zmc (1.24.x)
|
||||||
|
|
||||||
Some settings that used to be global only are now per camera. On the Monitor Source tab, if you are using Remote Protocol "HTTP" and Remote Method "Simple", try changing Remote Method to "Regexp".
|
Some settings that used to be global only are now per camera. On the Monitor Source tab, if you are using Remote Protocol "HTTP" and Remote Method "Simple", try changing Remote Method to "Regexp".
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Miscellaneous
|
Miscellaneous
|
||||||
-------------------
|
-------------------
|
||||||
I see ZoneMinder is licensed under the GPL. What does that allow or restrict me in doing with ZoneMinder?
|
I see ZoneMinder is licensed under the GPL. What does that allow or restrict me in doing with ZoneMinder?
|
||||||
|
|
|
@ -44,6 +44,7 @@ extern "C" {
|
||||||
|
|
||||||
|
|
||||||
#if HAVE_LIBAVUTIL_HWCONTEXT_H
|
#if HAVE_LIBAVUTIL_HWCONTEXT_H
|
||||||
|
#if LIBAVCODEC_VERSION_CHECK(57, 89, 0, 89, 0)
|
||||||
static enum AVPixelFormat hw_pix_fmt;
|
static enum AVPixelFormat hw_pix_fmt;
|
||||||
static enum AVPixelFormat get_hw_format(
|
static enum AVPixelFormat get_hw_format(
|
||||||
AVCodecContext *ctx,
|
AVCodecContext *ctx,
|
||||||
|
@ -94,6 +95,7 @@ static enum AVPixelFormat find_fmt_by_hw_type(const enum AVHWDeviceType type) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
FfmpegCamera::FfmpegCamera(
|
FfmpegCamera::FfmpegCamera(
|
||||||
int p_id,
|
int p_id,
|
||||||
|
@ -155,8 +157,10 @@ FfmpegCamera::FfmpegCamera(
|
||||||
#if HAVE_LIBAVUTIL_HWCONTEXT_H
|
#if HAVE_LIBAVUTIL_HWCONTEXT_H
|
||||||
hwFrame = NULL;
|
hwFrame = NULL;
|
||||||
hw_device_ctx = NULL;
|
hw_device_ctx = NULL;
|
||||||
|
#if LIBAVCODEC_VERSION_CHECK(57, 89, 0, 89, 0)
|
||||||
hw_pix_fmt = AV_PIX_FMT_NONE;
|
hw_pix_fmt = AV_PIX_FMT_NONE;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAVE_LIBSWSCALE
|
#if HAVE_LIBSWSCALE
|
||||||
mConvertContext = NULL;
|
mConvertContext = NULL;
|
||||||
|
@ -437,6 +441,8 @@ int FfmpegCamera::OpenFfmpeg() {
|
||||||
|
|
||||||
if ( hwaccel_name != "" ) {
|
if ( hwaccel_name != "" ) {
|
||||||
#if HAVE_LIBAVUTIL_HWCONTEXT_H
|
#if HAVE_LIBAVUTIL_HWCONTEXT_H
|
||||||
|
// 3.2 doesn't seem to have all the bits in place, so let's require 3.3 and up
|
||||||
|
#if LIBAVCODEC_VERSION_CHECK(57, 89, 0, 89, 0)
|
||||||
// Print out available types
|
// Print out available types
|
||||||
enum AVHWDeviceType type = AV_HWDEVICE_TYPE_NONE;
|
enum AVHWDeviceType type = AV_HWDEVICE_TYPE_NONE;
|
||||||
while ( (type = av_hwdevice_iterate_types(type)) != AV_HWDEVICE_TYPE_NONE )
|
while ( (type = av_hwdevice_iterate_types(type)) != AV_HWDEVICE_TYPE_NONE )
|
||||||
|
@ -497,6 +503,9 @@ int FfmpegCamera::OpenFfmpeg() {
|
||||||
} else {
|
} else {
|
||||||
Debug(1, "Failed to setup hwaccel.");
|
Debug(1, "Failed to setup hwaccel.");
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
Debug(1, "AVCodec not new enough for hwaccel");
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
Warning("HWAccel support not compiled in.");
|
Warning("HWAccel support not compiled in.");
|
||||||
#endif
|
#endif
|
||||||
|
@ -946,6 +955,7 @@ int FfmpegCamera::CaptureAndRecord(
|
||||||
if ( error_count > 0 ) error_count--;
|
if ( error_count > 0 ) error_count--;
|
||||||
zm_dump_video_frame(mRawFrame);
|
zm_dump_video_frame(mRawFrame);
|
||||||
#if HAVE_LIBAVUTIL_HWCONTEXT_H
|
#if HAVE_LIBAVUTIL_HWCONTEXT_H
|
||||||
|
#if LIBAVCODEC_VERSION_CHECK(57, 89, 0, 89, 0)
|
||||||
if (
|
if (
|
||||||
(hw_pix_fmt != AV_PIX_FMT_NONE)
|
(hw_pix_fmt != AV_PIX_FMT_NONE)
|
||||||
&&
|
&&
|
||||||
|
@ -964,10 +974,13 @@ int FfmpegCamera::CaptureAndRecord(
|
||||||
hwFrame->pts = mRawFrame->pts;
|
hwFrame->pts = mRawFrame->pts;
|
||||||
input_frame = hwFrame;
|
input_frame = hwFrame;
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
input_frame = mRawFrame;
|
input_frame = mRawFrame;
|
||||||
#if HAVE_LIBAVUTIL_HWCONTEXT_H
|
#if HAVE_LIBAVUTIL_HWCONTEXT_H
|
||||||
|
#if LIBAVCODEC_VERSION_CHECK(57, 89, 0, 89, 0)
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Debug(4, "Got frame %d", frameCount);
|
Debug(4, "Got frame %d", frameCount);
|
||||||
|
|
|
@ -42,7 +42,7 @@ if ( isset($_REQUEST['object']) and ( $_REQUEST['object'] == 'filter' ) ) {
|
||||||
$filter->delete();
|
$filter->delete();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ZM\Error("No filter id passed when deleting");
|
ZM\Error('No filter id passed when deleting');
|
||||||
}
|
}
|
||||||
} else if ( ( $action == 'Save' ) or ( $action == 'SaveAs' ) or ( $action == 'execute' ) ) {
|
} else if ( ( $action == 'Save' ) or ( $action == 'SaveAs' ) or ( $action == 'execute' ) ) {
|
||||||
|
|
||||||
|
|
|
@ -1341,7 +1341,7 @@ function parseFilter(&$filter, $saveToSession=false, $querySep='&') {
|
||||||
$filter['sql'] .= " IS NOT $value";
|
$filter['sql'] .= " IS NOT $value";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ZM\Warning("Invalid operator in filter: " . $term['op'] );
|
ZM\Warning('Invalid operator in filter: ' . print_r($term['op'], true));
|
||||||
} // end switch op
|
} // end switch op
|
||||||
|
|
||||||
$filter['query'] .= $querySep.urlencode("filter[Query][terms][$i][op]").'='.urlencode($term['op']);
|
$filter['query'] .= $querySep.urlencode("filter[Query][terms][$i][op]").'='.urlencode($term['op']);
|
||||||
|
|
Loading…
Reference in New Issue