最近在CentOS7 下編譯了FFMpeg,整理了下過程:
1.依賴庫整理:
libffi-3.0.13-11.el7.x86_64.rpm
libffi-devel-3.0.13-11.el7.x86_64.rpm
libdrm-2.4.56-2.el7.x86_64.rpm
libdrm-devel-2.4.56-2.el7.x86_64.rpm
expat-2.1.0-8.el7.x86_64.rpm
expat-devel-2.1.0-8.el7.x86_64.rpm
yasm-1.2.0-4.el7.x86_64.rpm
lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
以下幾個需要依賴庫比較多,建議通過倉庫直接裝,或根據yum提示自行準備庫:
yum install xmlto
yum install graphviz
yum install cmake
yum install automake libtool
因爲我們還要直接調用libva的X11接口,所以
yum install xorg-x11*
2.準備wayland:
yum install libpciaccess-devel
git://anongit.freedesktop.org/wayland/wayland
3. 開始編譯:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
#首先編譯wayland
cd wayland
./autogen.sh
make
make install
#這個環境變量目的是把O2去掉,方便調試看結果
export CFLAGS=-g
#編譯libva和intel驅動
cd libva-1.6.0
autoreconf
./configure
#我們的LIBVA需要和INTEL DRIVER互相冗餘依賴,因此test用例過不了,所以此時還需要把Makefile.am裏面的SUBDIRS的test刪除
make
make install
cd libva-intel-driver-1.6.0
autoreconf
./configure
make
make install
#編譯x264
cd x264-snapshot-20141218-2245
./configure --enable-pic --enable-shared
make
make install
#編譯x265
cd x265_1.7
cd build/linux/
./make-Makefiles.bash
make
make install
#最後編譯FFMpeg
#./configure --enable-libx264 --enable-libx265 --enable-gpl --enable-shared --enable-libopus --enable-libfdk-aac --disable-static --enable-nonfree --disable-optimizations --disable-stripping
#由於我們的Libva做過改動,存在着驅動和外層依賴,因此需要編譯依賴Intel driver
export LD_LIBRARY_PATH="/usr/local/lib:/usr/lib:/lib:/opt/DynamicCodecHard"
./configure --enable-libx264 --enable-libx265 --enable-gpl --enable-shared --disable-optimizations --disable-stripping --extra-ldflags="-L/usr/local/lib -lva -lva-drm -lva-x11 -li965_drv_video"
#不touch的話一個個改太累了
touch /usr/local/include/windows.h
make
make install