Page 1 of 2

Zoneminder development

Posted: Sun Dec 19, 2010 9:05 pm
by PacoLM
Hi,

I have found this :

http://blog.cvisionlab.com/2010/10/vide ... .html#more

Is anyone of this forum using this plugins?. Are they going to be added in a next ZM version or are they a parallel development?

Regards,

PacoLM

Posted: Wed Dec 22, 2010 9:45 am
by DREMA
Looks pretty nice!

parallel development

Posted: Wed Dec 29, 2010 1:36 pm
by gorban
We are going to release sources of our Zoneminder fork on bitbucket soon. We also will be happy if Zoneminder's team accept our patches.

Posted: Wed Dec 29, 2010 5:39 pm
by PacoLM
Hi,

Sounds great!, will this work in an ARM processor running debian 5?.

Happy Xmas!

Re: parallel development

Posted: Fri Dec 31, 2010 4:51 pm
by mastertheknife
gorban wrote:We also will be happy if Zoneminder's team accept our patches.
Likewise, i have made some patches to fix some web interface issues and other general issues and interested in sending them to the ZoneMinder's team but not sure to who and how. I wish ZoneMinder would be hosted on github, this would make forking and patching a lot nicer and easier.

Right now i am using git-svn to checkout ZM's SVN and then i am rebasing it against my local repository which contains some patches.

Posted: Fri Dec 31, 2010 6:49 pm
by jdhar
I'm looking into setting it up on GitHub, but am checking with Phil first... stay tuned.

ZoneMinder fork

Posted: Tue Jan 11, 2011 6:16 pm
by gorban
Please checkout our ZoneMinder fork.

Looking forward your comments.

Re: ZoneMinder fork

Posted: Thu Jan 13, 2011 4:49 pm
by laxpeter
gorban wrote:Please checkout our ZoneMinder fork.

Looking forward your comments.
I'm very excited about your additions, but I'm having trouble compiling them. Configure succeeded, but make is stuck on the following error:

Code: Select all

$ make
make  all-recursive
make[1]: Entering directory `/home/peter/zm-gorban/zoneminder'
Making all in src
make[2]: Entering directory `/home/peter/zm-gorban/zoneminder/src'
g++ -frepo -g -O2  -L/usr/lib -L/usr/lib/mysql  -rdynamic   -o zmc  zmc.o zm_box.o zm_buffer.o zm_camera.o zm_comms.o zm_config.o zm_coord.o zm.o zm_db.o zm_debug.o zm_event.o zm_exception.o zm_file_camera.o zm_ffmpeg_camera.o zm_image.o zm_jpeg.o zm_local_camera.o zm_monitor.o zm_ffmpeg.o zm_mpeg.o zm_poly.o zm_regexp.o zm_remote_camera.o zm_remote_camera_http.o zm_remote_camera_rtsp.o zm_rtp.o zm_rtp_ctrl.o zm_rtp_data.o zm_rtp_source.o zm_rtsp.o zm_sdp.o zm_signal.o zm_stream.o zm_thread.o zm_time.o zm_timer.o zm_user.o zm_utils.o zm_zone.o  -lz -lpcre -lgnutls-openssl -ldl -lpthread -ljpeg -lmysqlclient
zm_monitor.o: In function `Monitor::Analyse()':
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:1291: undefined reference to `ImageAnalyser::DoDetection(Image const&, Zone**, int, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
zm_monitor.o: In function `Monitor':
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:325: undefined reference to `PluginManager::PluginManager()'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:476: undefined reference to `join_paths(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:478: undefined reference to `PluginManager::loadPlugin(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:487: undefined reference to `PluginManager::configurePlugins(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:325: undefined reference to `PluginManager::PluginManager()'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:476: undefined reference to `join_paths(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:478: undefined reference to `PluginManager::loadPlugin(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:487: undefined reference to `PluginManager::configurePlugins(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
zm_monitor.o: In function `PluginManager::setPluginExt(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/home/peter/zm-gorban/zoneminder/src/zm_plugin_manager.h:69: undefined reference to `PluginManager::m_sPluginExt'
zm_monitor.o: In function `~pair':
/usr/include/c++/4.4/bits/stl_pair.h:68: undefined reference to `Plugin::~Plugin()'
zm_monitor.o: In function `~PluginManager':
/home/peter/zm-gorban/zoneminder/src/zm_plugin_manager.h:49: undefined reference to `ImageAnalyser::~ImageAnalyser()'
collect2: ld returned 1 exit status
make[2]: *** [zmc] Error 1
make[2]: Leaving directory `/home/peter/zm-gorban/zoneminder/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/peter/zm-gorban/zoneminder'
make: *** [all] Error 2
From what I can tell, this is because the Makefile in src/ does not contain the new source files in am__objects_1, zm_SOURCES, or noinst_HEADERS. I see the additional files (zm_plugin_manager.cpp, etc) in src/Makefile.am but not src/Makefile.in.

I tried using automake to regenerate the Makefiles, but zoneminder seems to have some different method, perhaps through scripts/ZoneMinder/Makefile.PL ? I'm not familiar enough with this build structure to see exactly where the problem is. If I haven't figured it out soon, I'll probably try to directly edit the src/Makefile to include the changes from Makefile.am.

Posted: Fri Jan 14, 2011 2:01 pm
by laxpeter
autoreconf seemed to fix my issue above. I'm still working on getting it running, but my current issues are just related to switching from the .deb to install from source in general.

Posted: Fri Jan 14, 2011 4:42 pm
by mrd
This is great work. I really hope that ZM picks up these and packages them with the Arch CD!

Posted: Sat Jan 15, 2011 6:23 pm
by laxpeter
I have this working with the native detection so far, but I haven't been able to find any plugins in the distribution to try out alternative motion detection.

Do you have any example plugins available for public testing yet?

Thanks

Posted: Mon Jan 17, 2011 3:39 pm
by hirondelle
An example of plugin (face detector) is added to the bitbucket repo to the `plugins' directory. To the Wiki we have added information about building.
Please visit our http://blog.cvisionlab.com/ blog and post you comments there too.

Re: ZoneMinder fork

Posted: Sun Jan 23, 2011 11:42 am
by bdmcnxn
laxpeter wrote:
gorban wrote:Please checkout our ZoneMinder fork.

Looking forward your comments.
I'm very excited about your additions, but I'm having trouble compiling them. Configure succeeded, but make is stuck on the following error:

Code: Select all

$ make
make  all-recursive
make[1]: Entering directory `/home/peter/zm-gorban/zoneminder'
Making all in src
make[2]: Entering directory `/home/peter/zm-gorban/zoneminder/src'
g++ -frepo -g -O2  -L/usr/lib -L/usr/lib/mysql  -rdynamic   -o zmc  zmc.o zm_box.o zm_buffer.o zm_camera.o zm_comms.o zm_config.o zm_coord.o zm.o zm_db.o zm_debug.o zm_event.o zm_exception.o zm_file_camera.o zm_ffmpeg_camera.o zm_image.o zm_jpeg.o zm_local_camera.o zm_monitor.o zm_ffmpeg.o zm_mpeg.o zm_poly.o zm_regexp.o zm_remote_camera.o zm_remote_camera_http.o zm_remote_camera_rtsp.o zm_rtp.o zm_rtp_ctrl.o zm_rtp_data.o zm_rtp_source.o zm_rtsp.o zm_sdp.o zm_signal.o zm_stream.o zm_thread.o zm_time.o zm_timer.o zm_user.o zm_utils.o zm_zone.o  -lz -lpcre -lgnutls-openssl -ldl -lpthread -ljpeg -lmysqlclient
zm_monitor.o: In function `Monitor::Analyse()':
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:1291: undefined reference to `ImageAnalyser::DoDetection(Image const&, Zone**, int, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
zm_monitor.o: In function `Monitor':
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:325: undefined reference to `PluginManager::PluginManager()'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:476: undefined reference to `join_paths(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:478: undefined reference to `PluginManager::loadPlugin(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:487: undefined reference to `PluginManager::configurePlugins(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:325: undefined reference to `PluginManager::PluginManager()'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:476: undefined reference to `join_paths(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:478: undefined reference to `PluginManager::loadPlugin(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/peter/zm-gorban/zoneminder/src/zm_monitor.cpp:487: undefined reference to `PluginManager::configurePlugins(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
zm_monitor.o: In function `PluginManager::setPluginExt(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/home/peter/zm-gorban/zoneminder/src/zm_plugin_manager.h:69: undefined reference to `PluginManager::m_sPluginExt'
zm_monitor.o: In function `~pair':
/usr/include/c++/4.4/bits/stl_pair.h:68: undefined reference to `Plugin::~Plugin()'
zm_monitor.o: In function `~PluginManager':
/home/peter/zm-gorban/zoneminder/src/zm_plugin_manager.h:49: undefined reference to `ImageAnalyser::~ImageAnalyser()'
collect2: ld returned 1 exit status
make[2]: *** [zmc] Error 1
make[2]: Leaving directory `/home/peter/zm-gorban/zoneminder/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/peter/zm-gorban/zoneminder'
make: *** [all] Error 2
From what I can tell, this is because the Makefile in src/ does not contain the new source files in am__objects_1, zm_SOURCES, or noinst_HEADERS. I see the additional files (zm_plugin_manager.cpp, etc) in src/Makefile.am but not src/Makefile.in.

I tried using automake to regenerate the Makefiles, but zoneminder seems to have some different method, perhaps through scripts/ZoneMinder/Makefile.PL ? I'm not familiar enough with this build structure to see exactly where the problem is. If I haven't figured it out soon, I'll probably try to directly edit the src/Makefile to include the changes from Makefile.am.
Have the same error. How is autoconfig supposed to help ? Tried that, but didn't progress.

Re: ZoneMinder fork

Posted: Sun Jan 23, 2011 3:23 pm
by laxpeter
bdmcnxn wrote:Have the same error. How is autoconfig supposed to help ? Tried that, but didn't progress.
I had that error when trying to follow the instructions in the INSTALL file included with the source.
Rather than make, and make install, I should have been using the:

Code: Select all

aclocal
autoconf
automake
make
procedure from the wiki and the plugin fork's website:

https://bitbucket.org/gorban/zoneminder/wiki/building
wiki source instructions

Re: ZoneMinder fork

Posted: Wed Jan 26, 2011 1:48 pm
by bdmcnxn
laxpeter wrote:
bdmcnxn wrote:Have the same error. How is autoconfig supposed to help ? Tried that, but didn't progress.
I had that error when trying to follow the instructions in the INSTALL file included with the source.
Rather than make, and make install, I should have been using the:

Code: Select all

aclocal
autoconf
automake
make
procedure from the wiki and the plugin fork's website:

https://bitbucket.org/gorban/zoneminder/wiki/building
wiki source instructions
Thanks a lot laxpeter. That worked.