View unanswered posts | View active topics It is currently Mon Sep 01, 2014 2:41 pm



Reply to topic  [ 10 posts ] 
Future Development Concepts 
Author Message
Site Admin
User avatar

Joined: Wed Jul 09, 2003 3:07 pm
Posts: 5221
Location: Bristol, UK
Post Future Development Concepts
I have posted my initial architectural thoughts in the Wiki at at http://www.zoneminder.com/wiki/index.ph ... Discussion

_________________
Phil


Tue Feb 01, 2011 11:08 pm
Profile ICQ YIM WWW

Joined: Thu Jul 06, 2006 3:27 pm
Posts: 341
Post Re: Future Development Concepts
Am very much liking this concept. With the difficulties in dependencies seemingly becoming more apparent and making zm harder to build, a monolithic approach does have significant merit.

While perl's strength is very much being able to pull in modules left right and centre, it can make it more difficult to support going forwards if they aren't available in the distro. Cpan is good but sometimes non-user friendly. Can these modules, if required, be bundled in the source?

What about plugins, is there scope for something like apache2's conf.d where you can drop user or official plugins to support new formats, new behaviors, new algorithms, x10 or other external supports?

I'm a firm believer in working harder to make it easier for the end user, and unless zm can be reliably trivial to install as "apt-get install zoneminder" then people will try it, get frustrated if it doesn't work within five minutes, and try something else. (Not that there is much else that does what zm does!) The shared memory issue is a big one and good to see progress to avoid it entirely - that's the sort of thing. Also a better way to automatically add ip cameras based on makes - a user maintained extension to the presets.

Easier log reporting - being able to click on the ui to show logs for a specific monitor - would help people diagnose more quickly.

I love zoneminder, I love that it's free and does a fantastic job. Our charity would really struggle to pay the licence fees of any of the commercial software that gives similar functionality.


Mon Jun 13, 2011 7:33 pm
Profile

Joined: Thu Jul 06, 2006 3:27 pm
Posts: 341
Post Re: Future Development Concepts
From a discussion with mastertheknife, MDesade and myself on irc.

It would be good if zm2 allowed external plugins to parse info.

Say, facial recognition, ANPR.

Something like:

ZM captures image.
Passes it to a plugin directory and all plugins there called. (Or database reference so that you select which plugins are required for each monitor)
Plugin then parses the image (or stack of images if an event, or passed a path to a set of images)
Plugin does its thing, matches to external database etc.
Plugin then exits, and feeds information back to zoneminder to be stored on its db alongside the event info (ie, Employee name/id, Number plate etc)

Plugins could also help control whether an event is stored, whether it even triggers at all (could the motion detection in zm actually be a plugin?)

Addons in other areas could also parse additional streams (one plugin for jpg, one for mjpeg, one for mpeg4, rtsp, whatever), automatic behavior (converting all archived events to video and exporting off system), disk filters etc.

A lot of possibilities and things we can't think of yet!


Tue Jun 28, 2011 9:46 am
Profile
Site Admin
User avatar

Joined: Wed Jul 09, 2003 3:07 pm
Posts: 5221
Location: Bristol, UK
Post Re: Future Development Concepts
Flasheart wrote:
Easier log reporting - being able to click on the ui to show logs for a specific monitor - would help people diagnose more quickly.


Have you had a look at 1.25.0? There's still the odd wrinkle I'm ironing out but hopefully that has addressed the logging issues.

_________________
Phil


Tue Jun 28, 2011 11:21 am
Profile ICQ YIM WWW

Joined: Wed Dec 16, 2009 5:32 pm
Posts: 665
Location: Israel
Post Re: Future Development Concepts
zoneminder wrote:
Flasheart wrote:
Easier log reporting - being able to click on the ui to show logs for a specific monitor - would help people diagnose more quickly.


Have you had a look at 1.25.0? There's still the odd wrinkle I'm ironing out but hopefully that has addressed the logging issues.


Just an idea,
About diagnosing problems, I've done a little test and used the Annotate function to display errors (and not just report to the syslog), It actually worked well with the exception that the 2nd line was cut.
Image

mastertheknife.

_________________
Kfir Itzhak.


Tue Jun 28, 2011 11:32 am
Profile
Site Admin
User avatar

Joined: Wed Jul 09, 2003 3:07 pm
Posts: 5221
Location: Bristol, UK
Post Re: Future Development Concepts
Flasheart wrote:
From a discussion with mastertheknife, MDesade and myself on irc.

It would be good if zm2 allowed external plugins to parse info.

Say, facial recognition, ANPR.

Something like:

ZM captures image.
Passes it to a plugin directory and all plugins there called. (Or database reference so that you select which plugins are required for each monitor)
Plugin then parses the image (or stack of images if an event, or passed a path to a set of images)
Plugin does its thing, matches to external database etc.
Plugin then exits, and feeds information back to zoneminder to be stored on its db alongside the event info (ie, Employee name/id, Number plate etc)

Plugins could also help control whether an event is stored, whether it even triggers at all (could the motion detection in zm actually be a plugin?)

Addons in other areas could also parse additional streams (one plugin for jpg, one for mjpeg, one for mpeg4, rtsp, whatever), automatic behavior (converting all archived events to video and exporting off system), disk filters etc.

A lot of possibilities and things we can't think of yet!


Yes, this should be possible. The whole concept of ZM2 is of providers and consumers. So you can have a video provider for a local camera or a network camera which can pass frames to a streaming consumer (for viewing) or to a motion detection engine (consumer). The components can be both providers and consumers so a video provider can pass frames to an ANPR engine, which then passes it to a facial recognition engine which then passes it to a streaming or file writing consumer. This is an example of serial consumers but they can also run in parallel.

This is a much more flexible architecture but there will probably be some penalties in performance as the scope for optimisations may be less. Providing processing blocks as plugins would be great but can be a bit fiddly in binary applications and would not necessarily make life simpler, especially if people mix up things from different versions. At the moment the block interfaces are common so plugins could be used if a good framework for them was created. I do have a more or less functional proof of concept for all this so can let people have a play once I have figured out a knotty little issue with passing multiple ROIs from zones to alarms.

_________________
Phil


Tue Jun 28, 2011 11:38 am
Profile ICQ YIM WWW
Site Admin
User avatar

Joined: Wed Jul 09, 2003 3:07 pm
Posts: 5221
Location: Bristol, UK
Post Re: Future Development Concepts
mastertheknife wrote:
zoneminder wrote:
Flasheart wrote:
Easier log reporting - being able to click on the ui to show logs for a specific monitor - would help people diagnose more quickly.


Have you had a look at 1.25.0? There's still the odd wrinkle I'm ironing out but hopefully that has addressed the logging issues.


Just an idea,
About diagnosing problems, I've done a little test and used the Annotate function to display errors (and not just report to the syslog), It actually worked well with the exception that the 2nd line was cut.


Yes, it was written just to present some very specific short messages and not general text. The same message will be presented in the 1.25.0 log viewer and will be highlighted in red, along with any other errors or warnings all in the one place.

_________________
Phil


Tue Jun 28, 2011 11:42 am
Profile ICQ YIM WWW

Joined: Thu Jul 06, 2006 3:27 pm
Posts: 341
Post Re: Future Development Concepts
zoneminder wrote:
Flasheart wrote:
Easier log reporting - being able to click on the ui to show logs for a specific monitor - would help people diagnose more quickly.


Have you had a look at 1.25.0? There's still the odd wrinkle I'm ironing out but hopefully that has addressed the logging issues.


Alas no, sorry, but great to hear you've already addressed it!

Another random thought - can zm2 detect a stream in a more user-friendly way for ip cams? Not guess a path, that could take forever! (Although... a few popular paths could be tried I guess), but if given a path could it make assumptions about what type (jpg, mjpg, mpeg), whether colour or B&W (note: zm doesn't seem to have any problems when set to colour for cams that revert to B&W in low light), and guess x & y, perhaps on that camera's daemon start?

x&y seems to be one area that new users get wrong occasionally.

Quote:
Yes, this should be possible. The whole concept of ZM2 is of providers and consumers. So you can have a video provider for a local camera or a network camera which can pass frames to a streaming consumer (for viewing) or to a motion detection engine (consumer). The components can be both providers and consumers so a video provider can pass frames to an ANPR engine, which then passes it to a facial recognition engine which then passes it to a streaming or file writing consumer. This is an example of serial consumers but they can also run in parallel.


This is a very exciting time for zoneminder and it's users!


Wed Jun 29, 2011 6:02 am
Profile
User avatar

Joined: Mon Mar 26, 2007 7:07 am
Posts: 1102
Location: Las Vegas, Nevada
Post Re: Future Development Concepts
I like the new logging page. Its really nice especially for later debugging issues. :)

Just though I would repeat a post i saw in feature request. We should also be logging logins and attempted logins to the system at a minimum. (maybe later changes made to ZM: Cam Settings, User Accounts, etc...)
As every other system seams to do it for user accountability: Worpress, Vbulleten etc...


Also a nagging thing chrome and opera should be added to the mjpeg supported list.

Sample user agent form chrome.
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30

Opera on Win
Opera/9.25 (Windows NT 6.0; U; en)

Edit: NVM opera 10 + has broken mjpeg
viewtopic.php?f=19&t=17343
Feel Free to Ignore all of the above for more important things.

_________________
GOOGLE TUTORIAL

Professional ZM install
Give PM or email.
E-lance Profile Link

Experiment/Blog


Wed Jul 27, 2011 12:22 am
Profile YIM
User avatar

Joined: Mon Mar 26, 2007 7:07 am
Posts: 1102
Location: Las Vegas, Nevada
Post Re: Future Development Concepts
Also does zm2 = SVN1.25.0

_________________
GOOGLE TUTORIAL

Professional ZM install
Give PM or email.
E-lance Profile Link

Experiment/Blog


Wed Jul 27, 2011 5:09 am
Profile YIM
Display posts from previous:  Sort by  
Reply to topic   [ 10 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group