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

时间:2015-11-17 13:56:46

标签: compiler-errors ffmpeg ubuntu-14.04 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 $4"+git"$5}')" --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

安装跛脚

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存储库进行了一些更改。 那么,有没有人有任何关于我应该如何解决这个问题的提示?

1 个答案:

答案 0 :(得分:5)

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

它已在提交6540fe04a3f9a11ba7084a49b3ee5fa2fc5b32ab上修复。

获取git主人,而不是2.8版本。