1.24.0 Preview

Forum for questions and support relating to the 1.24.x releases only.
marculin
Posts: 58
Joined: Fri May 11, 2007 8:12 pm

Post by marculin »

3) Optional use of mapped memory instead of shared memory.
Sorry but what is this?What is a difference?
than you
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

marculin wrote:
3) Optional use of mapped memory instead of shared memory.
Sorry but what is this?What is a difference?
than you
Wikipedia is great for looking these things up:
http://en.wikipedia.org/wiki/Memory-mapped_file
http://en.wikipedia.org/wiki/Shared_memory
marculin
Posts: 58
Joined: Fri May 11, 2007 8:12 pm

Post by marculin »

thank you
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

Updated. Two main changes in this one.

Firstly, revamped the ajax stuff a bit to make it more consistent and to prevent errors from just corrupting the javascript (mostly) and also to make it easier to track those errors down.

Secondly, updated to compile without ffmpeg if not present and also to compile with the latest ffmpeg. This breaks compatibility (suprise surprise) with the previous ffmpegs so if you have a svn version then unless you update it, it will not compile. If you have a package version then I have no idea what will happen but my money would be on it not working also.

Caveat Emptor :roll:
Phil
linuxsense
Posts: 374
Joined: Wed Nov 07, 2007 1:59 am
Location: Huntington Beach, California
Contact:

Post by linuxsense »

I get a compile error that looks related to ffmpeg:

Code: Select all

g++ -frepo -g -O2  -L/usr/lib -L/usr/include/mysql/lib/mysql   -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_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  -lbz2 -lswscale -lavformat -lavcodec -lavutil -lpcre -lgnutls-openssl -lmysqlclient -lpthread -ldl -lz -ljpeg 
zm_sdp.o: In function `sdp_parse_line':
/home/dave/Desktop/ZoneMinder-1.24.0/src/zm_sdp.c:405: undefined reference to `ff_dynarray_add'
collect2: ld returned 1 exit status
make[2]: *** [zmc] Error 1
make[2]: Leaving directory `/home/dave/Desktop/ZoneMinder-1.24.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dave/Desktop/ZoneMinder-1.24.0'
make: *** [all] Error 2
My copy of ffmpeg was built from source with the following configure:

Code: Select all

./configure --enable-gpl --enable-pthreads --enable-libvorbis --enable-libgsm --disable-debug --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-libxvid --enable-swscale
Do I need to build ffmpeg with different options?
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

I usually just use --enable-gpl and --enable-swscale but I will try and reproduce your. Can you confirm the version number in version.h?

Also did it build with the previous ZM rcs?
Phil
linuxsense
Posts: 374
Joined: Wed Nov 07, 2007 1:59 am
Location: Huntington Beach, California
Contact:

Post by linuxsense »

zoneminder wrote:I usually just use --enable-gpl and --enable-swscale but I will try and reproduce your. Can you confirm the version number in version.h?

Also did it build with the previous ZM rcs?
ffmpeg is "SVN-r15629". I will rebuild my version of ffmpeg with just the two options you listed and see what happens...

I have not compiled any of the 1.4 versions of ZM yet, this is the first one I have taken a crack at.
linuxsense
Posts: 374
Joined: Wed Nov 07, 2007 1:59 am
Location: Huntington Beach, California
Contact:

Post by linuxsense »

I got it to build...turns out that I had some stale ffmpeg libs floating around that needed to be cleaned out...
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

Yes, they have moved the locations of the headers and libraries around a little while ago. It catches me out now and again as well.
Phil
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

Updated for verion 2678.

o Added means of configuring which Video for Linux version to use for local monitors. The default for new monitors is version 2 if present on your system, otherwise version 1. If you want to try using version 2 then you need to explicitly configure each monitor to do so, via the monitor properties view. V4L2 support has been in all versions of 1.24.x thus far, I just forgot to mention it :oops: It does not currently add, or take advantage, of any new or enhanced V4L2 facilities however and just duplicates the existing base v1 functionality.

o Cleaner shut down of RTP streams when killing or terminating capture. Acti cams also no longer moan when being killed.

o Better handling of unexpected RTSP responses

o All events will now start with a number of regular frames written to the DB rather than the first one being a bulk frame 100 frames in if in Record or Mocord mode. This is an experimental change and may be reversed.

o Fixed various web filter issues.

o Fixed some php warnings.
Phil
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

After something of an unplanned hiatus I have uploaded the newest and hopefully final 1.24.0 release candidate, version 2722.

Changes from the previous RC are as follows :-

o Changed to use the ffmpeg library SDP discovery and analysis functions for MPEG cameras directly rather than trying to incorporate the ffmpeg SDP into ZM. This is slight overkill but means that Zm does not depend on rapidly change ffmpeg code which broke it frequently.

o As a result of the above and this very interesting post I have implemented a fourth monitor type, a Ffmpeg monitor. This essentially passes the path you configure directly in ffmpeg and uses whatever it squirts out. This can be used as an alternate method for some MPEG cameras, MPJPEG cameras, video files or basically anything that ffmpeg will understand. ZM does not do any interpretation of the path but just passes it to fffmpeg so if it doesn't work for a particular source then there isn't much I can do about it. I recommend trying with ffplay to test that ffmpeg likes the stream before trying to use it with ZM.

o Added speculative change to better detect if the zms stream is closed at the client end.

o Improved the reporting in zmdc.pl of the correct status when a ZM process exists or crashes.

o Made some config descriptions less wordy.

o Improved header and library detection in configure.

o Made javascript in watch view more robust if communications interrupted with server.

Note that there are a couple of database changes in this version which are included in the migration script from 1.23.3. If you have been using a previous 1.24.0 RC then you will have to manually apply the following

Code: Select all

 alter table Monitors modify column `Type` enum('Local','Remote','File','Ffmpeg') NOT NULL default 'Local';
+alter table MonitorPresets modify column `Type` enum('Local','Remote','File','Ffmpeg') NOT NULL default 'Local';
. Also be aware any additional language tokens are only present in the English language files until full release.
Phil
yogev_ezra
Posts: 9
Joined: Sat Dec 06, 2008 2:02 pm

Post by yogev_ezra »

Any light on possible fix for the wrong palette issue on V4L2 cameras?
http://www.zoneminder.com/forums/viewtopic.php?t=12611
timgman
Posts: 46
Joined: Wed Mar 14, 2007 6:01 pm

Nice to see you back on the project...

Post by timgman »

I can't wait to try 24
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

yogev_ezra wrote:Any light on possible fix for the wrong palette issue on V4L2 cameras?
http://www.zoneminder.com/forums/viewtopic.php?t=12611
Give the newest RC, just uploaded, a try.
Phil
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

So much for the last one being a final RC :roll: I have just uploaded 2732 which has the following changes.

o Revamp of the Video 4 Linux interface especially with regard to the V4L2 stuff. Hopefully this hasn't broken any of the more esoteric possible setups such as multiple cameras sharing multiple channels etc but I will need to test further to check. Better buffer queuing should hopefully help performance a bit in some cases.

o Format conversion in captured V4L frames is now handled by the ffmpeg swscaling functions if present. It is not obvious which V4L palettes always correspond to which ffmpeg ones so not all the possible conversions may yet be supported though more are than previously. I am assuming that the ffmpeg conversion functions will be faster than the stuff I wrote that was used previously but I have not actually checked yet.

o An additional option is now available to 'configure'. You can pass the MySQL engine type via the MYSQL_ENGINE=<engine> variable on the command line. If absent this defaults to MyISAM which has always been used previously. Other engines may offer better performance in some scenarios but ZM has not been extensively tested with any other than MyISAM, though I am trialling InnoDB now. Using engines that offer row locking (e.g. InnoDB) may help when you have a large number of events in a system and the auditing or other regular activities may otherwise lock the tables resulting in delays to the storage of frames for new events etc if the queries take a significant amount of time to execute.

If you wish to use this version you will need to create a new database or manually apply the following database changes from the previous (2722) RC.

Code: Select all

alter table Monitors modify column `Format` int(10) unsigned NOT NULL default '0';
alter table Monitors modify column `Palette` int(10) unsigned NOT NULL default '0';
alter table MonitorPresets modify column `Channel` tinyint(3) unsigned default NULL;
alter table MonitorPresets modify column `Format` int(10) unsigned default NULL;
alter table MonitorPresets modify column `Palette` int(10) unsigned default NULL;
Phil
Locked