This is the process I'm currently following:
Install the Dependencies
sudo apt-get remove ffmpeg x264 libx264-dev
sudo apt-get update
sudo apt-get install build-essential subversion git-core checkinstall texi2html \
libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev \
libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev libavcodec-dev
Install x264
cd /opt
git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-static --disable-opencl
make
sudo checkinstall --pkgname=x264 --default --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes
Install libvpx
cd /opt
git clone https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure
make
sudo checkinstall --pkgname=libvpx --pkgversion="`date +%Y%m%d%H%M`-git" --backup=no \
--default --deldoc=yes
Install lame
sudo apt-get remove libmp3lame-dev
sudo apt-get install nasm
cd /opt
wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz
tar xzvf lame-3.98.4.tar.gz
cd lame-3.98.4
./configure --enable-nasm --disable-shared
make
sudo checkinstall --pkgname=lame-ffmpeg --pkgversion="3.98.4" --backup=no --default --deldoc=yes
Install FFMpeg
cd /opt
git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
git checkout release/2.8
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc \
--enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb \
--enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid \
--enable-x11grab --enable-libvpx --enable-libmp3lame
make
Here, while compiling FFmpeg, I get the following error causing the installation to fail:
libavcodec/libvpxenc.c:107:6: error: ‘VP8E_UPD_ENTROPY’ undeclared here (not in a function)
[VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY",
^
libavcodec/libvpxenc.c:107:5: error: array index in initializer not of integer type
[VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY",
^
libavcodec/libvpxenc.c:107:5: error: (near initialization for ‘ctlidstr’)
libavcodec/libvpxenc.c:108:6: error: ‘VP8E_UPD_REFERENCE’ undeclared here (not in a function)
[VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE",
^
libavcodec/libvpxenc.c:108:5: error: array index in initializer not of integer type
[VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE",
^
libavcodec/libvpxenc.c:108:5: error: (near initialization for ‘ctlidstr’)
libavcodec/libvpxenc.c:109:6: error: ‘VP8E_USE_REFERENCE’ undeclared here (not in a function)
[VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE",
^
libavcodec/libvpxenc.c:109:5: error: array index in initializer not of integer type
[VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE",
^
libavcodec/libvpxenc.c:109:5: error: (near initialization for ‘ctlidstr’)
make: *** [libavcodec/libvpxenc.o] Error 1
I think its about some recent changes have been made to libvpx repository. So, does anyone has any hint on how should I troubleshoot this?
Ticket: https://trac.ffmpeg.org/ticket/4956
It was fixed on commit 6540fe04a3f9a11ba7084a49b3ee5fa2fc5b32ab.
Get the git
master, not the 2.8 release.