在 Ubuntu 14.04 LTS 上安装 FFmpeg 在 libvpx 上失败

Installing FFmpeg on Ubuntu 14.04 LTS fails on libvpx

这是我目前正在关注的过程:

安装依赖项

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

安装 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 "+git"}')" --backup=no --deldoc=yes

安装 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

安装 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

安装 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

此处,在编译FFmpeg时,出现以下错误导致安装失败:

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

我认为最近对 libvpx 存储库进行了一些更改。 那么,有人对我应该如何解决这个问题有任何提示吗?

门票:https://trac.ffmpeg.org/ticket/4956

已在提交 6540fe04a3f9a11ba7084a49b3ee5fa2fc5b32ab 时修复。

获取 git master,而不是 2.8 版本。