Reputation: 63
I'm trying to install FFMPEG on my Raspeberry following this procedure: https://gist.github.com/adddog/d82581faf10d666d35b9771eaa65d5ac.
While doing this step of the procedure:
sudo apt-get install -y xserver-xorg-dev libxext-dev build-essential libxi-dev libglu1-mesa-dev libglew-dev
wget http://www.ijg.org/files/jpegsrc.v9c.tar.gz
tar xvfz jpegsrc*
cd jpeg-9c
./configure --enable-shared --prefix=$CONFIGURE_PREFIX
make -j4
sudo make install
I'm getting this error while compiling:
libavcodec/libfdk-aacenc.c:289:34: error: ‘AACENC_InfoStruct {aka struct <anonymous>}’ has no member named ‘encoderDelay’; did you mean ‘nDelay’?
Can you please help me? Whithout solving this issue I cannot install FFMPEG at all.
Thanks, Claudio
Upvotes: 0
Views: 831
Reputation: 133673
You're trying to install FFmpeg 3.4, which is old, with libfdk-aacenc from its master branch, which is new.
It appears there is an API break beginning with libfdk-aac v2. It has been fixed in since FFmpeg 4.0, but not backported to FFmpeg 3.4.
Use FFmpeg from the master branch, or try to at least use FFmpeg 4.2. Alternatively, use an old libfdk-aac version if you're stuck using FFmpeg 3.4.
Since you removed the ffmpeg source code directory, and/or because you did not integrate the installation into your package management system (such as with checkinstall
), you'll have to manually uninstall the ffmpeg files. One way to do that is to re-run the ffmpeg instructions and then run sudo make uninstall
:
git clone --depth 1 -b release/3.4 https://github.com/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg
./configure --arch=armel --target-os=linux --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-mmal --enable-omx --enable-omx-rpi --enable-decoder=h264_mmal --enable-decoder=mpeg2_mmal --enable-encoder=h264_omx --enable-encoder=h264_omx --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-gpl --enable-pthreads --enable-runtime-cpudetect --enable-openssl --bindir="/usr/local/bin"
make -j3
sudo make uninstall
You can download a simple snapshot because you don't need to download the complete git history which is a waste of time and bandwidth (or add --depth 1
to your git
commands):
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
Then continue with your ./configure
, make
, sudo make install
, etc.
Upvotes: 1