Monitor setup: Bugs or Feature?

Forum for questions and support relating to the 1.27.x releases only.
Locked
sipi
Posts: 132
Joined: Wed Feb 14, 2007 5:18 pm

Monitor setup: Bugs or Feature?

Post by sipi »

Hi,

I try to know the zm 1.27 but I have some problem. I try to use my old Monitors' parameters under my new fresh installed zm 1.27 but I have some error message.

1. I have got some analog cams and I use these with an Axis A240Q video server what sends streams to zm in 4CIF resolution (704x576). I try to setup this resolution I get an SQL error in the log and I can't save it:

SQL-ERR 'Incorrect integer value: '' for column 'MaxPixelThreshold' at row 1', statement was 'update Zones set Coords = '0,0 703,0 703,575 0,575', Area = '405504', MaxPixelThreshold = '', MinAlarmPixels = '12165', MaxAlarmPixels = '304128', MinFilterPixels = '12165', MaxFilterPixels = '304128', MinBlobPixels = '8110', MaxBlobPixels = '0', MaxBlobs = '' where MonitorId = '3' and Id = '3'', ....

I can't use lower resolution (352x288) for this cams because the they works outdoors and lower resolution will get a very small and unusable picture... but I tried to setup it and I had an error message in the log:

2014-03-12 19:43:03.233607 zmc_m3 1319 ERR Unable to decode jpeg zm_remote_camera_http.cpp 1120
2014-03-12 19:43:03.191816 zmc_m3 1319 ERR Failed requesting writeable buffer for reading JPEG image. zm_image.cpp 993
2014-03-12 19:43:03.153408 zmc_m3 1319 ERR Held buffer is undersized for requested buffer zm_image.cpp 314

I found this:
The "Held buffer is undersized..." error is because of a resolution mismatch. The monitor's resolution does not match the actual resolution from the stream.


2. Other problem is Preset on the Add Monitor. It doesn't work on suse 13.1 (I'd like to add an IP cam where Method is 'Simple') because if I try to save it then I will have an SQL error message in the log:

web_php FAT SQL-ERR 'Incorrect integer value: 'simple' for column 'Channel' at row 1', statement was 'insert into Monitors set LinkedMonitors = '', Name = 'Monitor-1', Type = 'Remote', Function = 'Monitor', Enabled = '1', RefBlendPerc = '6', AlarmRefBlendPerc = '6', MaxFPS = '10', AlarmMaxFPS = '15', Device = 'http', Channel = 'simple', Format = '255', Palette = '3', LabelFormat = '%N - %d/%m/%y %H:%M:%S', LabelX = '0', LabelY = '0', ImageBufferCount = '50', WarmupCount = '25', PreEventCount = '25', PostEventCount = '25', StreamReplayBuffer = '1000', AlarmFrameCount = '1', EventPrefix = 'Event-', SectionLength = '600', FrameSkip = '0', FPSReportInterval = '1000', DefaultView = 'Events', DefaultRate = '100', DefaultScale = '100', WebColour = 'red', SignalCheckColour = '#0000c0', Protocol = 'http', Method = 'regexp', Host = 'user:password@192.168.1.49', Port = '80', Path = '/axis-cgi/mjpg/video.cgi?resolution=640x480', Colours = '3', Width = '640', Height = '480', Orientation = '0', Deinterlacing = '0', Sequence = 1'

It is very strange because I can add it manually.

3. If I add an new Monitor and I didn't declare the Maximum and Alarm Maximum FPS I have an SQL error message in the log:

web_php FAT SQL-ERR 'Incorrect decimal value: '' for column 'MaxFPS' at row 1', statement was 'insert into Monitors set LinkedMonitors = '', Name = 'Monitor-4', Type = 'Remote', Function = 'Monitor', Enabled = '1', RefBlendPerc = '6', AlarmRefBlendPerc = '6', MaxFPS = '', AlarmMaxFPS = '', Device = '/dev/video0', Channel = '0', Format = '255', Palette = '0', LabelFormat = '%N - %d/%m/%y %H:%M:%S', LabelX = '0', LabelY = '0', ImageBufferCount = '50', WarmupCount = '25', PreEventCount = '25', PostEventCount = '25', StreamReplayBuffer = '1000', AlarmFrameCount = '1', EventPrefix = 'Event-', SectionLength = '600', FrameSkip = '0', FPSReportInterval = '1000', DefaultView = 'Events', DefaultRate = '100', DefaultScale = '100', WebColour = 'red', SignalCheckColour = '#0000c0', Protocol = 'http', Method = 'simple', Host = 'user:password@192.168.1.49', Port = '80', Path = '/axis-cgi/mjpg/video.cgi?resolution=640x480', Colours = '3', Width = '640', Height = '480', Orientation = '0', Deinterlacing = '0', Sequence = 4'

I left these parameters blank because I use IP cam (Axis M1014) with mjpeg stream (/axis-cgi/mjpg/video.cgi?resolution=640x480). I don't understand it because in the Documentation was written:

Maximum FPS
Note for IP cameras: ZoneMinder has no way to set or limit the mjpeg stream the camera passes, some cams you can set this through the url string, others do not. So if you're using mjpeg feeds you must NOT throttle here at the server end, only the cam end. If you want to use this feature, the server to throttle, then you MUST use jpeg instead of mjpeg method to get picture from the camera


Can someone help me what can I do that my zm will work me correctly?

Thanks a lot...
User avatar
monex
Posts: 169
Joined: Mon Jan 22, 2007 1:10 pm

Re: Monitor setup: Bugs or Feature?

Post by monex »

Hi sipi,

it looks like the used sql mode is not correct. Can you please verify the sql_mode. Issue following statement in the mysql cli:

Code: Select all

show variables like "sql_mode";
The result should be an empty variable:

Code: Select all

show variables like "sql_mode";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| sql_mode      |       |
+---------------+-------+
1 row in set (0.00 sec)
Can you please verify that the file /etc/my.cnf.d/zoneminder_mysql_settings.cnf exists and restart the mysql database, run systemctl restart mysql.service for this task. Please verify the sql mode again after restarting the mysql database. This should solve the problem.

Greetings,
Dirk
Image
sipi
Posts: 132
Joined: Wed Feb 14, 2007 5:18 pm

Re: Monitor setup: Bugs or Feature?

Post by sipi »

Hi monex,

I have some problem with mysql because zoneminder_mysql_settings.cnf
doesn't work on suse 13.1. This file is exist and I restarted mysql but
I found this:

mysql> show variables like "sql_mode";
+---------------+--------------------------------------------+
| Variable_name | Value |
+---------------+--------------------------------------------+
| sql_mode | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+---------------+--------------------------------------------+
1 row in set (0.00 sec)

and I found these in my.cnf:

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

!includedir /etc/my.cnf.d

You can see that the sql_mode commented out and my.cnf.d included in
mysql conf but it doesn't work properly.

I found this:
http://lists.opensuse.org/archive/opens ... 00207.html

It writes that there is an my.cnf file in the /usr dir which maybe a mysql bug on suse 13.1.

I included "!includedir /etc/my.cnf.d" to /usr/my.cnf and the problem finished.

Thanks your help.
Locked