Re: zoneminder AXIS mpeg4 ffmpeg-libraries
So, thank you very much for help, I have fixed this issue! The problem was in configure.ac. Now I have worked zm installation with mpeg4 via RTSP from AXIS camera. I'm include a patch to message, it fix incorrect headers path and enable ffmpeg libraries. Depencies you need to install manualy, nothing custom make install would be. SPECS/zoneminder.spec 1.add to ./configure section --with-ffmpeg \ --with-extralibs=`pkg-config --libs libavcodec libavdevice libavfilter libavformat libavutil libpostproc libswscale` \ 2.add Patch12:zoneminder-1.24.2-ffmpeglibs.patch 3.add %patch12 -p0 -b .ffmpeglibs zoneminder-1.24.2-ffmpeglibs.patch: diff -up configure.ac configure.ac --- configure.ac2010-04-22 10:09:29.0 +0300 +++ configure.ac2010-04-22 10:10:24.0 +0300 @@ -74,8 +74,8 @@ AC_ARG_WITH(ffmpeg, e.g. --with-ffmpeg=/usr/local]) ) AC_SUBST(FFMPEG_PREFIX) -FFMPEG_LIBS=-L${FFMPEG_PREFIX}/${LIB_ARCH} -FFMPEG_CFLAGS=-I${FFMPEG_PREFIX}/include +FFMPEG_LIBS=`pkg-config --libs libavcodec libavdevice libavfilter libavformat libavutil libpostproc libswscale` +FFMPEG_CFLAGS=`pkg-config --cflags libavcodec libavdevice libavfilter libavformat libavutil libpostproc libswscale` AC_SUBST(FFMPEG_LIBS) AC_SUBST(FFMPEG_CFLAGS) @@ -244,10 +244,10 @@ else AC_CHECK_LIB(gnutls-openssl,MD5,,AC_MSG_WARN([gnutls-openssl.a is required for authenticated streaming - use ZM_SSL_LIB option to select openssl instead])) fi AC_CHECK_LIB(pcre,pcre_compile,,AC_MSG_WARN(libpcre.a may be required for remote/network camera support)) -dnl AC_CHECK_LIB(avutil,av_malloc,,AC_MSG_WARN(libavutil.a may be required for MPEG streaming)) -dnl AC_CHECK_LIB(avcodec,avcodec_init,,AC_MSG_WARN(libavcodec.a is required for MPEG streaming)) -dnl AC_CHECK_LIB(avformat,av_new_stream,,AC_MSG_WARN(libavformat.a is required for MPEG streaming),[-lavcodec -lavutil]) -dnl AC_CHECK_LIB(swscale,sws_scale,,,-lswscale) +AC_CHECK_LIB(avutil,av_malloc,,AC_MSG_WARN(libavutil.a may be required for MPEG streaming)) +AC_CHECK_LIB(avcodec,avcodec_init,,AC_MSG_WARN(libavcodec.a is required for MPEG streaming)) +AC_CHECK_LIB(avformat,av_new_stream,,AC_MSG_WARN(libavformat.a is required for MPEG streaming),[-lavcodec -lavutil]) +AC_CHECK_LIB(swscale,sws_scale,,,-lswscale) AC_CHECK_LIB(bz2,BZ2_bzCompress,,AC_MSG_WARN(zm requires libbz2.a for recent versions of ffmpeg)) AC_CHECK_LIB(z,compress,,) @@ -259,14 +259,13 @@ AC_CHECK_HEADERS(linux/videodev.h,,AC_MS AC_CHECK_HEADERS(linux/videodev2.h,AC_SUBST(ZM_V4L2,1),AC_MSG_WARN(zm requires Video4Linux2 to be installed for V4L2 support),) AC_CHECK_HEADERS(mysql/mysql.h,,AC_MSG_ERROR(zm requires MySQL headers - check that MySQL development packages are installed),) AC_CHECK_HEADERS(libavutil/avutil.h,,,) -AC_CHECK_HEADERS(ffmpeg/avutil.h,,,) +AC_CHECK_HEADERS(ffmpeg/libavutil/avutil.h,,,) AC_CHECK_HEADERS(libavcodec/avcodec.h,,,) -AC_CHECK_HEADERS(ffmpeg/avcodec.h,,,) +AC_CHECK_HEADERS(ffmpeg/libavcodec/avcodec.h,,,) AC_CHECK_HEADERS(libavformat/avformat.h,,,) -AC_CHECK_HEADERS(ffmpeg/avformat.h,,,) +AC_CHECK_HEADERS(ffmpeg/libavformat/avformat.h,,,) AC_CHECK_HEADERS(libswscale/swscale.h,,,) -AC_CHECK_HEADERS(ffmpeg/swscale.h,,,) -AC_CHECK_HEADERS(pcre/pcre.h,AC_SUBST(ZM_PCRE,1),,) +AC_CHECK_HEADERS(ffmpeg/libswscale/swscale.h,,,) AC_CHECK_HEADERS(pcre.h,AC_SUBST(ZM_PCRE,1),,) if test $ENABLE_MMAP = yes; then AC_CHECK_HEADERS(sys/mman.h,,,) -- users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Re: zoneminder AXIS mpeg4 ffmpeg-libraries
R. G. Newbury wrote: On 04/20/2010 01:10 PM, users-requ...@lists.fedoraproject.org wrote: Clearly there is a problem with the includes. Either avutil.h is not installed at all, or it is installed somewhere else. If it is installed, but somewhere else, you have two choices: make a symlink at ../libavutil/avutil.h pointing back to whereever the file actually is, or find the source.c file which is looking for avutil.h (using grep) and fix the include call to #include=avutil.h or /ffmpeg/avutil.h or whatever. If it is not installed something has gone very wrong! And could you please take the time to trim your posts..please? Geoff Tux says: "Be regular. Eat cron flakes." so, I make patch for rpmbuild spec, logs after rebuild: config.log: ac_cv_header_ffmpeg_libavcodec_avcodec_h=yes ac_cv_header_ffmpeg_libavformat_avformat_h=yes ac_cv_header_ffmpeg_libavutil_avutil_h=yes ac_cv_header_ffmpeg_libswscale_swscale_h=yes ac_cv_header_libavcodec_avcodec_h=yes ac_cv_header_libavformat_avformat_h=yes ac_cv_header_libavutil_avutil_h=yes ac_cv_header_libswscale_swscale_h=yes status.log D["HAVE_LIBAVUTIL_AVUTIL_H"]=" 1" D["HAVE_FFMPEG_LIBAVUTIL_AVUTIL_H"]=" 1" D["HAVE_LIBAVCODEC_AVCODEC_H"]=" 1" D["HAVE_FFMPEG_LIBAVCODEC_AVCODEC_H"]=" 1" D["HAVE_LIBAVFORMAT_AVFORMAT_H"]=" 1" D["HAVE_FFMPEG_LIBAVFORMAT_AVFORMAT_H"]=" 1" D["HAVE_LIBSWSCALE_SWSCALE_H"]=" 1" D["HAVE_FFMPEG_LIBSWSCALE_SWSCALE_H"]=" 1" but still get "You must have ffmpeg libraries installed to use remote camera protocol 'rtsp' for monitor 3" patch: diff -up configure.ac configure.ac --- configure.ac 2010-04-21 13:23:30.0 +0300 +++ configure.ac 2010-04-21 13:25:29.0 +0300 @@ -74,8 +74,8 @@ AC_ARG_WITH(ffmpeg, e.g. --with-ffmpeg=/usr/local]) ) AC_SUBST(FFMPEG_PREFIX) -FFMPEG_LIBS="-L${FFMPEG_PREFIX}/${LIB_ARCH}" -FFMPEG_CFLAGS="-I${FFMPEG_PREFIX}/include" +FFMPEG_LIBS=`pkg-config --libs libavcodec libavdevice libavfilter libavformat libavutil libpostproc libswscale` +FFMPEG_CFLAGS=`pkg-config --cflags libavcodec libavdevice libavfilter libavformat libavutil libpostproc libswscale` AC_SUBST(FFMPEG_LIBS) AC_SUBST(FFMPEG_CFLAGS) @@ -259,14 +259,13 @@ AC_CHECK_HEADERS(linux/videodev.h,,AC_MS AC_CHECK_HEADERS(linux/videodev2.h,AC_SUBST(ZM_V4L2,"1"),AC_MSG_WARN(zm requires Video4Linux2 to be installed for V4L2 support),) AC_CHECK_HEADERS(mysql/mysql.h,,AC_MSG_ERROR(zm requires MySQL headers - check that MySQL development packages are installed),) AC_CHECK_HEADERS(libavutil/avutil.h,,,) -AC_CHECK_HEADERS(ffmpeg/avutil.h,,,) +AC_CHECK_HEADERS(ffmpeg/libavutil/avutil.h,,,) AC_CHECK_HEADERS(libavcodec/avcodec.h,,,) -AC_CHECK_HEADERS(ffmpeg/avcodec.h,,,) +AC_CHECK_HEADERS(ffmpeg/libavcodec/avcodec.h,,,) AC_CHECK_HEADERS(libavformat/avformat.h,,,) -AC_CHECK_HEADERS(ffmpeg/avformat.h,,,) +AC_CHECK_HEADERS(ffmpeg/libavformat/avformat.h,,,) AC_CHECK_HEADERS(libswscale/swscale.h,,,) -AC_CHECK_HEADERS(ffmpeg/swscale.h,,,) -AC_CHECK_HEADERS(pcre/pcre.h,AC_SUBST(ZM_PCRE,"1"),,) +AC_CHECK_HEADERS(ffmpeg/libswscale/swscale.h,,,) AC_CHECK_HEADERS(pcre.h,AC_SUBST(ZM_PCRE,"1"),,) if test "$ENABLE_MMAP" = "yes"; then AC_CHECK_HEADERS(sys/mman.h,,,) -- users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
zoneminder AXIS mpeg4 ffmpeg-libraries
Hello! Can anybody help me with zoneminder troubleshooting? I'm using AXIS M1011 IP cameras and want to move capture format from mjpeg to mpeg4, because of internet havn't sufficient bandwidth. Mjpeg working fine, but when I change format to mpeg4 with RTSP and path /mpeg4/media.amp I got: zmc_m3[8961]: FAT [You must have ffmpeg libraries installed to use remote camera protocol 'rtsp' for monitor 3]. zoneminder was installed from fedora repos and ffmpeg with ffmpeg-libs was installed from rpmfusion repos. -- users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Re: zoneminder AXIS mpeg4 ffmpeg-libraries
Mogens Kjaer wrote: On 04/20/2010 11:04 AM, Nikolay Yatsyshyn wrote: ... zmc_m3[8961]: FAT [You must have ffmpeg libraries installed to use remote camera protocol 'rtsp' for monitor 3]. zoneminder was installed from fedora repos and ffmpeg with ffmpeg-libs was installed from rpmfusion repos. Reading the source code: #if HAVE_LIBAVFORMAT camera = new RemoteCameraRtsp( ... ); #else // HAVE_LIBAVFORMAT Fatal( You must have ffmpeg libraries installed to use remote camera protocol '%s' for monitor %d, protocol.c_str(), id ); #endif // HAVE_LIBAVFORMAT The ffmpeg libraries (ffmpeg-devel) must be available when zoneminder is compiled. Mogens I have been installed ffmpeg-devel, but it was not helpful. This is complete log, when I enable camera with mpeg4 profile: Apr 20 14:29:02 crainevidsrv zmc_m3[10297]: INF [Debug Level = 0, Debug Log = none] Apr 20 14:29:02 crainevidsrv zmc_m3[10297]: FAT [You must have ffmpeg libraries installed to use remote camera protocol 'rtsp' for monitor 3] Apr 20 14:29:02 crainevidsrv zmdc[10223]: INF ['zmc -m 3' crashed, signal 6] Apr 20 14:29:04 crainevidsrv zmwatch[10259]: ERR [Can't get shared memory id '7a6d0003', 3: No such file or directory] Apr 20 14:29:09 crainevidsrv zms[10299]: INF [Debug Level = 0, Debug Log = none] Apr 20 14:29:09 crainevidsrv zms[10299]: FAT [You must have ffmpeg libraries installed to use remote camera protocol 'rtsp' for monitor 3] Apr 20 14:29:09 crainevidsrv zms[10299]: INF [Got signal 6 (Aborted), exiting and forcing backtrace] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Signal address is (nil), from 0xf76416] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Backtrace: [0xf76416]] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Backtrace: [0xf76416]] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Backtrace: /lib/libc.so.6(gsignal+0x51) [0xa17a81]] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Backtrace: /lib/libc.so.6(abort+0x17a) [0xa1934a]] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Backtrace: /usr/libexec/zoneminder/cgi-bin/nph-zms() [0x805443d]] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Backtrace: /usr/libexec/zoneminder/cgi-bin/nph-zms() [0x80706e9]] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Backtrace: /usr/libexec/zoneminder/cgi-bin/nph-zms() [0x807b982]] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Backtrace: /usr/libexec/zoneminder/cgi-bin/nph-zms() [0x804c08c]] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Backtrace: /lib/libc.so.6(__libc_start_main+0xe6) [0xa03bb6]] Apr 20 14:29:09 crainevidsrv zms[10299]: ERR [Backtrace: /usr/libexec/zoneminder/cgi-bin/nph-zms() [0x804b731]] Apr 20 14:29:09 crainevidsrv zms[10299]: INF [Backtrace complete, please execute the following command for more information] Apr 20 14:29:09 crainevidsrv zms[10299]: INF [addr2line -e /usr/libexec/zoneminder/cgi-bin/nph-zms() 0xf76416 0xf76416 0xa17a81 0xa1934a 0x805443d 0x80706e9 0x807b982 0x804c08c 0xa03bb6 0x804b -- users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Re: zoneminder AXIS mpeg4 ffmpeg-libraries
Mogens Kjaer wrote: On 04/20/2010 01:23 PM, Nikolay Yatsyshyn wrote: ... I have been installed ffmpeg-devel, but it was not helpful. This is complete log, when I enable camera with mpeg4 profile: You'll need to recompile zoneminder. You can't use the version of zoneminder from the fedora repository. Mogens Ok, I have downloaded srpm with yumdownloader --source zoneminder rpm -ivh zoneminder-1.24.2-3.fc12.src.rpm. zoneminder from repos was compiled with: %configure \ --with-libarch=%{_lib} \ --with-mysql=%{_prefix} \ --with-webdir=%{_datadir}/%{name}/www \ --with-cgidir=%{_libexecdir}/%{name}/cgi-bin \ --with-webuser=%{zmuid} \ --with-webgroup=%{zmgid} \ --disable-debug \ $OPTS make %{?_smp_mflags} %{__perl} -pi -e 's/(ZM_WEB_USER=).*$/${1}%{zmuid_final}/;' \ -e 's/(ZM_WEB_GROUP=).*$/${1}%{zmgid_final}/;' zm.conf so I have added: --with-ffmpeg \ --with-extralibs="-lmp3lame" but still get: FAT [You must have ffmpeg libraries installed to use remote camera protocol 'rtsp' for monitor 3]. Where can I get a complete list of extralibs to put valid options as "-lmp3lame" in config? I think it need to put something like "-lrtsp", but I don't know which option is valid. I know only ffmpeg -formats. -- users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Re: zoneminder AXIS mpeg4 ffmpeg-libraries
Mogens Kjaer wrote: On 04/20/2010 02:41 PM, Nikolay Yatsyshyn wrote: Mogens Kjaer wrote: On 04/20/2010 01:23 PM, Nikolay Yatsyshyn wrote: ... I have been installed ffmpeg-devel, but it was not helpful. This is complete log, when I enable camera with mpeg4 profile: You'll need to recompile zoneminder. You can't use the version of zoneminder from the fedora repository. Mogens Ok, I have downloaded srpm with yumdownloader --source zoneminder rpm -ivh zoneminder-1.24.2-3.fc12.src.rpm. zoneminder from repos was compiled with: %configure \ --with-libarch=%{_lib} \ --with-mysql=%{_prefix} \ --with-webdir=%{_datadir}/%{name}/www \ --with-cgidir=%{_libexecdir}/%{name}/cgi-bin \ --with-webuser=%{zmuid} \ --with-webgroup=%{zmgid} \ --disable-debug \ $OPTS make %{?_smp_mflags} %{__perl} -pi -e 's/(ZM_WEB_USER=).*$/${1}%{zmuid_final}/;' \ -e 's/(ZM_WEB_GROUP=).*$/${1}%{zmgid_final}/;' zm.conf so I have added: --with-ffmpeg \ --with-extralibs=-lmp3lame but still get: FAT [You must have ffmpeg libraries installed to use remote camera protocol 'rtsp' for monitor 3]. Where can I get a complete list of extralibs to put valid options as -lmp3lame in config? I think it need to put something like -lrtsp, but I don't know which option is valid. I know only ffmpeg -formats. Is HAVE_LIBAVFORMAT set to 1 in config.h in the BUILD directory? Else search for ffmpeg in config.log in the same directory. Mogens Nothing about. I think issue is going from: configure:10445: checking libavutil/avutil.h usability configure:10462: g++ -c -O2 -g -march=i386 -mtune=i686 -Iyes/include conftest.cpp 5 conftest.cpp:128:30: error: libavutil/avutil.h: No such file or directory and finally got: ac_cv_header_ffmpeg_avcodec_h=no ac_cv_header_ffmpeg_avformat_h=no ac_cv_header_ffmpeg_avutil_h=no ac_cv_header_ffmpeg_swscale_h=no ac_cv_header_libavcodec_avcodec_h=no ac_cv_header_libavformat_avformat_h=no ac_cv_header_libavutil_avutil_h=no # rpm -ql ffmpeg-devel /usr/include/ffmpeg /usr/include/ffmpeg/libavcodec /usr/include/ffmpeg/libavcodec/avcodec.h so neither --libdir=/usr/include/ffmpeg, not --with-ffmpeg=/usr/include/ffmpeg not help me, how to correctly include valid path? -- users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Re: zoneminder AXIS mpeg4 ffmpeg-libraries
Mohamed El Morabity wrote: 2010/4/20 Mohamed El Morabity pikachu.2...@gmail.com mailto:pikachu.2...@gmail.com 2010/4/20 Nikolay Yatsyshyn kof...@gmail.com mailto:kof...@gmail.com Mogens Kjaer wrote: On 04/20/2010 02:41 PM, Nikolay Yatsyshyn wrote: Mogens Kjaer wrote: On 04/20/2010 01:23 PM, Nikolay Yatsyshyn wrote: ... I have been installed ffmpeg-devel, but it was not helpful. This is complete log, when I enable camera with mpeg4 profile: You'll need to recompile zoneminder. You can't use the version of zoneminder from the fedora repository. Mogens Ok, I have downloaded srpm with yumdownloader --source zoneminder rpm -ivh zoneminder-1.24.2-3.fc12.src.rpm. zoneminder from repos was compiled with: %configure \ --with-libarch=%{_lib} \ --with-mysql=%{_prefix} \ --with-webdir=%{_datadir}/%{name}/www \ --with-cgidir=%{_libexecdir}/%{name}/cgi-bin \ --with-webuser=%{zmuid} \ --with-webgroup=%{zmgid} \ --disable-debug \ $OPTS make %{?_smp_mflags} %{__perl} -pi -e 's/(ZM_WEB_USER=).*$/${1}%{zmuid_final}/;' \ -e 's/(ZM_WEB_GROUP=).*$/${1}%{zmgid_final}/;' zm.conf so I have added: --with-ffmpeg \ --with-extralibs=-lmp3lame but still get: FAT [You must have ffmpeg libraries installed to use remote camera protocol 'rtsp' for monitor 3]. Where can I get a complete list of extralibs to put valid options as -lmp3lame in config? I think it need to put something like -lrtsp, but I don't know which option is valid. I know only ffmpeg -formats. Is HAVE_LIBAVFORMAT set to 1 in config.h in the BUILD directory? Else search for ffmpeg in config.log in the same directory. Mogens Nothing about. I think issue is going from: configure:10445: checking libavutil/avutil.h usability configure:10462: g++ -c -O2 -g -march=i386 -mtune=i686 -Iyes/include conftest.cpp 5 conftest.cpp:128:30: error: libavutil/avutil.h: No such file or directory and finally got: ac_cv_header_ffmpeg_avcodec_h=no ac_cv_header_ffmpeg_avformat_h=no ac_cv_header_ffmpeg_avutil_h=no ac_cv_header_ffmpeg_swscale_h=no ac_cv_header_libavcodec_avcodec_h=no ac_cv_header_libavformat_avformat_h=no ac_cv_header_libavutil_avutil_h=no # rpm -ql ffmpeg-devel /usr/include/ffmpeg /usr/include/ffmpeg/libavcodec /usr/include/ffmpeg/libavcodec/avcodec.h so neither --libdir=/usr/include/ffmpeg, not --with-ffmpeg=/usr/include/ffmpeg not help me, how to correctly include valid path? -- users mailing list users@lists.fedoraproject.org mailto:users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Hi, according to the configure.ac http://configure.ac/ file provided in the sources, paths to ffmpeg headers and librairies are set from the value FFMPEG_PREFIX given to --with-ffmpeg like this (line 79): FFMPEG_LIBS=-L${FFMPEG_PREFIX}/${LIB_ARCH} FFMPEG_CFLAGS=-I${FFMPEG_PREFIX}/include whereas it should be (if we use ffmpeg from RPM Fusion and with --with-ffmpeg=/usr): FFMPEG_LIBS=-L${FFMPEG_PREFIX}/${LIB_ARCH}/ffmpeg FFMPEG_CFLAGS=-I${FFMPEG_PREFIX}/include/ffmpeg Or maybe even better (more portable): FFMPEG_LIBS=`pkg-config --libs libavcodec libavformat` FFMPEG_CFLAGS=`pkg-config --cflags libavcodec libavformat` Anyway this would need to regenerate the configure script using the autotools (autoreconf and such...). Sorry, for the last lines, I mean: FFMPEG_LIBS=`pkg-config --libs libavcodec libavutil` FFMPEG_CFLAGS=`pkg-config --cflags libavcodec libavutil` ffmpeg was detected successfully with: configure:8376: checking for ffmpeg configure:8392: found /usr/bin/ffmpeg configure:8404: result: yes configure:8414: checking for ffmpeg configure:8432: found /usr/bin/ffmpeg configure:8444: result: /usr/bin/ffmpeg # rpm -ql ffmpeg /usr/bin/ffmpeg ffmpeg-devel was installed headers to: /usr/include/ffmpeg