1 Downlod
git clone https://github.com/Intel-FFmpeg-Plugin/Intel_FFmpeg_plugins.git
2 Config libmfx
cd /opt/intel/mediasdk/include
sudo mkdir mfx
sudo cp *.h mfx/
touch libmfx.pc
add the following lines to libmfx.pc
prefix=/opt/intel/mediasdk
exec_prefix=/opt/intel/mediasdk/
libdir=${prefix}/lib/lin_x64/
includedir=${prefix}/include/
Name: libmfx
Description: mfx
Version: 1.0.0
Cflags: -I${includedir}
Libs: -L${libdir} -lmfx -ldl -lstdc++ -lrt -lva -lva-drm
Libs.private: -lstdc++ -ldl
sudo cp libmfx.pc /usr/lib64/pkgconfig
pkg-config --modversion libmfx
3 Install yasm
sudo yum install -y yasm
or
wget -c http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
./configure --prefix=/usr --libdir=/usr/lib64
make -j4
sudo make install
yasm –version
4. install libx264
git clone http://git.videolan.org/git/x264.git
cd x264/
./configure --prefix=/usr --libdir=/usr/lib64 --enable-static --disable-cli
make -j4
sudo make install
pkg-config --modversion x264
5. Install libvpx 1.6.0
git clone https://github.com/webmproject/libvpx.git
cd libvpx/
./configure --prefix=/usr --libdir=/usr/lib64 --enable-static --disable-shared --disable-libyuv --disable-avx --disable-avx2
make -j4
sudo make install
pkg-config --modversion vpx
6. Install libfdk-aac 0.1.5
git clone https://github.com/mstorsjo/fdk-aac.git
cd fdk-aac/
./autogen.sh
./configure --prefix=/usr --libdir=/usr/lib64 --enable-static --disable-shared
make -j4
sudo make install
pkg-config --modversion fdk-aac
7. Compile ffmepg_qsv
./configure --prefix=/usr --libdir=/usr/lib64 --enable-nonfree --disable-static --enable-shared --enable-opencl --enable-libmfx --enable-memalign-hack --enable-gpl --disable-libfdk-aac --enable-libx264 --extra-cflags=-I/opt/intel/opencl/include --extra-ldflags=-L/opt/intel/opencl
make -j8
sudo make install
错误解决
如果出现乱码,检查libmfx.pc是不是拷贝的过程中出现win到unix字符编码不一致
如果出现以下错误
/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libx264.a(common.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libx264.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
用yum安装x264-devel
sudo yum install -y x264-devel
- -fPIC
如果报错
relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
在从figure后面加上
--enable-pic
即
./configure --prefix=/usr --libdir=/usr/lib64 --enable-nonfree --disable-static --enable-shared --enable-opencl --enable-libmfx --enable-memalign-hack --enable-gpl --disable-libfdk-aac --enable-libx264 --extra-cflags=-I/opt/intel/opencl/include --extra-ldflags=-L/opt/intel/opencl --enable-pic
参考