It appears you have wrong version of ffmpeg. Make sure you build ffmpeg from git rather than subversion. The instructions I give are not 100% complete either, I do not have any instructions for database creation as I assumed the person I tried to help already had their database set up. I will write a complete set of instructions when I have a little time. The instructions in the wiki (Ubuntu Server 11.04 64-bit with ZoneMinder 1.24.x from SVN, FFmpeg, libjpeg-turbo, Webmin, Cambozola) need to be edited as part of the steps are no longer necessary with the updates of zoneminder and the some of the library paths have changed.
These steps are no longer necessary.
Code: Select all
cd /usr/src/zm/src && nano zm_utils.cpp
#Insert the following line after other includes,then Ctrl-o to save, Ctrl-x to exit nano
#include <cstdio>
###Edit files below, or ZoneMinder will not compile (depricated as of May 13th, look at update below.)
#
###nano src/zm_ffmpeg_camera.cpp # change “CODEC_TYPE_VIDEO” to “AVMEDIA_TYPE_VIDEO”
###nano src/zm_mpeg.cpp # change “PKT_FLAG_KEY” to “AV_PKT_FLAG_KEY”
###nano src/zm_mpeg.cpp # change “CODEC_TYPE_VIDEO” to “AVMEDIA_TYPE_VIDEO”
###nano src/zm_remote_camera_rtsp.cpp # change as before
###nano src/zm_rtsp.cpp # change as before
###nano src/zm_sdp.cpp # change all CODEC_TYPE_ to AVMEDIA_TYPE_
###nano src/zm_sdp.h # change “enum CodecType” to “enum AVMediaType”
#UPDATE May 13th, thanks to Nogero (http://www.zoneminder.com/forums/viewtopic.php?f=21&t=17621)
### script to edit cpp files using sed so they compile on Ubuntu 11.04
sed 's/CODEC_TYPE_VIDEO/AVMEDIA_TYPE_VIDEO/g' zm_ffmpeg_camera.cpp > /tmp/ptmp.cpp ; mv /tmp/ptmp.cpp zm_ffmpeg_camera.cpp
sed 's/PKT_FLAG_KEY/AV_PKT_FLAG_KEY/g' zm_mpeg.cpp > /tmp/ptmp.cpp ; mv /tmp/ptmp.cpp zm_mpeg.cpp
sed 's/CODEC_TYPE_VIDEO/AVMEDIA_TYPE_VIDEO/g' zm_mpeg.cpp > /tmp/ptmp.cpp ; mv /tmp/ptmp.cpp zm_mpeg.cpp
# zm_remote_camera_rtsp.cpp # change as before
sed 's/PKT_FLAG_KEY/AV_PKT_FLAG_KEY/g' zm_remote_camera_rtsp.cpp > /tmp/ptmp.cpp ; mv /tmp/ptmp.cpp zm_remote_camera_rtsp.cpp
sed 's/CODEC_TYPE_VIDEO/AVMEDIA_TYPE_VIDEO/g' zm_remote_camera_rtsp.cpp > /tmp/ptmp.cpp ; mv /tmp/ptmp.cpp zm_remote_camera_rtsp.cpp
# zm_rtsp.cpp # change as before
sed 's/PKT_FLAG_KEY/AV_PKT_FLAG_KEY/g' zm_rtsp.cpp > /tmp/ptmp.cpp ; mv /tmp/ptmp.cpp zm_rtsp.cpp
sed 's/CODEC_TYPE_VIDEO/AVMEDIA_TYPE_VIDEO/g' zm_rtsp.cpp > /tmp/ptmp.cpp ; mv /tmp/ptmp.cpp zm_rtsp.cpp
sed 's/CODEC_TYPE_/AVMEDIA_TYPE_/g' zm_sdp.cpp > /tmp/ptmp.cpp ; mv /tmp/ptmp.cpp zm_sdp.cpp
sed 's/enum CodecType/enum AVMediaType/g' zm_sdp.h > /tmp/ptmp.cpp ; mv /tmp/ptmp.cpp zm_sdp.h
# -------------- end of script -----------------
These library paths have changed if you are building zoneminder from scratch:
Code: Select all
ln -s /opt/libjpeg-turbo/lib/libjpeg.a /usr/lib/libjpeg.a && \
ln -s /opt/libjpeg-turbo/include/jconfig.h /usr/include/jconfig.h && \
ln -s /opt/libjpeg-turbo/include/jerror.h /usr/include/jerror.h && \
ln -s /opt/libjpeg-turbo/include/jmorecfg.h /usr/include/jmorecfg.h && \
ln -s /opt/libjpeg-turbo/include/jpeglib.h /usr/include/jpeglib.h
#######################
#Configure Lib Paths#
#######################
echo "/opt/libjpeg-turbo/lib" > /etc/ld.so.conf.d/libjpeg-turbo.conf && \
echo "/usr/local/lib" > /etc/ld.so.conf.d/ffmpeg.conf && \
echo "LD_LIBRARY_PATH=/usr/local/lib:/opt/libjpeg-turbo/lib:$LD_LIBRARY_PATH" >> /etc/bash.bashrc && \
echo "export LD_LIBRARY_PATH" >> /etc/bash.bashrc
I have the correct paths in the help instructions.