成功编译FFmpeg中步骤
- 进入down好的FFmpeg目录下,配置编译选项config
$ ./configure --prefix=/usr/local/ffmpeg/ --enable-gpl --enable-version3 --enable-shared --disable-w32threads
--disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2
--enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist
--enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca
--enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi
--enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2
--enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation
--enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab
--enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec
--enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan
--enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt
--enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame
--enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus
--enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite
--enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
prefix是指定安装路径
shard是指定生成dyn库
如果要对源码进行操作还可以-enable-debug=3
具体细节可以键入:
$ ./configure --help
可以用grep进行过滤
- make -j 4
进行make编译,-j是指定4个进程并发进行,增加编译的speed
$ make -j 4
- 安装
$ sudo make install
- 配置环境变量
linux是在~/.bashrc中,进入此文件在最后加入:
export PATH="/usr/local/ffmpeg/bin/:$PATH"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/ffmpeg/lib"
最后souce一下
其中如果不加入LD_LIBRARY_PATH的话,我们进入到安装目录执行./ffmpeg就会可能出现下面的状况:
./ffmpeg: error while loading shared libraries: libavdevice-58.so: cannot open shared object file: No such file or directory