src/zm_ffmpeg_camera.cpp
add #include <errno>
src/zm_mpeg.cpp
add #include <errno>
zm_utils.cpp
add #include <cstdio>
Need packman ffmpeg install and packman libavutil, libavcodec, libavformat, & libswscale, then this needs to be done:
Code: Select all
In /usr/include/ffmpeg/ (create directory if not exist then cd to it)
ln -s /usr/include/libavutil/avutil.h
ln -s /usr/include/libavutil/common.h
ln -s /usr/include/libavutil/mathematics.h
ln -s /usr/include/libavutil/rational.h
ln -s /usr/include/libavutil/intfloat_readwrite.h
ln -s /usr/include/libavutil/log.h
ln -s /usr/include/libavutil/pixfmt.h
ln -s /usr/include/libavutil/mem.h
ln -s /usr/include/libavcodec/avcodec.h
ln -s /usr/include/libavformat/avformat.h
ln -s /usr/include/libavformat/avio.h
ln -s /usr/include/libswscale/swscale.h
In /usr/include/pcre/ (create directory if not exist then cd to it)
ln -s /usr/include/pcre.h
Code: Select all
php5-devel
php5-mcrypt
php5-openssl
php5-sockets
This is the full list of php5 modules I have installed:
Code: Select all
php5
php5-iconv
php5-hash
php5-mysql
php5-openssl
php5-dom
php5-tokenizer
php5-xmlwriter
php5-json
php5-xmlreader
php5-mcrypt
php5-ctype
php5-devel
php5-sqlite
php5-pdo
php5-sockets
Code: Select all
./configure --with-ffmpeg --with-libarch=lib64 --with-mysql=/usr --with-webdir=/srv/www/htdocs/ZM --with-cgidir=/srv/www/cgi-bin --with-webuser=wwwrun --with-webgroup=www --enable-crashtrace=no --enable-debug=yes --disable-mmap ZM_SSL_LIB=openssl --enable-sockets --with-extralibs="-lfaac -lmp3lame -logg -lvorbis -lamrnb -lamrwb"
replace: error_reporting( E_ALL );
with : error_reporting( E_ALL ^ E_DEPRECATED );
to stop function deprecated messages in apache's error log
SuSE sets
kernel.shmmax = 18446744073709551615
kernel.shmall = 1152921504606846720
if you have trouble increasing "Source (actual device) -> Buffers -> Image Buffer Size (frames)" for a capture device cut those values in half they'll still be plenty big
Code: Select all
echo 9223372036854775807 > /proc/sys/kernel/shmall
echo 576460752303423360 > /proc/sys/kernel/shmmax
zmaudit.pl uses Perl find and it has a problem with some characters in filenames like colons and spaces so if there are any files in the /tmp tree that contain those characters zmaudit.pl will fail with an exit status 9 -- suggest using it's own unique location tmp space that Zoneminder will use (set in Options -> Path)
Code: Select all
mkdir /tmp/ZM
chmod 1777 /tmp/ZM
mysql> grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass' ;
Note: replace zmpass with your password
Don't start or stop ZoneMinder while cwd is the source directory where you compiled it, it will attempt to use the zm.conf file located there instead of the one in /usr/local/etc/zm.conf (if that's where your real one is. Also suggest you make acopy of your real one before doing a make install if you recompiled it and are re-installing it WILL be overwritten by the make install.)